Harting Development

Linux Screen: Ein virtueller Terminal-Multiplexer für effizientes Arbeiten

Lukas Fuchs vor 7 Monaten in  Entwicklung 3 Minuten Lesedauer

Was ist Linux Screen?

Screen ist ein virtueller Terminal-Multiplexer, der es dir ermöglicht, mehrere textbasierte Sitzungen oder "Fenster" gleichzeitig auf einem einzigen Terminal zu erstellen, zu verwalten und zwischen ihnen zu wechseln. Mit Screen kannst du:

Kontrolliere mehrere Sitzungen

Screen ermöglicht es dir, verschiedene Sitzungen mit unterschiedlichen laufenden Programmen zu erstellen. Du kannst zwischen diesen Sitzungen wechseln, ohne den Befehl, den du in der vorherigen Sitzung ausgeführt hast, zu unterbrechen.

Trenne und befestige Sitzungen

Screen gibt dir die Möglichkeit, deine Sitzungen zu trennen und zu einem späteren Zeitpunkt wieder an sie anzuschließen. Dies ist besonders nützlich, wenn du von mehreren Terminals aus arbeiten musst oder wenn du eine Sitzung für das spätere Debugging unterbrechen musst.

Bildschirmfreigabe

Mit Screen kannst du deine Sitzungen mit anderen Benutzern teilen, sodass ihr gemeinsam an Projekten arbeiten oder euch gegenseitig bei der Fehlersuche helfen könnt.

Warum sollte ich Linux Screen verwenden?

Screen ist ein unverzichtbares Tool für alle, die produktiver und effizienter in Linux-Umgebungen arbeiten möchten. Es bietet eine Vielzahl von Vorteilen, die deinen Arbeitsablauf vereinfachen und deine Produktivität steigern:

### Mehrere Terminal-Sitzungen in einem Fenster

Mit Screen kannst du mehrere Terminal-Sitzungen in einem einzigen Fenster ausführen. Dies ermöglicht es dir, verschiedene Aufgaben nebeneinander auszuführen, ohne zwischen mehreren Fenstern hin- und herwechseln zu müssen.

### Trennung und Wiederaufnahme von Sitzungen

Screen ermöglicht es dir, dich von deinen Sitzungen zu trennen und sie später wieder aufzunehmen. Dies ist besonders nützlich, wenn du deine Arbeit unterbrechen musst, aber deine Sitzungen nicht beenden möchtest. Wenn du dich wieder anmeldest, werden deine Sitzungen genau so fortgesetzt, wie du sie verlassen hast.

### Zusammenarbeit und Bildschirmfreigabe

Screen unterstützt die Zusammenarbeit durch Bildschirmfreigabe. Du kannst deine Sitzungen mit anderen Benutzern teilen, damit sie Code überprüfen, Probleme beheben oder gemeinsam an Projekten arbeiten können.

### Befehlszeilen-Skripterstellung und Automatisierung

Screen bietet eine leistungsstarke Befehlszeile und Skriptunterstützung, die die Automatisierung komplexer Aufgaben ermöglicht. Du kannst benutzerdefinierte Befehle erstellen, um Sitzungen zu verwalten, Fenster anzuordnen und Makros auszuführen.

### Verwaltung mehrerer Hosts

Wenn du auf mehreren Remote-Hosts arbeiten musst, kann Screen dabei helfen, deine Sitzungen zentral zu verwalten. Du kannst dich von einem einzigen Terminalfenster aus mit verschiedenen Hosts verbinden und zwischen ihnen wechseln.

### Unterstützung für GUIs und X Window System

Screen ist nicht nur auf die Befehlszeile beschränkt. Es unterstützt auch grafische Benutzeroberflächen (GUIs) und das X Window System. Dies ermöglicht die Ausführung von X-Anwendungen in Screen-Sitzungen, sodass du eine vollständige Desktop-Umgebung innerhalb eines Terminalfensters haben kannst.

Vorteile der Verwendung von Linux Screen

