3.5 screen
Ebenfalls ein sehr wichtiges Werkzeug innerhalb einer Shell ist screen. Wird es gestartet, so wird der ganze Bildschirm des Terminals für das Programm verwendet. Ohne Parameter startet es einfach nur eine Shell. Was aber ist das Besondere an screen?
Im Folgenden werden die Begriffe »Fenster« und »Terminal« der Einfachheit halber synonym verwendet.
Ganz einfach: screen ermöglicht es Ihnen, parallel auf mehreren virtuellen Terminals zu arbeiten, obwohl Sie in Wirklichkeit nur eines verwenden. Nehmen wir einmal an, Sie loggen sich über ein Programm wie SSH oder Telnet auf einem entfernten Rechner ein. Dort möchten Sie ein Programm schreiben. Um dies möglichst komfortabel zu erledigen, benötigt man zumindest ein Terminal, in dem ein Texteditor läuft, mit dem man den Quellcode editieren kann, und eines, mit dem man das Programm kompilieren, ausführen und debuggen kann. Mit screen ist genau das möglich, obwohl Sie sich nur ein einziges Mal einloggen müssen.
3.5.1 screen verwenden
Das Programm wird durch einen Aufruf von screen (für eine Shell) oder screen [programm] gestartet. Screen legt dafür ein erstes virtuelles Terminal an. Anschließend kann man in der gestarteten Shell beziehungsweise mit dem gestarteten Programm wie gewohnt arbeiten.
Nehmen wir das obige Beispiel nun zur Hand, und erleichtern wir uns die Arbeit an einem Programm.
Dazu könnte man nun in einem Programm einen Editor (etwa vi) starten. <Der vi wird in späteren Kapiteln noch genauer behandelt. Sie beenden ihn durch ESC (wechsel in den Kommandomodus) und den Befehl »:q«.>
Ein weiteres Terminal
Nun erstellt man durch die Tastenkombination Strg + a und anschließendem Drücken der Taste c (für »create«) ein neues virtuelles Terminal. Hat man das getan, so wechselt screen auch gleich die Ansicht auf das neu erstellte Terminal, das mit einer Shell auf Eingaben wartet. Sie könnten in diesem Terminal nun den Compiler oder Ähnliches anwerfen.
Terminalwechsel
Um nun zwischen den existierenden virtuellen Terminals zu wechseln, benutzt man die Tastenkombination Strg + a und drückt anschließend eine Taste zwischen 0 und 9. Damit steht einem die Möglichkeit zur Verfügung, zwischen insgesamt zehn virtuellen Terminals zu wechseln (sofern man tatsächlich so viele erzeugen möchte).
Eine weitere Möglichkeit ist der Weg über die Fensterliste (»Window List«). In die Fensterliste kommt man über die Tastenkombination Strg + a und anschließendes Drücken der Anführungszeichen-Taste.
Dort kann man mit den Cursortasten zwischen den einzelnen Fenstern (man sieht deren Nummer und Name) wechseln.
Namen für Terminals
Den einzelnen Terminals kann man über die übliche Tastenkombination sowie anschließendes Drücken der Taste A auch Namen verpassen. Diese erscheinen dann in der Fensterliste.
Mit Strg + a und anschließend w bekommt man am unteren Fensterrand übrigens eine Namensliste der Terminals. Drückt man dann beispielsweise die 1, so landet man auf dem ersten der eingeblendeten Terminals.
Abbildung 3.1 screen mit Fensterliste
Fenster schließen
Ein Fenster kann durch die Tastenkombination Strg + a und anschließendes Drücken von k (»kill«) beendet werden. Man kann die Fenster auch schließen, indem man die Shell und/oder das gestartete Programm (in dieser Shell) verlässt. <Was natürlich davon abhängt, ob man das Programm direkt durch screen oder erst in einer Shell innerhalb eines virtuellen Terminals gestartet hat.>
Hat man das letzte Fenster zerstört, dann wird eine Meldung wie »screen is terminating« auf dem Terminal angezeigt und man befindet sich wieder in der Ausgangsshell.