# screen — Terminal-Multiplexer für persistente Sessions

> Praxis-Guide zu screen: Sitzungen starten, ablösen und wiederaufnehmen, Fenster teilen und Prozesse über SSH-Abbrüche hinweg am Laufen halten.

Source: https://www.jpkc.com/db/cheatsheets/shell-system/screen/

<!-- PROSE:intro -->
screen ist ein Terminal-Multiplexer: Er packt mehrere virtuelle Terminals in eine einzige Sitzung, die du jederzeit ablösen (`Ctrl+a d`) und später wieder aufnehmen kannst. Genau das macht ihn auf Servern unentbehrlich – startest du einen langen Build oder ein Backup über SSH, läuft er weiter, selbst wenn die Verbindung abbricht oder du dich ausloggst. Dieser Guide zeigt dir die Befehle für Sitzungen, Fenster, geteilte Bereiche und die `.screenrc`.
<!-- PROSE:intro:end -->

## Sitzungen

`screen` — Startet eine neue, unbenannte Sitzung.

```bash
screen
```

`screen -S <name>` — Startet eine neue, benannte Sitzung.

```bash
screen -S project
```

`screen -ls` — Listet alle aktiven screen-Sitzungen auf.

```bash
screen -ls
```

`screen -r <name>` — Nimmt eine abgelöste Sitzung wieder auf.

```bash
screen -r project
```

`screen -r` — Nimmt die einzige abgelöste Sitzung wieder auf (schlägt fehl, wenn mehrere existieren).

```bash
screen -r
```

`screen -d -r <name>` — Löst eine Sitzung anderswo ab und nimmt sie hier wieder auf.

```bash
screen -d -r project
```

`screen -x <name>` — Hängt sich an eine bereits angehängte Sitzung an (Multi-Display-Modus).

```bash
screen -x project
```

`screen -d <name>` — Löst eine Sitzung aus der Ferne ab, ohne sie wieder aufzunehmen.

```bash
screen -d project
```

`screen -X -S <name> quit` — Beendet eine Sitzung von außen anhand ihres Namens.

```bash
screen -X -S project quit
```

## Tastenkürzel der Sitzung (Prefix: Ctrl+a)

`Ctrl+a d` — Löst dich von der aktuellen Sitzung ab (die Sitzung läuft weiter).

```bash
Ctrl+a d
```

`Ctrl+a \` — Beendet alle Fenster und terminiert die Sitzung.

```bash
Ctrl+a \
```

`Ctrl+a : sessionname <name>` — Benennt die aktuelle Sitzung um.

```bash
Ctrl+a : sessionname myproject
```

`Ctrl+a ?` — Zeigt alle Tastenkürzel an (Hilfe).

```bash
Ctrl+a ?
```

## Fenster

`Ctrl+a c` — Erstellt ein neues Fenster.

```bash
Ctrl+a c
```

`Ctrl+a A` — Benennt das aktuelle Fenster um.

```bash
Ctrl+a A
```

`Ctrl+a "` — Zeigt eine Liste aller Fenster zur Auswahl an.

```bash
Ctrl+a "
```

`Ctrl+a n` — Wechselt zum nächsten Fenster.

```bash
Ctrl+a n
```

`Ctrl+a p` — Wechselt zum vorherigen Fenster.

```bash
Ctrl+a p
```

`Ctrl+a <number>` — Wechselt zum Fenster mit der angegebenen Nummer (0-9).

```bash
Ctrl+a 3
```

`Ctrl+a Ctrl+a` — Wechselt zwischen aktuellem und zuletzt genutztem Fenster.

```bash
Ctrl+a Ctrl+a
```

`Ctrl+a k` — Schließt das aktuelle Fenster (mit Rückfrage).

```bash
Ctrl+a k
```

`Ctrl+a w` — Zeigt eine kurze Fensterliste in der Statuszeile an.

```bash
Ctrl+a w
```

## Bereiche teilen

`Ctrl+a S` — Teilt den Bildschirm horizontal (oben/unten).

```bash
Ctrl+a S
```

`Ctrl+a |` — Teilt den Bildschirm vertikal (links/rechts).

```bash
Ctrl+a |
```

`Ctrl+a Tab` — Setzt den Fokus auf den nächsten Bereich.

```bash
Ctrl+a Tab
```

`Ctrl+a X` — Schließt den aktuellen Bereich (das Fenster läuft weiter).

```bash
Ctrl+a X
```

`Ctrl+a Q` — Schließt alle Bereiche außer dem aktuellen.

```bash
Ctrl+a Q
```

## Kopieren & Scrollback

`Ctrl+a [` — Wechselt in den Kopier-/Scrollback-Modus. Navigation mit Pfeiltasten oder vi-Tasten.