Linux Screen bietet eine Vielzahl von Vorteilen, die deine Produktivität und Effizienz steigern können:

Mehrere Sitzungen in einem einzigen Fenster

Mit Screen kannst du mehrere Terminalsitzungen in einem einzigen Fenster öffnen und verwalten. Dies ist besonders nützlich, wenn du an mehreren Projekten gleichzeitig arbeitest oder verschiedene Befehlszeilentools überwachen musst.

Trennen und Anhängen von Sitzungen

Einer der Hauptvorteile von Screen ist die Möglichkeit, sich von Sitzungen zu trennen und sie später wieder anzuhängen. Dies ermöglicht es dir, verschiedene Aufgaben auf demselben Rechner auszuführen, ohne deine aktuelle Arbeit zu unterbrechen.

Bildschirmfreigabe und Zusammenarbeit

Screen bietet integrierte Unterstützung für die Bildschirmfreigabe, sodass du deinen Bildschirm mit anderen Benutzern teilen und gemeinsam an Projekten arbeiten kannst.

Stabilität und Zuverlässigkeit

Da Screen ein eigenständiger Prozess ist, der von deiner Shell unabhängig läuft, bleibt er auch bei Netzwerkproblemen oder Abstürzen deiner Shell stabil.

Konfigurierbarkeit

Screen ist hochgradig konfigurierbar, sodass du es an deine spezifischen Bedürfnisse anpassen kannst. Du kannst Hotkeys, Fensterlayouts und sogar das Aussehen der Benutzeroberfläche anpassen.

Ressourcensparend

Im Vergleich zu anderen Terminal-Multiplexern ist Screen relativ ressourcensparend und verbraucht nur minimale Systemressourcen, selbst wenn mehrere Sitzungen ausgeführt werden.

Erweiterte Funktionen

Neben den grundlegenden Funktionen bietet Screen erweiterte Funktionen wie Fensterprotokollierung, Makroaufzeichnung und sogar die Möglichkeit, Sitzungen in Containern auszuführen.

Grundlegende Befehle und Funktionen von Linux Screen

Wenn du mit Linux Screen arbeitest, stehen dir eine Reihe nützlicher Befehle und Funktionen zur Verfügung, die deine Produktivität erheblich steigern können. Hier einige der wichtigsten Funktionen:

Fensterverwaltung

  • screen -S <Sitzungsname>: Erstellt eine neue Screen-Sitzung mit dem angegebenen Namen.
  • screen -r <Sitzungsname>: Tauscht zu einer bestehenden Screen-Sitzung mit dem angegebenen Namen.
  • Ctrl + a c: Erstellt ein neues Fenster.
  • Ctrl + a n/p: Wechselt zum nächsten/vorherigen Fenster.
  • Ctrl + a w: Schließt das aktuelle Fenster.

Sitzungsverwaltung

  • Ctrl + a d: Trennt dich von der aktuellen Sitzung, behält sie aber im Hintergrund.
  • screen -d -RR <Sitzungsname>: Hängt dich an eine Sitzung an, die gerade im Hintergrund läuft.
  • screen -X quit: Beendet die aktuelle Sitzung.

Fensterfreigabe

  • screen -x <Benutzername>:<Sitzungsname>: Ermöglicht es einem anderen Benutzer, auf deine Sitzung zuzugreifen.
  • Ctrl + a :lock: Sperrt die Sitzung und verhindert den Zugriff anderer Benutzer.
  • Ctrl + a :unlock: Entsperrt die Sitzung.

Sonstige Befehle

  • **Ctrl + a : Ruft das Screen-Befehlsmenü auf.
  • Ctrl + a ?: Zeigt eine Liste aller Befehle an.
  • screen -ls: Listet alle laufenden Screen-Sitzungen auf.
  • screen -wipe: Löscht alle Screen-Sitzungen.

Erstellen und Verwalten von Sitzungen

