tux on screen

Linux-Tage-Weihnachtskalender: 9. Türchen

Frank Becker, 09.12.2008

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.

Screens kann man natürlich auch verschachteln und der Alias
    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.

Vorschau Screenshot screen

Frank Becker ist Entwickler und langjähriger begeisterter Screennutzer.

zuletzt bearbeitet am 09.12.2008 von Frank Becker