So nutzen Sie screen-Befehle unter Linux effektiv

Der Linux-Befehl screen ist ein unschätzbares Werkzeug für alle, die mit Terminalsitzungen arbeiten. Er ermöglicht es, mehrere Terminalfenster innerhalb einer einzigen Terminalsitzung auszuführen, wodurch sich mehrere Prozesse gleichzeitig deutlich einfacher verwalten lassen. Ob Sie screen-Befehle für den persönlichen Gebrauch nutzen oder Remote-Server administrieren: Wenn Sie die verschiedenen screen-Befehle unter Linux verstehen, können Sie Ihre Produktivität erheblich steigern.

Dieser Leitfaden zeigt Ihnen, wie Sie screen-Befehle effektiv einsetzen, wie sie funktionieren und wie Sie Sitzungen anhand praktischer Beispiele verwalten, einschließlich nützlicher Befehle und erweiterter Optionen. Außerdem behandeln wir das Auflisten von screen-Sitzungen, screen-Flags und die Standard-Tastenkombinationen von Sitzungen, die Ihnen helfen, Ihren Terminal-Workflow zu steuern und zu optimieren.

Was ist der Befehl screen unter Linux?

Der Befehl screen unter Linux ist ein Terminal-Multiplexer, mit dem Sie mehrere virtuelle Terminals innerhalb eines einzigen physischen Terminals erstellen können. Im Grunde erzeugt er virtuelle Terminals, die Sie nach Belieben trennen und wieder verbinden können. Das ist besonders nützlich, wenn Sie lang laufende Prozesse oder Befehle ausführen müssen, die weiterlaufen sollen, auch wenn Sie die Verbindung zum Terminal trennen oder sich abmelden.

Mit dem Linux-Befehl screen können Sie mehrere Aufgaben oder Prozesse verwalten, ohne mehrere Terminalfenster zu öffnen. Da Sie sich von einer Sitzung trennen und später wieder verbinden können, lassen sich Aufgaben auch über Remote-Verbindungen nahtlos verwalten.

Mit dem Dienstprogramm screen können Sie Programme ausführen, die weiterlaufen, nachdem Sie sich abgemeldet haben oder die Verbindung zum Server unterbrochen wurde. Das ist äußerst nützlich in Umgebungen, in denen lang laufende Prozesse entscheidend sind und Unterbrechungen häufig vorkommen, etwa bei der Remote-Administration und beim Debugging.

screen-Sitzungen starten und auflisten

Einer der häufigsten Vorgänge, für die Sie screen-Befehle nutzen, ist die Verwaltung mehrerer Sitzungen. Um eine neue screen-Sitzung zu starten, verwenden Sie einfach den Befehl:

screen

Damit öffnet sich eine neue Sitzung, in der Sie Befehle ausführen können. Um eine Liste Ihrer screen-Sitzungen anzuzeigen, verwenden Sie den Befehl:

screen -ls

Die Ausgabe zeigt alle laufenden screen-Sitzungen mit ihren eindeutigen Kennungen an, etwa so:

There is a screen on:

2999.pts-6.localhost (Detached)

1920.PTS-6.localhost (Detached)

Um sich wieder mit einer Sitzung zu verbinden, verwenden Sie den Befehl screen -r mit der Sitzungs-ID:

screen -r 2999.pts-6.localhost

Damit werden Sie wieder mit der Sitzung verbunden und können dort weitermachen, wo Sie aufgehört haben. Gibt es mehrere Sitzungen, fordert Sie die Auflistung der screen-Sitzungen auf, die Sitzung anzugeben, mit der Sie sich verbinden möchten.

Dieser Befehl zum Auflisten der screen-Sitzungen ist sehr hilfreich, wenn Sie mehrere Aufgaben gleichzeitig verwalten und schnell zwischen ihnen wechseln müssen. Sie können auch den Befehl screen -r gefolgt von der Sitzungskennung verwenden, um sich sofort mit der aktiven Sitzung zu verbinden.

Grundlegende screen-Befehle und ihre Verwendung

Nachdem wir nun wissen, wie man Sitzungen startet und auflistet, sehen wir uns einige der am häufigsten verwendeten screen-Befehle an.

1. Sitzungen erstellen und verwalten

So erstellen Sie eine neue screen-Sitzung mit einem eigenen Namen:

