Die SSH-Verbindung bricht ab, der Laptop klappt zu, das Zug-WLAN stirbt — und der Build, der seit zwanzig Minuten läuft, ist weg.screen löst genau dieses Problem: Ein Terminal-Prozess, der auf dem Server weiterlebt, egal was mit der Verbindung passiert. Kein Paket-Update nötig, es liegt auf fast jedem Linux-Server schon vorinstalliert.
Das Grundprinzip: Session statt Fenster
screen startet nicht einfach ein neues Terminal, sondern einen eigenen Prozess mit eigenem Terminal-Multiplexer dahinter. Die Verbindung von deinem Rechner ist nur ein Fenster in diesen Prozess — trennst du dich, läuft die Session einfach weiter.
# Neue Session starten
screen
# Session mit Namen starten (empfehlenswert!)
screen -S deploy
# Laufende Sessions auflisten
screen -ls
# Zu einer Session zurückkehren
screen -r deployDie drei Shortcuts, die 90 % abdecken
Alle screen-Befehle beginnen mit dem Prefix Strg + A, danach folgt die eigentliche Taste — loslassen dazwischen nicht nötig.
- Strg + A, dann D — Detach: Session läuft weiter, du bist wieder im normalen Terminal.
- Strg + A, dann C — Neues Fenster innerhalb derselben Session anlegen.
- Strg + A, dann N / P — zum nächsten / vorherigen Fenster wechseln.
Der Klassiker: screen -S deploy, Build anstoßen, Strg + A D, Laptop zuklappen. Am nächsten Tag screen -r deploy — der Build ist entweder fertig oder läuft noch, exakt da wo du ihn verlassen hast.
Nice-to-knows, die man erst nach dem dritten Mal lernt
- Mehrere Clients gleichzeitig: Hängt eine Session noch an einem toten SSH-Client, meckert
screen -rmit „there is a screen on...(Attached)". Fix:screen -d -r deploy— trennt den alten Client zwangsweise und übernimmt. - Scrollback-Modus: Strg + A, dann Esc aktiviert den Kopiermodus — Pfeiltasten zum Scrollen, Leertaste zum Markieren, nochmal für Kopie. Q beendet den Modus wieder.
- Fenster benennen: Strg + A, dann Shift + A vergibt einen Namen fürs aktuelle Fenster — bei fünf offenen Fenstern der Unterschied zwischen Übersicht und Rätselraten.
- Horizontal splitten: Strg + A, dann S teilt die Anzeige, Strg + A Tab springt zwischen den Splits, Strg + A dann Q macht alle Splits bis auf einen wieder zu.
Ein .screenrc spart täglich Klicks
Wie $PROFILE bei PowerShell gibt es eine Konfigdatei, die beim Start automatisch geladen wird:
# ~/.screenrc
# Statuszeile unten mit Fensterliste und Uhrzeit
hardstatus alwayslastline
hardstatus string '%{= kG}%H %{= kw}| %-w%{=b bw}%n %t%{-}%+w %= %c'
# Riesiger Scrollback statt der mageren 100 Zeilen Default
defscrollback 5000
# Startmeldung weg
startup_message offDanach zeigt jede Session unten eine Fensterleiste — praktisch, sobald mehr als zwei Fenster offen sind.
screen vs. tmux — kurz und ehrlich
tmux ist der modernere Nachfolger mit besserem Split-Layout und aktiverer Entwicklung. Der Grund, trotzdem screen zu kennen: Es ist auf praktisch jedem Server vorinstalliert, während tmux oft erst nachinstalliert werden muss — und auf einem fremden Server ohne sudo-Rechte ist das ein Unterschied, der zählt.