Wenn du mit Linux Screen arbeitest, kannst du mehrere virtuelle Terminals innerhalb derselben Shell-Sitzung erstellen und verwalten. Dies ermöglicht dir, verschiedene Aufgaben gleichzeitig auszuführen und einfach zwischen ihnen zu wechseln.

Erstellen einer neuen Sitzung

Um eine neue Screen-Sitzung zu erstellen, öffne einfach dein Terminal und gib folgenden Befehl ein:

screen

Hierdurch wird eine neue Sitzung namens "0" erstellt. Du kannst auch einen Namen für deine Sitzung angeben, indem du -S <Sitzungsname> verwendest:

screen -S meine_sitzung

Anhängen an eine Sitzung

Wenn du bereits eine Screen-Sitzung erstellt hast, kannst du dich mit folgendem Befehl daran anhängen:

screen -r <Sitzungsname oder Sitzungs-ID>

Wenn du keinen Sitzungsnamen oder keine Sitzungs-ID angibst, verbindet sich Screen mit der aktuellsten Sitzung.

Trennen von Sitzungen

Um eine Screen-Sitzung vorübergehend zu trennen, sodass du zu deiner ursprünglichen Shell zurückkehren kannst, verwendest du die Tastenkombination Strg + a + d. Um die Sitzung vollständig zu schließen, verwendest du Strg + a + k.

Sitzungen auflisten und verwalten

Du kannst eine Liste aller aktiven Screen-Sitzungen mit dem Befehl screen -ls anzeigen. Dieser Befehl zeigt dir die Sitzungsnummer, den Sitzungsnamen und den Status jeder Sitzung.

Du kannst eine Sitzung umbenennen, indem du screen -S <alt_name> -X rename <neu_name> verwendest. Zum Beispiel:

screen -S meine_alte_sitzung -X rename meine_neue_sitzung

Du kannst eine Sitzung auch mit dem Befehl screen -S <Sitzungsname oder Sitzungs-ID> -X quit schließen.

Anhängen an Sitzungen

Nachdem du eine Sitzung erstellt hast, kannst du dich jederzeit wieder mit ihr verbinden und deine Arbeit fortsetzen. Dies ist besonders nützlich, wenn du dich von deiner Sitzung getrennt hast oder wenn du an mehreren Terminals gleichzeitig arbeiten möchtest.

So hängst du dich an eine Sitzung an

Um dich an eine Sitzung anzuhängen, verwende einfach den Befehl screen -r. Du wirst dann zu deiner vorherigen Sitzung weitergeleitet.

$ screen -r

Wenn du den Namen der Sitzung kennst, kannst du sie auch direkt angeben:

$ screen -r meine_sitzung

Anhängen an eine bestimmte Fensternummer

Wenn deine Sitzung mehrere Fenster enthält, kannst du dich an ein bestimmtes Fenster anhängen, indem du seine Nummer angibst:

$ screen -r meine_sitzung:2

Dies hängt dich an das zweite Fenster in der Sitzung meine_sitzung an.

Sitzungen auflisten

Wenn du dir nicht sicher bist, welche Sitzungen derzeit laufen, kannst du den Befehl screen -ls verwenden, um eine Liste aller aktiven Sitzungen anzuzeigen.

$ screen -ls

Die Ausgabe enthält die Sitzungsnummer, den Namen und den Status jeder Sitzung.

Häufig gestellte Fragen

Kann ich mich an eine Sitzung anfügen, die auf einem anderen Host läuft?

Ja, das ist möglich, wenn du SSH verwendest. Verbinde dich einfach über SSH mit dem Host, auf dem die Sitzung läuft, und hänge dich dann mit dem Befehl screen -x an die Sitzung an:

$ ssh meinsystem
$ screen -x meine_sitzung

Was passiert, wenn ich versuche, mich an eine Sitzung anzuhängen, die bereits beendet wurde?

Wenn du versuchst, dich an eine Sitzung anzuhängen, die bereits beendet wurde, wirst du von Screen darüber informiert, dass die Sitzung nicht mehr existiert.

Trennen von Sitzungen