```bash
Ctrl+a [
```

`Space` — Setzt den Anfang der Auswahl (im Kopier-Modus). Erneut drücken zum Kopieren.

```bash
Space
```

`Ctrl+a ]` — Fügt den kopierten Text ein.

```bash
Ctrl+a ]
```

`Ctrl+a Esc` — Wechselt in den Kopier-Modus (Alternative zu Ctrl+a [).

```bash
Ctrl+a Esc
```

`Ctrl+a h` — Schreibt eine Hardcopy des aktuellen Bildschirms in eine Datei.

```bash
Ctrl+a h
```

`Ctrl+a H` — Schaltet das Mitloggen des aktuellen Fensters in eine Datei um.

```bash
Ctrl+a H
```

## Verschiedenes

`Ctrl+a :` — Wechselt in den Befehlsmodus (screen-Kommandos direkt eingeben).

```bash
Ctrl+a : hardstatus alwayslastline
```

`Ctrl+a i` — Zeigt Informationen über das aktuelle Fenster an.

```bash
Ctrl+a i
```

`Ctrl+a t` — Zeigt Systemzeit und Host-Informationen an.

```bash
Ctrl+a t
```

`Ctrl+a x` — Sperrt die screen-Sitzung (Passwort zum Entsperren nötig).

```bash
Ctrl+a x
```

`Ctrl+a Z` — Setzt das Terminal zurück (nützlich nach kaputter Ausgabe).

```bash
Ctrl+a Z
```

`screen -L -S <name>` — Startet eine Sitzung mit automatischem Logging in screenlog.0.

```bash
screen -L -S logged-session
```

## Konfiguration (~/.screenrc)

`defscrollback <n>` — Legt die Größe des Scrollback-Puffers fest (Anzahl Zeilen).

```bash
defscrollback 10000
```

`startup_message off` — Deaktiviert die Startmeldung (Splash).

```bash
startup_message off
```

`hardstatus alwayslastline` — Zeigt die Statuszeile dauerhaft am unteren Rand an.

```bash
hardstatus alwayslastline "%{= kw}%-w%{= BW}%n %t%{-}%+w %-= %D %d.%m.%Y %c"
```

`shell -$SHELL` — Nutzt die Standard-Login-Shell für neue Fenster.

```bash
shell -/bin/bash
```

`bind <key> <command>` — Belegt eine eigene Taste mit einem screen-Befehl.

```bash
bind | split -v
```

`screen -t <title> <n> <command>` — Legt benannte Fenster mit Befehlen automatisch in der .screenrc an.

```bash
screen -t editor 0 vim
screen -t server 1 ./run.sh
screen -t logs 2 tail -f app.log
```

`termcapinfo xterm* ti@:te@` — Aktiviert Maus-Scrolling in xterm-kompatiblen Terminals.

```bash
termcapinfo xterm* ti@:te@
```

<!-- PROSE:outro -->
## Fazit

screen hält deine Arbeit am Leben: Eine abgelöste Sitzung läuft im Hintergrund weiter, egal ob die SSH-Verbindung abreißt oder du dich ausloggst – mit `screen -r <name>` bist du sofort wieder dran, und `screen -x` erlaubt sogar mehreren Personen den Blick auf dieselbe Sitzung. Für den Alltag reichen `screen -S`, `Ctrl+a d`, `screen -ls` und `screen -r`. Willst du nur ein einzelnes Kommando vom Terminal entkoppeln, ist `nohup` schlanker; suchst du modernere Fensterverwaltung, Maus-Support und aktivere Pflege, lohnt der Blick auf `tmux`. screen gilt heute als der ältere, weniger gepflegte Klassiker – ist dafür aber auf praktisch jedem Unix-System vorinstalliert und tut zuverlässig seinen Dienst.

## Weiterführende Links

- [ubuntuusers-Wiki: Screen](https://wiki.ubuntuusers.de/Screen/) – ausführliche deutschsprachige Anleitung zu Installation, Bedienung und `.screenrc`
- [GNU Screen Manual](https://www.gnu.org/software/screen/manual/) (englisch) – offizielles Referenzhandbuch mit allen Optionen und Tastenkürzeln
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [tmux](https://www.jpkc.com/db/cheatsheets/shell-system/tmux/) – moderner Terminal-Multiplexer mit Maus-Support und aktiver Pflege
- [nohup](https://www.jpkc.com/db/cheatsheets/shell-system/nohup/) – einzelne Befehle vom Terminal entkoppeln, ohne kompletten Multiplexer
- [bash](https://www.jpkc.com/db/cheatsheets/shell-system/bash/) – die Standard-Shell, die in jedem screen-Fenster läuft

