Platz sparen mit screen

Übersetzung aus dem Englischen (Original: Saving space with Screen)

Wenn es ihnen genauso wie mir geht, dann haben sie auch jederzeit mehr als eine Shell geöffnet. Das ist alles kein Problem, wenn sie zwei 21“ Monitore besitzen, jedoch kann es etwas beengend sein wenn sie mit SSH, oder - sogar noch ärgerlicher - mittels einer seriellen Konsole eingeloggt sind. Screen ist ein Programm, welches mehrere Terminals in einem zusammenfasst, und um genau dieses geht es in diesem Artikel.

Doch gehen wir erst einmal etwas zurück. Wenn sie etwas in der Shell eintippen (oder einem Programm welches in der Shell gestarted wurde z.B. pine) kommunizieren sie mit einer virtuellen Konsole (im folgenden als VK abgekürzt. Anm.d.Ü.). Wenn sie eingeloggt sind wird ihnen eine VK zugeordnet, welche ihnen und ihrer Shell eine Möglichkeit gibt Zeichen mit dem Rest des Systems auszutauschen. Das Problem besteht jetzt darin, daß sie normalerweise nur eine Sache pro Shell erledigen können. Wird mehr benötigt loggen sie sich ein weiteres Mal ein oder - wenn sie clever sind - schicken sie Prozesse in den Hintergrund. Die Aufgabe von Screen ist neue VKs für sie zu generieren, zwischen denen sie mit dem Komfort der original VK hin und her schalten können. Stellen sie es sich einfach wie das Tabbed-Browsing von Mozilla vor - Sie haben ein physikalisches Fenster, jedoch mehrere Webseiten zwischen denen sie wechseln können.

Screen zu starten ist wirklich einfach, tippen sie nur 'screen' in der Konsole. Außer daß alle vorherigen Ausgaben nicht mehr zu sehen sind und sie wieder zurück am Prompt sind scheint sich nichts geändert zu haben.

Befehle in Screen werden (als Standardeinstellung) mit STRG-A eingeleitet, wobei die in der man-page benutzte Kurzform C-a ist. Zum Beispiel bedeutet „C-a ?“, daß die Tasten STRG und A (gleichzeitig) von einem Fragezeichen gefolgt eingegeben werden müssen. Also los, versuchen sie es und sie werden zur (englischen) Hilfe-Seite gelangen. Ich werde sie nun mit den gebräuchlichsten Befehlen vertraut machen, jedoch erinnern sie sich immer wie sie zur Hilfe-Seite gelangen.

Jetzt da wir in einem Fenster sind (so wird es in der man-page genannt) wird es Zeit weitere Fenster zu erstellen. Eine neue Shell kann mit dem Befehl „C-a c“ gestartet werden. Diese wird zum Fenster 1. Um jetzt zum ersten Fenster zurück zu gelangen versuchen sie es mit „C-a 0“. C-a gefolgt von einer Nummer wechselt zu einem festgelegten Fenster. Um die Fenster in ihrer Reihenfolge weiter zu wechseln benutzen sie „C-a Leertaste“, oder „C-a n“ (denken sie einfach an nächstes Fenster). „C-a p“ wechselt in der entgegengesetzten Richtung.

Ein weiterer Weg ein Fenster zu starten ist “screen“ gefolgt von einem Befehl einzugeben. Zum Beispiel öffnet “screen pine“ ein neues Fenster und startet pine.
Dem zufolge ist „C-a c“ das gleich wie “screen /bin/bash“ oder was auch immer ihre Login-Shell ist.

Wann immer sie eine Shell verlassen oder ein Programm welches in einem Fenster gestartet wurde beenden wird das Fenster geschlossen. Wenn sie ein Fenster nicht schliessen können hilft ihnen „C-a k“ (Kill) das Fenster abrupt zu schliessen. Wenn sie das letzte Fenster verlassen beendet sich auch Screen mit einer kurzen Nachricht.

Da Screen mehrere VKs in ihrem Auftrag verwaltet, können sie den Screen-Prozess in den Hintergrund schicken und später wieder in den Vordergrund holen - sogar von einer anderen Stelle aus (z.B. Remote via SSH Anm.d.Ü.). Während Screen läuft können sie es mit „C-a d“ lösen und sind so nach einer kurzen Nachricht wieder in ihrer original Login-Shell. Um die Sitzung wieder aufzunehmen starten sie Screen mit der -R Option und schon sin sie wieder zurück. „screen -R“ ist ein guter Weg um Screen zu starten, da so eine gelöste Screen-Sitzung wieder aufgenommen wird, soweit diese vorhanden war. Anderenfalls wird eine neue Screen-Sitzung gestartet. Eine gute Entscheidung ist Screen in ihre Start-Skripte aufzunehmen (oder mittels eines Aliases Anm.d.Ü.).

Dies waren nur die Grundlagen von Screen. Es gibt weitere ausgefallene Funktionen, wie z.B. zurück scrollen „C-a ESC“, Fenster aufsplitten „C-a S, zwischen diesen umschalten „C-a C-I“, sogar ausschneiden und einfügensind möglich. Die man-page listet ihnen wie immer alle Möglichkeiten auf.

Screen ist ein vielseitiges Programm welches Platz auf ihrem Display spart, ohne zu erwähnen, daß es ihnen Fähigkeiten von grafischen Terminals auf der Konsole gibt. Werfen sie Screen in ihr Login-Skript und seien sie so sicher, daß immer wenn sie Screen benötigen es ihnen zur Verfügung steht.