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 dann A, lasse beide los, drücke dann D.

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:

  1. Beende den laufenden Prozess (z. B. exit, Ctrl + C) und gib dann:
exit
  1. 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 wie htop, rsync, tail -f oder watch 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