Linux-Tage-Weihnachtskalender: 9. Türchen
screen – Eine Konsole, aber viele Terminals
Solange es Netzwerkverbindungen gibt, werden sie z. B. für Remote- Shells genutzt. Solange es Netzwerkverbindungen gibt, sterben diese aus teils unerfindlichen Gründen - mit ihnen auch die Shells. Wie schön wäre es, müsste man sich nur neu einloggen und hätte wenigstens die Shell noch. Dies ist nur eine von vielen Motivationen hinter dem Tool screen.
Screen ist ein Terminalmultiplexer. D. h. es verwaltet viele Terminals quasiparallel, was auch nicht viel aufregender klingt. Deshalb gibt es an dieser Stelle eine kleine Beispielsession.
Am Prompt tippt man als erstes Kommando einfach screen
ein. Ein kurzer Text weist darauf hin, dass man noch keine Config
(.screenrc) hat.
Danach ist alles so wie vorher, fast alles. Braucht man ein neues
Terminal, reicht ein ^A c
(<Strg> + <A>,
danach <c>). Voilá, da ist es. Startet man da z. B. einen
Netzwerksniffer und das erwartete Paket lässt auf sich warten, schaltet man
einfach mit ^A p
auf das vorherige Terminal zurück.
Mit ^A n
schaltet man wieder vorwärts, um den
Monitormodus mit ^A M
zu aktivieren. In einem neuen Terminal
(^A c
) liest man zwischendurch die Mails mit z. B. mutt
und würde doch zu gern seinem Kumpel
Léon eine Antwort ohne Namensverstümmelung schicken.
^A ^V
schaltet in den digraph-Modus, wo man mit <e>,
danach <'> das gewünschte Zeichen erhält. Zwischendurch kam das
Netzwerkpaket an, was screen sofort meldet. Nun kam ein neuer
Linux-Kernel raus, den man zwanghaft natürlich sofort kompilieren muss.
Auf in ein neues screen, doch dauert das…
Weil man der Liebsten versprochen hat, mal einen Abend mit ihr zu
verbringen, kommt man erst nachdem sie auf der Couch eingeschlafen ist
dazu, nachzusehen, ob der Kernel auch gebaut hat. SSH vom Handy auf den
Rechner. screen -R -D
bringt ohne viel Gezeter die Screensession
nach vorn und bis zum Morgen ist dann bestimmt ein neuer Compilerlauf
fertig…
Den Autor faszinierte screen bei einer Featureshow auf dem
CLT 2003.
Seitdem befindet es sich auf fast jedem Rechner im RAM. Extrem
inspirierend waren auch Workshops und die .screenrc vom
Screen-Evangelisten Sven Guckes
(Sven, free your .screenrc!). Die Entwicklung von Screen ist nicht sonderlich aktiv, da
es kaum Features gibt, die man vermissen könnte. Mit der Marktüberschwemmung von
Breitbildmonitoren kam der
vertikale Split
^A |
dazu. Wer gern verzeichnisbezogene .screenrcs mag, der sollte das
Screen Textmate Bundle
ausprobieren. Wer die Tastenkürzel etwas komfortabler mag, findet evtl. in
ScreenWM
ein nützliches Tool.
alias 's=screen "-e^Ya" -RR -D'hat sich auf Servern gut bewährt. Der Hotkey
^A
wird dabei auf ^Y
umgebogen.
Neueinsteigern hilft sicher eines der vielen Cheat Sheets im Web.
Frank Becker ist Entwickler und langjähriger begeisterter Screennutzer.