Zum Hauptinhalt springen
Zurück zur Kategorie

Tmux und Screen: SSH-Sitzungsverwaltung Anleitung

SSH-Sitzungen mit Tmux und GNU Screen verwalten. Installation, Fenster-/Bereichsverwaltung, Detach/Attach, Sitzungspersistenz und Vergleich.

Lesezeit: 12 min Serververwaltung
tmuxscreensshsitzungsverwaltungterminallinuxmultiplexer

Inhaltsverzeichnis

Tmux und Screen: SSH-Sitzungsverwaltung Anleitung

Eines der größten Probleme bei der Arbeit auf Remote-Servern ist der Abbruch der SSH-Verbindung. Wenn die Verbindung unterbrochen wird, werden laufende Prozesse beendet. Tmux und GNU Screen sind Terminal-Multiplexer, die dieses Problem lösen. Diese Anleitung behandelt beide Tools und erklärt, wann welches eingesetzt werden sollte.

Warum Tmux oder Screen verwenden?

Wenn Ihre SSH-Sitzung abbricht:

  • Laufende Build-Prozesse stoppen
  • Downloads werden unterbrochen
  • Lang laufende Skripte werden beendet
  • Geöffnete Texteditoren schließen sich

Tmux und Screen halten Sitzungen auf der Serverseite am Leben. Selbst wenn Ihre Verbindung abbricht, laufen Prozesse im Hintergrund weiter. Wenn Sie sich wieder verbinden, machen Sie genau dort weiter, wo Sie aufgehört haben.

Tmux ist das modernere, aktiv entwickelte Tool. Screen ist älter und oft vorinstalliert. Beide zu kennen ist nützlich.

Tmux installieren

Ubuntu/Debian

hljs bash
sudo apt update
sudo apt install tmux -y

# Version prüfen
tmux -V

CentOS/AlmaLinux/RHEL

hljs bash
sudo dnf install tmux -y
# oder auf älteren Systemen
sudo yum install tmux -y

Tmux Grundlegende Verwendung

Sitzungsverwaltung

hljs bash
# Neue Sitzung starten
tmux

# Benannte Sitzung starten
tmux new-session -s meinprojekt
# oder kurz
tmux new -s meinprojekt

# Von Sitzung trennen (detach) — Prozesse laufen weiter
# Ctrl+b, dann d

# Vorhandene Sitzungen auflisten
tmux list-sessions
# oder kurz
tmux ls

# Sitzung wieder verbinden (attach)
tmux attach-session -t meinprojekt
# oder kurz
tmux attach -t meinprojekt

# Letzte Sitzung verbinden
tmux attach

# Sitzung beenden
tmux kill-session -t meinprojekt

# Alle Sitzungen beenden
tmux kill-server

Der Tmux-Präfix-Taste

Alle tmux-Befehle beginnen mit einer Präfix-Taste. Standard-Präfix: Ctrl+b

Nach dem Senden des Präfixes die Befehlstaste drücken:

BefehlBeschreibung
Ctrl+b dVon Sitzung trennen
Ctrl+b cNeues Fenster erstellen
Ctrl+b nNächstes Fenster
Ctrl+b pVorheriges Fenster
Ctrl+b 0-9Zu nummeriertem Fenster wechseln
Ctrl+b ,Fenster umbenennen
Ctrl+b &Aktuelles Fenster schließen
Ctrl+b %Vertikal teilen (rechts)
Ctrl+b "Horizontal teilen (unten)
Ctrl+b PfeiltastenZwischen Bereichen navigieren
Ctrl+b zBereich Vollbild umschalten
Ctrl+b [Scroll-Modus
Ctrl+b ?Hilfe

Fensterverwaltung

hljs bash
# Neues Fenster in tmux erstellen
# Ctrl+b, dann c

# Fenster auflisten
# Ctrl+b, dann w

# Fenster umbenennen
# Ctrl+b, dann ,

# Fenster schließen
# Ctrl+b, dann &

Bereichsverwaltung (Panes)

Bereiche ermöglichen es, ein einzelnes Fenster in mehrere Terminals aufzuteilen.

hljs bash
# Vertikale Teilung (nebeneinander)
# Ctrl+b, dann %

# Horizontale Teilung (oben/unten)
# Ctrl+b, dann "

# Zwischen Bereichen navigieren
# Ctrl+b, dann Pfeiltasten

# Bereich Vollbild umschalten
# Ctrl+b, dann z

# Bereich schließen
# Ctrl+b, dann x

# Bereichsgröße anpassen
# Ctrl+b, dann Ctrl+Pfeiltasten

Tmux-Konfiguration

Erstellen Sie ~/.tmux.conf zur Anpassung:

hljs bash
nano ~/.tmux.conf
hljs bash
# Präfix auf Ctrl+a ändern (wie Screen)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Mausunterstützung aktivieren
set -g mouse on

# Fensternummerierung bei 1 beginnen
set -g base-index 1
setw -g pane-base-index 1

# Statusleiste anpassen
set -g status-bg colour235
set -g status-fg white
set -g status-left '[#S] '
set -g status-right '%H:%M %d-%b-%y'

# Verlaufslimit erhöhen
set -g history-limit 10000
hljs bash
# Konfiguration neu laden
tmux source-file ~/.tmux.conf

GNU Screen Verwendung

Screen ist älter als tmux, aber auf vielen Systemen vorinstalliert.

Screen installieren

hljs bash
# Ubuntu/Debian
sudo apt install screen -y

# CentOS/AlmaLinux
sudo dnf install screen -y

Screen Grundbefehle

hljs bash
# Neue Sitzung starten
screen

# Benannte Sitzung starten
screen -S meinprojekt

# Von Sitzung trennen
# Ctrl+a, dann d

# Sitzungen auflisten
screen -ls

# Sitzung wieder verbinden
screen -r meinprojekt

# Mit ID verbinden bei mehreren Sitzungen
screen -r 12345.meinprojekt

# Sitzung beenden
screen -X -S meinprojekt quit

Screen-Tastenkürzel

Screen-Präfix-Taste ist Ctrl+a:

BefehlBeschreibung
Ctrl+a dVon Sitzung trennen
Ctrl+a cNeues Fenster
Ctrl+a nNächstes Fenster
Ctrl+a pVorheriges Fenster
Ctrl+a "Fensterliste
Ctrl+a AFenster umbenennen
Ctrl+a SHorizontale Teilung
`Ctrl+a`
Ctrl+a TabZwischen Bereichen wechseln
Ctrl+a [Scroll-Modus
Ctrl+a ?Hilfe

Tmux vs Screen Vergleich

FunktionTmuxScreen
Aktive EntwicklungJaNein
Vertikale TeilungJaJa (neuere Versionen)
MausunterstützungJaBegrenzt
KonfigurationLeistungsstarkGrundlegend
VorinstalliertNeinOft ja
LernkurveMittelNiedrig
Skript-UnterstützungAusgezeichnetGut

Praktische Anwendungsfälle

Lang laufende Prozesse

hljs bash
# Neue Sitzung starten
tmux new -s build

# Langen Befehl ausführen
make all

# Trennen — Prozess läuft weiter
# Ctrl+b d

# Später prüfen
tmux attach -t build

Multi-Panel Server-Überwachung

hljs bash
# Sitzung starten
tmux new -s monitoring

# Vertikal teilen
# Ctrl+b %

# CPU im linken Bereich überwachen
htop

# Zum rechten Bereich wechseln (Ctrl+b rechte Pfeiltaste)
# Disk-I/O überwachen
iostat -x 2

Verwenden Sie Auto-Attach vorsichtig. Es kann auf manchen Systemen mit SSH-schlüsselbasierter Automatisierung in Konflikt geraten.

Erweitern Sie tmux mit dem Tmux Plugin Manager (TPM). Das Plugin tmux-resurrect bewahrt Sitzungen auch über Systemneustarts hinaus.

Fazit

Tmux und Screen sind unverzichtbare Tools für die Remote-Serververwaltung. Beim Ausführen langer Prozesse, Build-Aufgaben oder kontinuierlicher Überwachungsbefehle auf REXE-Servern stellen diese Tools sicher, dass Ihre Arbeit auch bei einem SSH-Verbindungsabbruch sicher ist. Screen ist ein einfacherer Einstiegspunkt für Anfänger, aber die Flexibilität und Funktionen von Tmux machen es zur besseren langfristigen Wahl.