Wenn Du länger laufende Prozesse über SSH startest – zum Beispiel Backups, Datenübertragungen, Software ohne Daemon oder Softwareinstallationen – ist es sinnvoll, die Verbindung zum Server nicht dauerhaft offen halten zu müssen. Genau dafür gibt es screen
.
In diesem Artikel lernst Du, wie Du screen
installierst, verwendest und verwaltest. Am Ende weißt Du, wie Du Deine eigenen Terminalsitzungen wie ein Profi steuerst.
Was ist screen
und wofür brauche ich es?
screen
ist ein Terminal-Multiplexer – damit kannst Du mehrere, voneinander unabhängige Sitzungen innerhalb eines einzigen SSH-Terminals starten. Jede dieser Sitzungen läuft im Hintergrund weiter, auch wenn Du Dich vom Server trennst oder Deine Internetverbindung verlierst.
Typische Anwendungsfälle:
- Lang laufende Datenübertragungen (z. B. mit
rsync
) - Backups oder große Installationen
- Prozesse, die Du nicht aus Versehen abbrechen willst
- Mehrere parallele Aufgaben in einem SSH-Fenster
Wie installiere ich screen
?
Unter den meisten Linux-Distributionen ist screen
entweder schon vorinstalliert oder kann schnell nachinstalliert werden:
Debian / Ubuntu:
apt install screen
CentOS / RHEL:
yum install screen
Arch Linux:
pacman -S screen
Wie starte ich eine neue screen
-Sitzung?
Der Start einer neuen Sitzung ist einfach:
screen -S meinname
- Der Parameter
-S
gibt Deiner Sitzung einen Namen, z. B.backup
,update
,transfer
.
Beispiel:
screen -S datenbackup
Nach dem Start befindest Du Dich direkt in der neuen Sitzung und kannst wie gewohnt Befehle ausführen.
Wie verlasse ich eine screen
-Sitzung, ohne sie zu beenden?
Du kannst Deine Sitzung „detachen“, also in den Hintergrund schicken, ohne sie zu beenden:
Strg + A, dann D
Das bedeutet:
- Halte
Strg
gedrückt, drücke dannA
, lasse beide los, drücke dannD
.
Du landest wieder im normalen SSH-Terminal, die screen
-Sitzung läuft im Hintergrund weiter. Und dein dort eingegebener Befehl ebenfalls.
Wie finde ich meine laufenden screen
-Sitzungen wieder?
Um alle aktiven Sessions aufzulisten:
screen -ls
Beispielausgabe:
There are screens on:
19765.datenbackup (Detached)
19802.updatesession (Detached)
2 Sockets in /run/screen/S-root.
Du siehst hier den Namen und die interne ID der Sitzungen.
Wie öffne ich eine screen
-Sitzung wieder?
Du kannst die Sitzung mit dem Namen oder der ID wieder aufnehmen:
Nach Name:
screen -r datenbackup
Nach ID:
screen -r 19765
Wenn nur eine Sitzung existiert, kannst Du auch einfach schreiben:
screen -r
Wie beende ich eine screen
-Sitzung?
Wenn Du mit der Sitzung fertig bist, kannst Du sie auf zwei Arten beenden:
- Beende den laufenden Prozess (z. B.
exit
,Ctrl + C
) und gib dann:
exit
- Alternativ kannst Du einfach den Screen-Befehl nutzen:
screen -X -S datenbackup quit
Wie kann ich mehrere screen
-Sitzungen parallel nutzen?
Du kannst beliebig viele Sitzungen gleichzeitig starten – jede bekommt einfach einen eigenen Namen:
screen -S update
screen -S log-analyse
screen -S rsync-job
Mit screen -ls
kannst Du später zwischen ihnen wechseln.
Wie mache ich screen
noch komfortabler?
Hier ein paar zusätzliche Tipps:
- Nutze Namen für die Sessions (
-S
), das macht die Übersicht leichter. - Wenn Du regelmäßig dieselben Prozesse startest, kannst Du Dir ein kleines Start-Skript bauen.
- Kombiniere
screen
mit Tools wiehtop
,rsync
,tail -f
oderwatch
für live-Überwachung.
Was mache ich, wenn eine screen
-Sitzung blockiert ist?
Manchmal bleibt eine Sitzung in einem „Attached“-Status hängen. Dann kannst Du sie erzwingen:
screen -D -r datenbackup
-D
: trennt die Sitzung zwangsweise-r
: verbindet Dich direkt wieder damit