Wenn du deine Arbeit in einer Screen-Sitzung erledigt hast, kannst du sie trennen, ohne deine laufenden Prozesse zu beenden. Dies ermöglicht es dir, dich von der Sitzung zu entfernen und zu einem späteren Zeitpunkt wieder beizutreten.

So trennst du dich von einer Sitzung

Um dich von einer Screen-Sitzung zu trennen, verwende den folgenden Befehl:

detach

Dadurch wird deine Sitzung getrennt, aber alle Prozesse laufen weiterhin im Hintergrund. Du kannst später wieder zur Sitzung zurückkehren.

Wiederbeitreten einer Sitzung

Um einer Sitzung wieder beizutreten, verwende den folgenden Befehl:

screen -r

Wenn du mehrere Sitzungen hast, kannst du die gewünschte Sitzung anhand ihrer Sitzungsnummer angeben:

screen -r screen_name

Sitzungen auflisten

Um alle laufenden Screen-Sitzungen aufzulisten, verwende den folgenden Befehl:

screen -ls

Dies zeigt eine Liste aller Sitzungen mit ihrer Sitzungsnummer, dem Sitzungsnamen und dem Status an.

Bildschirmfreigabe und Zusammenarbeit

Mit Linux Screen kannst du deine Terminalsitzungen nicht nur mit dir selbst, sondern auch mit anderen Benutzern teilen. Dies ist eine praktische Funktion für Zusammenarbeit, Fehlerbehebung und Schulungen.

Bildschirmfreigabe

Um deine Sitzung für andere Benutzer freizugeben, kannst du den Befehl screen -x verwenden, gefolgt vom Sitzungsnamen. Alternativ kannst du auch die Tastenkombination Strg + a drücken, dann :share eingeben und die Eingabetaste drücken.

Wenn du deine Sitzung freigibst, wird ein neues Fenster für den freigegebenen Bildschirm erstellt. Andere Benutzer können sich mit diesem Fenster verbinden und deinen Bildschirm in Echtzeit sehen. Sie können jedoch nicht mit deiner Sitzung interagieren, es sei denn, du gewährst ihnen explizit Zugriff.

Zusammenarbeit

Um anderen Benutzern die Interaktion mit deiner Sitzung zu ermöglichen, kannst du die Funktion "Zugriffslisten" von Screen verwenden. Mit dieser Funktion kannst du bestimmte Benutzer autorisieren, deine Sitzung zu steuern und Befehle auszuführen.

Um eine Zugriffsliste einzurichten, verwende den Befehl screen -x, gefolgt vom Sitzungsnamen und dem Befehl -alist. Du kannst dann Benutzer zur Liste hinzufügen oder entfernen.

Fernzugriff

Du kannst mithilfe von SSH auf deine Screen-Sitzungen von einem anderen Computer aus zugreifen. Um dies zu tun, musst du zunächst den SSH-Server auf dem Hostcomputer aktivieren.

Sobald der SSH-Server aktiviert ist, kannst du dich mithilfe des Befehls ssh von einem anderen Computer aus mit dem Hostcomputer verbinden. Du kannst dann den Befehl screen -x verwenden, um auf deine Screen-Sitzungen zuzugreifen.

Konfigurieren von Linux Screen

Um Linux Screen optimal an deine Bedürfnisse anzupassen, kannst du verschiedene Konfigurationsoptionen nutzen.

Globale Konfiguration

Die globale Konfiguration befindet sich in der Datei /etc/screenrc. Diese Datei enthält Standardkonfigurationseinstellungen für alle Benutzer auf dem System. Du kannst sie zum Festlegen globaler Optionen wie der Standard-Shell, der Fenstergröße und der Tastenkombinationen verwenden.

Benutzerkonfiguration

Du kannst auch eine benutzerspezifische Konfigurationsdatei erstellen, indem du die Datei .screenrc in deinem Home-Verzeichnis ablegst. Diese Datei überschreibt die globalen Einstellungen und ermöglicht es dir, deine eigenen Präferenzen zu definieren. Beispielsweise kannst du damit die Sitzungsnamen, die Tastaturbelegungen und die Fensterfarben anpassen.

