screen-aufmacher.png

© Hans-Georg Eßer

Terminal-Manager

screen verwaltet Terminalsitzungen

22.05.2012
Mit "screen" starten Sie ein "Terminal im Terminal" und verwalten mehrere Shell-Sitzungen in einem einzigen Fenster. Wie Sie damit effektiver auf der Kommandozeile arbeiten und auf einem entfernten Rechner Prozesse nach dem Abmelden weiterlaufen lassen, zeigt dieser Artikel.

KDEs Konsole macht es vor: Dank der Tabs nutzen Sie mehrere Terminalsitzungen in einem einzigen Fenster, wandern mit Tastaturkommandos von einer Shell zur nächsten und arbeiten so komfortabel auf der Kommandozeile (Abbildung 1).

Streikt die grafische Umgebung oder sitzen Sie an einem Rechner, auf dem dieses Programm nicht installiert ist, müssen Sie auf die "Fenster im Fenster" aber nicht verzichten: Das Programm screen verwaltet mehrere virtuelle Konsolen in einem Terminalfenster.

Abbildung 1: KDEs Konsole – mehrere Shell-Sitzungen in einem Fenster.

Zudem können Sie sich mit der Secure Shell ssh [1] auf entfernten Rechnern einloggen, in screen Programme starten und sich vom System abmelden – die gestarteten Jobs laufen dabei im screen weiter. Wenn Sie sich später wieder anmelden, reaktivieren Sie einfach die screen-Sitzung und setzen die Arbeit fort. Haben Sie z. B. in einem Textmodus-Editor eine Datei bearbeitet, steht nach der Wiederaufnahme der screen-Sitzung der Cursor an der Position, an der er sich befand, als Sie die Sitzung verlassen haben.

Grundlegendes

Öffnen Sie ein Terminalfenster (z. B. über [Alt]+[F2] und Eingabe von konsole) und geben Sie den Befehl screen ein. In einigen Versionen des Programmes erscheint an dieser Stelle ein Begrüßungsbildschirm mit Informationen zur Programmversion, den Sie mit [Eingabe] oder der Leertaste verlassen; bei anderen Versionen fehlt dieser.

Auf den ersten Blick hat sich nicht viel verändert; der screen sieht wie eine ganz normale Terminalsitzung aus. Auf den zweiten Blick ist jedoch vieles anders, vor allem die Tastaturkommandos sind etwas gewöhnungsbedürftig.

Die wichtigste Tastenkombination für die Arbeit mit screen ist [Strg]+[A] – dieser Befehl bringt Sie nicht an den Anfang der Eingabezeile (wie in der Bash-Shell sonst üblich [2]), sondern ist der Auftakt für längere Tastenfolgen, über die Sie alle screen-Funktionen erreichen. Drücken Sie z. B. [Strg]+[A],[Umschalt]+[ß], blendet das Programm eine Online-Hilfe ein und zeigt eine Übersicht der Tastenkombinationen an (Abbildung 2). Drücken Sie die Eingabetaste, um die zweite Hilfsseite zu sehen, oder [Eingabe], um die Hilfe zu verlassen. Die wichtigsten Befehle finden Sie auch in der Tabelle Tastaturkommandos in "screen".

Abbildung 2: Alle "screen"-Shortcuts fangen mit Strg+A an; Strg+A,Umschalt+ß blendet eine Übersicht ein.

Jetzt kann es mit der Arbeit losgehen – tippen Sie wie gewohnt am Prompt Ihre Befehle ein. Um innerhalb von screen eine weitere Terminalsitzung zu starten, drücken Sie einfach [Strg]+[A],[C] und sehen wieder ein leeres Terminal, in dem Sie andere Shell-Programme starten können. Um zum ersten Terminal zurück zu wechseln, drücken Sie [Strg]+[A],[0] (Null, nicht den Buchstaben O; die Nummerierung beginnt bei 0), ins zweite Terminal kommen Sie entsprechend mit [Strg]+[A],[1] usw. – mit der leichten Tastenkombination [Strg]+[A],[Strg]+[A] wechseln Sie zwischen den zwei zuletzt aktiven Terminals hin und her.

Tastaturkommandos in "screen"

[Strg]+[A],[C] erzeugt eine neue Terminalsitzung.
[Strg]+[D] Schließt die aktive Terminalsitzung; ist nur noch ein einziges geöffnet, beendet [Strg]+[D] das Programm screen.
[Strg]+[A],[0] bis [9] Springt zum Terminal mit der entsprechenden Nummer; die Nummierung beginnt bei 0
[Strg]+[A],[N] Wechselt ins nächste (engl. next) virtuelle Terminal.
[Strg]+[A],[P] Previous: Wechselt ins vorige (engl. previous) virtuelle Terminal.
[Strg]+[A],[W] Blendet für ein paar Sekunden eine Statuszeile am unteren Fensterrand ein, welche die Anzahl der geöffneten Fenster (und deren Namen) anzeigt.
[Strg]+[A],[Umschalt]+[2] Blendet eine Liste der Terminals ein; mit den Pfeiltasten navigieren Sie in der Liste, mit [Eingabe] wechseln Sie zum Fenster unter der Markierung.
[Strg]+[A],[Umschalt]+[A] Lässt Sie dem gerade aktiven virtuellen Terminal einen Namen geben ("Set window's title to:"); standardmäßig heißen alle Fenster "bash". Hier löschen Sie diese Vorgabe und geben selbst einen Namen ein.
[Strg]+[A],[A] Sendet [Strg]+[A] an die Bash, um an den Anfang der Eingabe zu springen.
[Strg]+[A],[X] Funktion zum Sperren von screen; geben Sie auf Aufforderung (Key:) ein Passwort ein und wiederholen Sie dieses (Again:). Danach ist die Sitzung gesperrt, zum Freischalten geben Sie das eben gewählte Kennwort am Prompt Password: ein.
[Strg]+[A],[D] Detach (deutsch: ablösen, abtrennen) – Sie verlassen die screen-Sitzung, ohne die darin laufenden Terminals zu beenden.
[Strg]+[A],[K] Kill: Beendet den screen (und alle darin laufenden Prozesse); zur Sicherheit fragt das Programm nach "Really kill this window [y/n]", bevor es die screen-Session einfach aus dem Fenster fegt. Tippen Sie hier entweder y oder n.

