====== Screen ====== * Urspruenglicher Autor: Dirk Deimeke * Urspruengliches Datum: 10.02.2012 Ich nutze schon sehr lange [[https://secure.wikimedia.org/wikipedia/de/wiki/GNU_Screen|GNU Screen]] und das obwohl ich weiss, dass [[http://tmux.sourceforge.net/|tmux]] der neue "heisse Scheiss" ist. Das liegt schlicht daran, dass ich tmux in drei Versuchen nicht auf Solaris 8 (ja, das gibt es noch) kompiliert bekommen habe. Die Definitionen fuer Screen variieren, manche nennen es einen "terminal multiplexer" andere einen "textual window manager". Für mich gibt es vier sehr gute Gruende, Screen zu benutzen. - Kommandozeilen-Sessions in Screen laufen auch dann weiter, wenn ich mich vom Rechner abmelde oder getrennt werde. Das ist vor allem auch dann interessant, wenn man zwischendurch den Rechner wechselt. - Mit Screen ist es moeglich, mehrere Benutzer an der gleichen Sitzung teilhaben zu lassen. Das laesst sich fuer Schulungen oder das Vier-Augen-Prinzip bei wichtigen Arbeiten verwenden. - Ueber eine einzige ssh-Verbindung lassen sich mit einer Screen-Umgebung bis zu 40 parallele Kommandozeilen-Sitzungen betreiben. - Screen kann benutzt werden, Kommandozeilensitzungen zu gruppieren. So nutze ich ein Setting, dass ich "daily" genannt habe, was ssh-Verbindungen zu den Infrastruktur-Servern enthaelt. Weitere Sitzungen enthalten die fuer bestimmte Arbeiten thematisch sortierten Verbindungen. Bei Arbeiten an einem Cluster haelt eine Umgebung beispielsweise Verbindungen zu allen Cluster-Nodes, um schnell umschalten zu können. Basis für meine Konfigurationsdatei ist die, die ich im [[http://www.linuxwiki.de/screen|Linuxwiki]] gefunden habe, dort gibt es auch eine sehr gute Erklaerung der Datei. # Tabs caption always "%{kw}%-w%{ky}%n %t%{-}%+w %=%{bw}@%H%{kw} %D %Y-%m-%d %c" hardstatus string "[%H]" # Ctrl-PageUp/Down or Alt-PageUp/Down or Alt-left/right bindkey ^[[5;5~ prev bindkey ^[[6;5~ next bindkey ^[[5;3~ prev bindkey ^[[6;3~ next bindkey ^[[1;3D prev bindkey ^[[1;3C next # putty uses Ctrl-PageUp/Down by itself # so only Alt-PageUp/Down and Alt-left/right bindkey ^[^[[5~ prev bindkey ^[^[[6~ next bindkey ^[^[OD prev bindkey ^[^[OC next # Ctrl-Shift-T bindkey ^T screen bash # Scrollen im xterm termcapinfo xterm|xterms|xs|rxvt ti@:te@ # Detach mit logout bind d bind d detach bind ^d pow_detach sessionname migration screen -t mon bash screen -t foo ssh foo.ptlx.de screen -t bar ssh bar.ptlx.de screen -t eml ssh eml.ptlx.de screen -t web ssh web.ptlx.de Die letzten Zeilen sind von mir, der ''sessioname'' wird bei ''screen -ls'' angezeigt und die Sitzung laesst sich (im Beispiel) mit ''screen -rx migration'' verbinden. ''screen -t Titel Befehl'' oeffnet ein neues "Fenster" mit dem angegebenen ''Titel'' und fuehrt dort den genannten ''Befehl'' aus. Ich habe mir zusaetzlich noch eine Funktion definiert und in meine ''.bashrc'' gesteckt, die eine neue ssh-Verbindung in einem neuen Fenster oeffnet. function ses (){ # session ssh screen -t $1 ssh $1 } Screen ist relativ alt und wird leider nicht mehr aktiv weiterentwickelt. Eine gute Einfuehrung in Screen - [[https://www.kuro5hin.org/story/2004/3/9/16838/14935|GNU Screen: an introduction and beginner's tutorial]] - stammt aus dem Jahr 2004 und funktioniert heute noch. [[adminstoriesartikel|Zurück zur Uebersicht]]