screen -S MySession

So trennen Sie sich von einer Sitzung, ohne sie zu schließen:

Ctrl+A, D

So verbinden Sie sich nach dem Trennen wieder mit einer Sitzung:

screen -r

2. Zwischen Sitzungen navigieren

So wechseln Sie zwischen verschiedenen screen-Fenstern:

Ctrl+A, N (Next window)

Ctrl+A, P (Previous window)

So listen Sie alle Fenster Ihrer aktuellen Sitzung auf:

Ctrl+A, W

So wechseln Sie zu einem bestimmten Fenster:

Ctrl+A, 0-9 (switch to the window with this number)

Zusätzlich zu diesen Befehlen ermöglicht der Befehl screen unter Linux einen nahtlosen Wechsel zwischen mehreren Sitzungen und Fenstern. Das ist besonders nützlich, wenn Sie mehrere Prozesse gleichzeitig überwachen möchten, Ihr Terminal aber nicht mit separaten Fenstern überladen wollen.

Erweiterte screen-Befehle

Es gibt verschiedene screen-Flags, mit denen Sie das Verhalten des Befehls screen anpassen können. Diese Flags helfen dabei zu steuern, wie sich Ihre screen-Befehle unter Linux verhalten.

  • -d -m: Startet eine screen-Sitzung im getrennten Modus (ohne sich mit ihr zu verbinden).
screen -d -m top
  • -L: Aktiviert die Protokollierung für die aktuelle screen-Sitzung, wobei die Ausgabe der Sitzung in einer Datei gespeichert wird.
screen -L
  • -S: Startet eine Sitzung mit einem eigenen Namen.
screen -S MySession

Mit diesen Flags können Nutzer Aufgaben wie die Protokollierung, das Ausführen von Befehlen im Hintergrund und das Trennen von Sitzungen automatisieren, ohne laufende Prozesse zu beeinträchtigen. Der Befehl screen ist für Nutzer, die Flexibilität bei der Verwaltung ihrer Terminalsitzungen benötigen, in hohem Maße anpassbar.

screen-Sitzungen für mehrere Benutzer verwalten

Eine weitere nützliche Funktion des Befehls screen ist die Möglichkeit, eine Sitzung mit mehreren Benutzern zu teilen. Das ist vorteilhaft für die Zusammenarbeit, etwa wenn mehrere Administratoren denselben Server überwachen müssen.

Um den Mehrbenutzermodus in screen zu aktivieren, gehen Sie wie folgt vor:

 1. Starten Sie Ihre screen-Sitzung:

screen -S MySession
  • Drücken Sie Strg+A und dann :, um in den Befehlsmodus zu wechseln.
  • Geben Sie multiuser on ein und drücken Sie die Eingabetaste.
  • Nun können Sie anderen Benutzern Zugriff gewähren, indem Sie Folgendes eingeben:
Ctrl+A, :multiuser on

 2. Ein anderer Benutzer kann der Sitzung mit folgender Eingabe beitreten:

screen -x MySession

So können sich mehrere Benutzer mit derselben Sitzung verbinden, was screen für gemeinsam genutzte Terminalsitzungen oder die gemeinsame Fehlersuche nützlich macht.

Nützliche screen-Befehle für die Sitzungsverwaltung

Hier finden Sie einen kurzen Überblick über die nützlichsten screen-Befehle, die Sie kennen sollten, um Ihre screen-Sitzungen optimal zu nutzen:

Ctrl+A, C: Create a new screen window.

Ctrl+A, N: Switch to the next screen window.

Ctrl+A, P: Switch to the previous screen window.

Ctrl+A, W: View a list of all screen windows.

Ctrl+A, Ctrl+A: Switch back to the previously viewed window.

Ctrl+A, D: Detach from the current screen session.

screen -R: Reattach to a detached session.

Ctrl+A, ?: Show a list of all available commands.

Mit diesen Befehlen können Sie zwischen Sitzungen und Fenstern navigieren, zwischen Prozessen wechseln und Ihre screen-Umgebung effizient verwalten.

screen-Befehle für Protokollierung und Ausgabeerfassung

Wenn Sie die Ausgabe einer Sitzung protokollieren möchten, bietet screen eine einfache Möglichkeit, alles zu erfassen, was in einer Sitzung geschieht. Um die Protokollierung zu starten, verwenden Sie beim Starten Ihrer Sitzung einfach die Option -L:

