Linux Terminal-multiplexer screen HowTo

09.12.2021

Was ist Screen eigentlich?

  • screen ist ein sogenannter “Terminal-multiplexer”.
  • screen kann in einem Terminal ausgeführt werden (XTerm, gnome-terminal, Putty oder ssh-konsole usw.) und benötigt somit keinen X-Server.
  • Der User hat die Möglichkeit mehrere Programme auszuführen und zwischen diesen hin und her zuwechseln ohne mehrere Terminals geöffnet zu haben.

screen ist ein nettes Tool, um mit mehreren Personen gemeinsam auf einem Bildschirm (engl. “screen”) zu arbeiten, bzw. in einem Terminal (ssh usw.). Man kann so z.B. jemand beim Einstellen zuschauen. Man kann z.B. in einem Screenfenster mit mc das Dateien kopieren, in einem anderen mittels BitchX chatten und in einem dritten mit lynx im Internet surfen. Dies gilt für alles was sich in einem Linux-Terminal ausführen lässt und macht screen zu einem sehr mächtigem Linux Tool. Sobald ihr screenerfolgreich installiert habt, startet ihr es mit dem Kommando "screen" in einem Linux-Terminal eurer Wahl. Es erwartet euch dort eine ganz normale Linux-Shell.

Wichtigsten Screen-Befehle

Befehl Kommando Beschreibung

[Strg + a] ? help -> Zeigt den eingebauten Hilfebildschirm

[Strg + a] 0 -> Schaltet zum Bildschirm 0

[Strg + a] 9 -> Schaltet um auf Bildschirm 9

[Strg + a] A title -> Erlaubt dem User, dem aktuellen Bildschirm einen Namen zu geben.

[Strg + a] c create -> erzeugt einen neuen von Screen verwalteten Bildschirm

[Strg + a] d detach -> Beendet den screen prozess, der die Session und das Terminal verbindet

[Strg + a] n next -> Schaltet zum Bildschirm mit der nächsthöheren Nummer

[Strg + a] p previous -> Schaltet zum Bildschirm mit der nächstniedrigeren Nummer

[Strg + a] x lockscreen -> Sperrt die Konsole, bis das Passwort des Benutzers eingegeben wurde

[Strg + a] [LEER] next -> Alternative zu n; u.U. handlicher zu bedienen

[Strg + a] "

windowlist -b -> Listet alle Fenster der aktuellen Session

[Strg + a] c create -> Tastenkombination erzeugt einen Screen

Wir sind nun In dem Modus in dem wir Screen weitere Kommandos und Anweisungen geben können. Durch drücken von c geniert ihr ein neues virtuelles Fenster (create). Dieses ist jetzt wieder leer. Um das ganze zu testen schreiben wir irgendetwas rein:

linux:~#aluowaafmöasr

Und dann wollen wir folgendes probieren:

  • `[Strg + a] nIhr springt zum nächsten (next) Fenster und seid wieder in eurem ersten Fenster.

  • [Strg + a] p Damit wechselt ihr zum vorherigen Fenster (previous) und seht Fenster 1.

  • [Strg + a] N Wobei N für eine Nummer steht. Ihr könnt nun durch auswahlen einer Nummer direkt zu einem Fenster eurer Wahl wechseln. Gezählt wird ab 0. Also ist unser erstes Fenster

    mit "[Strg + a] 0" zu erreichen.

  • ``[Strg + a] A` Shift muss gedrückt gehalten werden bevor ihr das zweite Mal A drückt. Nun könnt ihr euremFenster einen Namen geben. Das wird beim nächsten Schritt hilfreich sein.

  • [Strg + a] " Nun solltet ihr eine Übersicht über eure von screen generierten virtuellen Fenster sehen.Und wie gesagt, nun könnt ihr sie mit den Namen identifizieren. (Shift nicht vergessen!)

  • [Strg + a] K Mit K für Kill könnt ihr nun Fenster schließen die ihr nicht mehr benötigt.screen wird euch (nach der Standarteinstellung) fragen ob ihr das Fenster wirklich

    schließen wollt, und mit "y" (yes) bestätigt ihr das.

Screen Übung:

  • Ein paar screen aufmachen
  • Jeweils Programme starten
  • Jeweils Namen vergeben

Nachdem ihr nun ein paar Prozesse laufen habt, beendet Ihr euer Terminal, öffnet ein neues und führt das folgenden Befehl aus:

screen -r (reattach)

Eure ganzen Programme sind immernoch vorhanden. Screen speichert eure ganzen Programme in einer Session und lässt diese im Hintergrund laufen.

Aus screen ausloggen: [Strg + a] d (detach)

Diese Funktion ist für den alltäglichen Betrieb sehr praktisch. Man kann beispielsweise mittels find und nach einer Datei suchen und nebenher die Logdateien mit more ansehen.

Mit dem Befehl: screen -r seht ihr, dass immernoch nebenher gesucht wird

Im screen Modus kann nicht mit dem Mausrad hochscrollen werden.

Um das zu tun benutzt ihr folgendes Kommando um in den “scrollback buffer” per “copy mode” zu kommen: [Strg + a] [

Nun könnt ihr ganz simpel mit den Pfeiltasten hoch und runter scrollen und euch

was zu markieren. Markiert werden kann mit: [Strg + a] ]

Beenden von screen: [Strg + a] K

Ihr befindet euch nun wieder in eurer normalen Shell ohne screen im Vordergrund.

Screen-FAQ Eine FAQ bezüglich Screen. Leider nicht für Anfänger geeignet.

Screen man-page Die manpage von Screen online.

Engl. Einführung zu Screen Engl. Anleitung zu Screen