Da ich inzwischen selbst beruflich unter Linux und mit Linux arbeite, habe ich natürlich auch mehr mit dem Terminal zu tun – hinter mir stehen immerhin rund 1500 Server, davon laufen rund 95 Prozent unter Linux – Firewalls und SD-WAN-Geräte, Proxys, Router und VPN-Server sowieso.

Da wird nun einmal viel mit der Konfiguration an Textdateien gearbeitet – Du bastelst hier und willst nebenbei etwas auf demselben Rechner testen. Den Editor verlassen, um etwas anderes zu öffnen, oder einen Befehl zu starten – sehr unbequem. Dasselbe – mit zwei Terminals per SSH verbinden, immer hin und her wechseln – umständlich.

Hier kann Screen helfen – Screen könnte man etwa mit virtuellen Desktops auf Linux-Desktop-Umgebungen vergleichen. Sie verteilen Ihre Aufgaben einfach auf mehrere virtuelle Terminals.

Ein weiterer Vorteil von Screen – wird eine SSH-Verbindung unterbrochen, verläuft natürlich auch der kurz zuvor gestartete Befehl im Sande, eine offene Konfigurationsdatei – fast fertig bearbeitet und nicht gespeichert – schon kann man wieder von vorne beginnen. Mit Screen ist dies nicht der Fall.

Screen installieren

Unter normalen Umständen wird Screen auf dem entfernten System installiert, auf dem man über SSH arbeitet. Sie können Screen natürlich auch auf dem lokalen System installieren.

Unter auf Debian basierenden Linux-Distributionen installieren Sie diese Software wie üblich ganz einfach über die Paket-Verwaltung durch das Paketscreen„.

Screen nutzen

Sie starten diese Software am Terminal ganz einfach über den Befehl:

screen

Zu Beginn sehen Sie erst einmal keinen Unterschied zu einem normalen Terminal, auf diesem können wir auch ganz normal arbeiten – starten wir einfach einmal den Befehl:

ls -l

Jetzt können wir mit der Tastenkombination Strg+a – gefolgt von einem c eine weitere Sitzung öffnen (Strg+a drücken, loslassen und c drücken):

Wir finden uns in einer weiteren Sitzung innerhalb von Screen wieder, hätten wir auf der ersten Sitzung beispielsweise den Befehl:

apt update && apt upgrade && apt clean

gestartet, würde dieser Befehl auf der ersten Sitzung ganz einfach weiter laufen. Auf der zweiten können wir einen weiteren Befehl starten. Mit Strg+a, gefolgt von der Leertaste, können wir zwischen diesen beiden Sitzungen wechseln.

Mittels:

exit

können wir die aktuell offene Sitzung beenden. Haben wir beide Sitzungen beendet, zeigt Screen uns dies auch:

[screen is terminating]

Vor allem, wenn man mehrere Sitzungen in Screen öffnet, kann die ganze Geschichte schon unübersichtlich werden – so starten wir im geöffneten Screen den Befehl:

screen -X caption always "%{rw} * | %H * $LOGNAME | %{bw}%c %D | %{-}%-Lw%{rw}%50>%{rW}%n%f* %t %{-}%+Lw%<"

Wir erhalten jetzt am unteren Bildschirmrand eine Statuszeile. Der Befehl ist natürlich etwas umständlich – wir können Screen so konfigurieren, dass die Software gleich mit der Statuszeile startet – hierzu erst einmal folgende Erklärung:

  • $LOGNAME – Benutzername
  • %H – Hostname
  • %c – Uhrzeit im 24-Stunden-Format
  • %D – Wochentag
  • %n – das virtuelle Terminal
  • %f – Sternchen zeigt das aktive virtuelle Terminal an, ein Minuszeichen die zuletzt besuchte Sitzung
  • %t – der Titel der Sitzung (dazu später mehr)
  • %id` – Backtick-Referenz

Damit Screen automatisch mit der Statusleiste startet, erstellen wir in unserem Home-Verzeichnis – oder auf dem entfernten Rechner eine neue versteckte Datei mit der Bezeichnung „.screenrc“ und füllen diese mit folgendem Inhalt:

Erstellen der Datei:

touch .screenrc

Öffnen der Datei – etwa mit Vim oder Nano:

nano .screenrc
vim .screenrc
vi .screenrc

Und der Inhalt:

caption always "%{rw} * | %H * $LOGNAME | %{bw}%c %D | %{-}%-Lw%{rw}%50>%{rW}%n%f* %t %{-}%+Lw%<"

Zu besseren Übersicht, können wir Sitzungen benennen – statt Strg+a, gefolgt von c – geben wir für die Bezeichnung „Bearbeiten“ folgendes ein:

screen -S Bearbeiten

Jetzt können wir auf dieselbe Art oder eben mit Strg+a und c eine weitere Sitzung starten, natürlich auch viele weitere und mit:

screen -ls

alle Sitzungen anzeigen lassen:

Das Benennen von Sitzungen hat den Vorteil – Sie können sich Sitzungen mit darin laufenden Aufgaben einfacher merken. Wir können jetzt beispielsweise die aktuelle Sitzung in den Hintergrund verschieben – Strg+a, gefolgt von d. Jetzt können wir uns beispielsweise vom Rechner abmelden – die Sitzung läuft aber weiter. Melden wir uns wieder an, lassen wir uns die laufenden Sitzungen anzeigen:

screen -ls

Mit:

screen -r Bearbeiten

können wir uns in die im Hintergrund laufende Sitzung „Bearbeiten“ wieder einhängen. Läuft nur eine Sitzung, gelingt dies einfacher mit:

screen -r

Auch wenn die SSH-Verbindung einfach aus welchem Grund auch immer abbricht – die Sitzung bricht deshalb nicht automatisch ab (dazu müssen Sie die Sitzung nicht einmal in den Hintergrund verschieben), melden Sie sich wieder an und starten im gestarteten Screen die benannte Sitzung wieder mit:

screen -d Bearbeitung

Weitere Tastenkombinationen:

  • Strg+ac – Erstellen Sie ein neues Fenster (mit Shell).
  • Strg+a" – Alle Fenster auflisten.
  • Strg+a0 – Wechseln Sie zu Fenster 0 (nach Nummer).
  • Strg+aA – Benennen Sie das aktuelle Fenster um.
  • Strg+aS – Aktuelle Sitzung horizontal in zwei Regionen teilen.
  • Strg+a| – Aktuelle Sitzung vertikal in zwei Regionen teilen.
  • Strg+aTab – Schalten Sie den Eingabefokus auf die nächste Sitzung.
  • Strg+aCtrl+a – Wechseln Sie zwischen dem aktuellen und dem vorherigen Fenster.
  • Strg+aq – Schließen Sie alle Sitzungen außer der aktuellen.
  • Strg+ax – Schließen Sie die aktuelle Sitzung.

Weitere Anpassungen für die „.screenrc„:

Startet Screen ohne die Begrüßung:

startup_message off

Deaktiviert die visuelle Glocke:

vbell off

Noch mehr über Screen finden Sie unter Screen – Dokumentation.

Categories:

Schreibe einen Kommentar

Eine Reaktion

Neue Themen im Forum
Meldung, wenn NFS Share nicht err …Zitat von zebolon am 22. November 2024, 16:27 Uhr Hallo @linuxopa … Weiterlesen
Debian installieren - für Anfänge …Danke LinuxBiber, das hilft gut weiter. Wenn da aber für den De … Weiterlesen
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

September 2023
M D M D F S S
 123
45678910
11121314151617
18192021222324
252627282930  
Archive