screen -L -S MySession

Dadurch wird die gesamte Ausgabe Ihrer Sitzung standardmäßig in einer Datei namens screenlog.0 gespeichert. Sie können auch einen eigenen Dateinamen angeben:

screen -L -S MySession -Logfile /path/to/mylogfile.txt

Die Protokollierung ist nützlich, um Aufzeichnungen über lang laufende Prozesse zu führen oder zu Dokumentationszwecken.

screen-Befehle für die Prozessverwaltung

Eine leistungsstarke Funktion von screen ist die Möglichkeit, Befehle im Hintergrund auszuführen und weiterlaufen zu lassen, auch wenn die Verbindung zum Terminal getrennt wird. So können Sie screen-Befehle für die Prozessverwaltung nutzen:

  • So starten Sie einen Hintergrundprozess in einer screen-Sitzung:
screen -S MySession -d -m long-running-command
  • So beenden Sie eine Sitzung, nachdem ein Prozess abgeschlossen ist:
screen -S MySession -X quit
  • So senden Sie einen Befehl an ein screen-Fenster:
screen -S MySession -p 0 -X exec ls /home

Mit diesen Befehlen können Sie Aufgaben im Hintergrund ausführen, selbst wenn Sie die Verbindung trennen oder das Terminal schließen.

Tricks und Tipps für screen

Es gibt einige zusätzliche Tricks und Tipps, die die Arbeit mit screen noch angenehmer machen:

 1. Scrollback-Puffer: Standardmäßig können Sie in screen im Verlauf Ihrer Sitzung zurückblättern. Um nach oben zu scrollen, verwenden Sie:

Ctrl+A, ESC

Blättern Sie dann mit den Pfeiltasten im Verlauf zurück. Drücken Sie ESC, um den Scrollmodus zu verlassen.

 2. Geteilter Bildschirm: Sie können Ihr screen-Fenster in mehrere Bereiche aufteilen:

Press Ctrl+A, then S to split the screen.

Press Ctrl+A, then Tab to switch between panes.

 3. Ausgabe in eine Datei senden: Leiten Sie die Ausgabe eines laufenden Befehls mit dem Befehl screen in eine Datei um:

screen -S MySession -p 0 -X log

screen-Befehle unter Linux zur Automatisierung

screen-Befehle unter Linux lassen sich auch zur Automatisierung wiederkehrender Aufgaben verwenden. Hier einige Beispiele:

 1. Eine Hintergrundsitzung mit einem Befehl starten:

screen -S MySession -d -m long-running-command

 2. Dateiverwaltung innerhalb einer screen-Sitzung automatisieren:

screen -S MySession -p 0 -X exec ls /home/user

 3. Ein Skript in einer getrennten Sitzung ausführen:

screen -S MySession -d -m /bin/bash /path/to/script.sh

Diese Befehle sind besonders nützlich, wenn Sie mehrere Prozesse gleichzeitig ausführen und deren Ausführung im Hintergrund automatisieren möchten.

Fazit

Der Befehl screen unter Linux ist unverzichtbar für die effiziente Verwaltung von Terminalsitzungen. Er ermöglicht es Ihnen, mehrere Aufgaben in einer einzigen Sitzung auszuführen, sei es auf einem Remote-Server oder in einer kollaborativen Umgebung. Mit screen können Sie nahtlos zwischen Prozessen wechseln, mit lang laufenden Befehlen verbunden bleiben und die Zusammenarbeit in Echtzeit ermöglichen. Besonders nützlich ist er für die Verwaltung von Aufgaben über instabile Netzwerkverbindungen, da Sitzungen getrennt und wieder verbunden werden können, ohne laufende Prozesse zu unterbrechen. Darüber hinaus unterstützt screen erweiterte Funktionen wie Mehrbenutzersitzungen und Protokollierung, was ihn sowohl für den Einzelgebrauch als auch für Teamprojekte ideal macht. Diese Flexibilität und Zuverlässigkeit machen screen zu einem einzigartigen Werkzeug für alle, die in Linux-Umgebungen arbeiten, und bieten die nötige Kontrolle, um die Produktivität zu optimieren und Arbeitsabläufe bei komplexen Aufgaben zu vereinfachen.

 

Blog