Wichtige Konfigurationsoptionen

Einige wichtige Konfigurationsoptionen, die du in Betracht ziehen solltest, sind:

  • screen -s: Legt den Standard-Sitzungsnamen fest.
  • screen -t: Gibt den Titel des Sitzungsfensters an.
  • defscrollback: Definiert die Anzahl der Zeilen, die in einem Puffer gespeichert werden.
  • term: Legt den zu verwendenden Terminaltyp fest.
  • bindkey: Verwendet zum Zuweisen von Tastenkombinationen zu bestimmten Aktionen.

Erweitertes Konfigurieren

Für weitergehende Konfigurationen kannst du auch das Tool screenctl verwenden. Mit screenctl kannst du erweiterte Einstellungen wie die Pufferverwaltung, die Fensterausrichtung und die Sitzungssicherheit vornehmen.

Tipps

  • Verwende die -R-Option beim Starten von Screen, um vorhandene Sitzungen wiederherzustellen.
  • Nutze die -S-Option, um eine bestimmte Sitzung zu starten oder wiederherzustellen.
  • Passe die Tastenkombinationen an deine bevorzugten Tastenbelegungen an.
  • Experimentiere mit verschiedenen Konfigurationsoptionen, um die optimale Konfiguration für deine Anforderungen zu finden.

Erweitertes Arbeiten mit Linux Screen

Neben den grundlegenden Befehlen und Funktionen bietet Linux Screen eine Vielzahl erweiterter Optionen für eine noch effizientere Arbeit.

Fensterverwaltung und Hotkeys

Linux Screen ermöglicht eine umfassende Fensterverwaltung. Du kannst beliebig viele Fenster erstellen und zwischen ihnen mit Tastenkombinationen oder Befehlen navigieren. Durch die Verwendung von Hotkeys kannst du schnell und einfach bestimmte Aktionen ausführen, wie z. B. das Aufteilen des Bildschirms in mehrere Fenster oder das Wechseln zum nächsten Fenster.

Sitzungsverwaltung

Linux Screen bietet eine leistungsstarke Sitzungsverwaltung. Du kannst mehrere Sitzungen gleichzeitig ausführen, jede mit ihren eigenen Fenstern und Anwendungen. Die Sitzungen können benannt und gespeichert werden, sodass du später problemlos zu ihnen zurückkehren kannst.

Fensterfreigabe und Zusammenarbeit

Linux Screen unterstützt die Fensterfreigabe. Du kannst einzelne Fenster oder ganze Sitzungen für andere Benutzer freigeben und so remote zusammenarbeiten. Dies ist besonders nützlich für Fehlerbehebung, Codeüberprüfungen oder Schulungen.

Plugins und erweiterte Funktionen

Die Funktionalität von Linux Screen kann durch die Installation von Plugins erweitert werden. Es stehen zahlreiche Plugins zur Verfügung, die zusätzliche Funktionen wie Multipanel-Management, Farbthemen und Integration mit anderen Tools bieten.

Konfigurationsmöglichkeiten

Linux Screen bietet umfassende Konfigurationsmöglichkeiten. Du kannst Einstellungen wie Tastenkombinationen, Fenstergrößen und Standardverhalten über eine Konfigurationsdatei anpassen. Dies gibt dir die Möglichkeit, die Umgebung an deine individuellen Bedürfnisse anzupassen.

Integration mit anderen Tools

Linux Screen lässt sich in verschiedene andere Tools integrieren. Beispielsweise kannst du es mit tmux kombinieren, einem weiteren Terminal-Multiplexer, um ein noch leistungsfähigeres Arbeitsumfeld zu schaffen. Darüber hinaus kannst du Screen mit ssh verwenden, um dich sicher mit Remote-Servern zu verbinden und Sitzungen aus der Ferne zu steuern.

Folge uns

Neue Posts

Beliebte Posts