Hinter- und vordergründig

Um screen in den Hintergrund zu schieben, tippen Sie [Strg]+[A],[D]; im Terminalfenster erscheint dann der Hinweis [detached]. Sie können das Terminalprogramm (z. B. die KDE-Konsole oder ein Gnome-Terminal) oder sogar KDE beenden – solange Sie den Rechner nicht herunterfahren (oder den screen-Prozess abschießen), laufen screen und alle darin gestarteten Programme weiter. Das prüfen Sie leicht, indem Sie mit ps auxw die Prozessliste anzeigen lassen (Abbildung 3).

Abbildung 3: Obwohl der "screen" über die Detach-Funktion verlassen wurde, laufen die darin gestarteten Programme ("top" und "mc") weiter.

Um die screen-Sitzung fortzusetzen, tippen Sie am Shell-Prompt:

screen -r

Wer screen vorher nicht durch [Strg]+[A],[D] verlassen hat und diesen Befehl (in einem anderen Terminalfenster eingibt), erhält die Meldung:

$ screen -r
There is a screen on:
   30247.pts-2.server   (03/18/12 16:47:15)     (Attached)
There is no screen to be resumed.

Die Statusanzeige verrät: Der screen ist noch aktiv, also "attached". Bevor Sie jetzt nach dem "offenen" screen suchen, tippen Sie einfach

screen -dr

um screen in einem Rutsch zu verlassen (-d, englisch: "detach") und in diesem Fenster die Session wiederaufzunehmen (-r, englisch: "resume"). Läuft mehr als ein screen-Prozess, fragt das Programm nach, welche Session Sie wiederbeleben wollen:

There are several suitable screens on:
   30548.pts-1.server   (03/18/12 17:01:06)     (Attached)
   30247.pts-2.server   (03/18/12 16:47:15)     (Attached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

Des Rätsels Lösung liefert screen auch gleich mit: Unter Angabe der Prozess-ID (im Beispiel ist das 30548 bzw. 30247) oder des Terminal-Namens (hier pts-1 und pts-2) zusammen mit dem Hostnamen (server) springen Sie gezielt in eine Session:

screen -dr 30548

funktioniert im Beispiel genauso wie

screen -dr pts-1.server

Wer sich vorher informieren will, wie viele screen-Prozesse laufen und welchen Status diese haben, ruft über den Parameter -ls (englisch: "list") eine Übersicht auf:

$ screen -ls
There are screens on:
   30548.pts-1.server   (03/18/12 17:01:06)     (Attached)
   30247.pts-2.server   (03/18/12 16:47:15)     (Attached)
2 Sockets in /var/run/screen/S-esser.

Alle Sitzungen, die als Attached oder Detached gelistet sind, können Sie wie gezeigt betreten. Sollte sich ein screen-Prozess verabschiedet haben, taucht dieser in der Liste mit dem Status-Flag Dead (deutsch: tot) auf. Solche Überbleibsel entfernen Sie mit

screen -wipe

Wie in der Tabelle Tastaturkommandos in "screen" notiert, öffnen Sie weitere Fenster im Fenster über die Tastenkombination [Strg]+[A],[C]. Wie viele von diesen virtuellen Terminals geöffnet sind, verrät [Strg]+[A],[W] in der kurz eingeblendeten Statuszeile am unteren Rand. Einzelne Sitzungen schließen Sie, indem Sie die darin laufende Shell mit [Strg]+[D] verlassen. Gibt es nur noch ein virtuelles Terminal, beendet [Strg]+[D] die ganze screen-Sitzung.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Zu Befehl: screen
    Der Desktop, unendliche Weiten – in welchem Terminal war gleich…? Mit dem Programm screen verwalten Sie mehrere virtuelle Konsolen in einem einzigen Terminal-Fenster, lassen Prozesse auf entfernten Servern weiterlaufen (während Sie längst vom System abgemeldet sind) und schauen anderen Benutzern – mit deren Zustimmung – auf die Finger.
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • Screen
    Machen Sie der Konsole Ihre Aufwartung – anstelle vieler einzelner Terminals verwalten Sie alle wichtigen Kommandozeilenprogramme in nur einem Programmfenster. Wer mag, lädt andere Benutzer zu Besuch ein und schmückt das Fenster ansprechend.
  • Auf allen Schirmen
    Screen erleichtert die Arbeit mit verschiedenen Shells und Konsolentools. Wir zeigen Ihnen Tricks und Kniffe, um mit dem Terminal-Multiplexer noch komfortabler zu arbeiten.
  • Viele Sitzungen in einem Terminal verwalten mit Tmux
    Mit dem Multiplexer Tmux rüsten Sie ein einfaches Terminal um Fähigkeiten auf, die es fast zu einem Windowmanager machen.
Kommentare

Infos zur Publikation

title_2014_04

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet EUR 9,80. Weitere Informationen zum Heft finden Sie auf der EasyLinux-Homepage.

Das EasyLinux-Jahresabo mit Prämie kostet ab EUR 33,30. Details zum EasyLinux-Jahresabo finden Sie im Medialinx-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...