Inhaltsverzeichnis

Spass mit Screen

Screen ist ein hilfreiches Programm, mit dem du innerhalb einer Terminal-Sitzung mehrere virtuelle Terminals nutzen kannst. Beispielsweise musst du also nur eine ssh-Sitzung eröffnen und kannst trotzdem entfernte Programme auf mehreren Konsolen gleichzeitig ausführen.

Besonders angenehm ist es auch, in einer screen-Sitzung auf einem entfernten Rechner ein langwieriges Programm zu starten (z.B. einen schönen neuen Kernel kompilieren), da du zwischenzeitlich die screen-Konsole abhängen und die Netzwerkverbindung trennnen kannst. Später kannst du dich einfach wieder in die alte Sitzung einhängen.

Es geht los:

Falls dich der Start-Info-Bildschirm stört, dann kannst du ihn per Option startup_message in der /etc/screenrc unterdrücken.

Um der Sitzung einen Namen zu geben, kann der Parameter -S sitzungsname verwendet werden. Dies gilt sowohl für die Erzeugung, als auch für einen späteren Zugriff auf die Sitzung.

Tastenkombinationen

Kombination Bedeutung
Ctrl-a gibt dir die Macht über die Konsolen
C-a ? zeigt wichtige Kürzel
C-a c öffnet ein neues Fenster
C-a w zeigt alle offenen Fenster
C-a 0 springt zum ersten Fenster, 1 zum zweiten usw.
C-a space schaltet die Fenster einzeln durch
C-a A benennt das aktuelle Fenster um
C-a a schaltet zwischen zwei Fenstern hin und her
C-a h schreibt den aktuellen Bildschirminhalt in hardcopy.N
C-a H beginnt/beendet das Protokollieren in die Datei screenlog.N
C-a C-k
C-a ESC Scroll-Modus: mit den Cursortasten kannst du dich nun beliebig in der Terminal-History bewegen; zweimal ESC beendet diesen Modus

Ausklinken aus einer screen-Sitzung

Kombination Bedeutung
C-a d detach, trennt dich von der Matrix (sie läuft im Hintergrund weiter)
C-d (EOF - gleichbedeutend mit exit) - die aktuelle Shell wird geschlossen und damit auch das aktuelle Fenster - mit dem Schließen des letzten Fensters wird screen beendet

Einhängen in eine alte Sitzung

Einschleusen von Tastatureingaben

Automatisiertes Öffnen mehrerer Programme

Folgende Datei ist ausführbar und startet mehrere Fenster mit verschiedenen Programmen:

 #!/usr/bin/screen -c

setenv FOO "bar"

# Teile den Bildschirm horizontal in zwei Bereiche
split

screen -t "dmesg" 0 bash

focus down
screen -t "top" 1 top

focus up