tmux Anleitung: Terminal-Sessions, die jeden Verbindungsabbruch überleben

Wer per SSH auf Servern arbeitet, verliert früher oder später mitten in einem Upgrade die Verbindung. Mit tmux ist das egal: Eure Programme laufen einfach weiter. In dieser tmux Anleitung steht deshalb das Wichtigste ganz vorne, also alles, was ihr für den Einsatz im Alltag braucht. Vergleich mit screen und Cheat Sheet kommen zum Schluss.

Was ist tmux und welche Probleme löst es?

tmux ist ein Terminal-Multiplexer. Ein Hintergrundprozess, der tmux-Server, hält eure Shells und Programme am Leben, egal ob gerade ein Terminal daran hängt oder nicht (tmux Wiki: Getting Started). Daraus ergeben sich drei ganz praktische Vorteile:

  • SSH-Abbrüche sind egal. Upgrade, rsync oder Build laufen weiter, ihr holt euch die Session nach dem Neuverbinden einfach zurück. [Interner Link: SSH-Härtung für euren Server]
  • Viele Programme, ein Fenster. Ein Terminal lässt sich in mehrere Bereiche aufteilen, etwa links htop, rechts die Container-Logs, darunter eine freie Shell.
  • Eine Session, mehrere Rechner. Morgens am Desktop starten, abends vom Laptop aus weitermachen, alles ist noch offen.

Drei Begriffe braucht ihr: Eine Session ist euer benannter Arbeitsplatz. Darin liegen Windows, vergleichbar mit Browser-Tabs. Und jedes Window lässt sich in Panes aufteilen, also Bereiche mit eigener Shell.

tmux Anleitung: In fünf Schritten zur ersten Session

Mehr als diese fünf Schritte braucht ihr für den Start nicht:

# 1. Installieren 
# 1.1 Debian/Ubuntu 
sudo apt install tmux

# 1.2 Fedora: dnf) 
sudo dnf install tmux

# 1.3 Arch/CachyOS:
sudo pacman -S 

# 1.4 openSUSE: zypper)
sudo zypper install tmux

# 2. Session "main" starten oder, falls es sie schon gibt, wieder anhängen
tmux new -A -s main

# 3. Abkoppeln: Strg+B drücken, loslassen, dann d
#    Die Session läuft weiter, auch wenn jetzt die SSH-Verbindung abreißt

# 4. Später oder von einem anderen Rechner aus zurückholen
tmux attach -t main

# 5. Session beenden, wenn ihr fertig seid
tmux kill-session -t main

Die Paketnamen stehen im tmux Wiki: Installing, -A sorgt dafür, dass tmux an eine bestehende Session andockt statt eine neue anzulegen (tmux Manpage).

Tipp: Legt euch dafür einen Alias in die .bashrc, dann tippt ihr nach jedem SSH-Login nur noch t:

alias t='tmux new -A -s main'

Zwei Dinge solltet ihr von Anfang an wissen:

  • Der Prefix: Jedes Tastenkürzel beginnt mit Strg+B. Ihr drückt es, lasst los und drückt dann die eigentliche Taste.
  • Die Grenze: tmux schützt vor Verbindungsabbrüchen, nicht vor einem Neustart. Startet der Rechner neu, sind die Sessions weg. Wer ihr sie retten wollt, schaut euch das Plugin tmux-resurrect an.

Praxisbeispiel: ein Monitoring-Fenster für den HomeLab-Server

So baut ihr euch in einer Minute ein Fenster mit htop, Container-Logs und freier Shell:

  1. tmux new -s homelab starten und btop aufrufen.
  2. Strg+B % drücken: Rechts daneben entsteht ein neues Pane. Dort docker compose logs -f starten.
  3. Strg+B " drücken: Das rechte Pane wird geteilt, unten habt ihr eine freie Shell.
  4. Mit Strg+B plus Pfeiltaste springt ihr zwischen den Panes, Strg+B z holt eines auf Vollbild und wieder zurück.
  5. Strg+B d koppelt ab. Beim nächsten tmux attach -t homelab ist alles noch da. Falls es eure einzige tmux-Sesstion auf dem Server ist, dann reicht auch ein tmux attach

Docker auf Ubuntu habt ihr noch nicht am Laufen? Kein Problem, dafür habe ich euch eine eigene Anleitung geschrieben.

Eine kleine .tmux.conf für den Start

Toll ist übrigens, dass tmux auch mit der Maus bedient werden kann. Vier Einstellungen machen tmux deutlich angenehmer. Legt sie in ~/.tmux.conf ab, alternativ in ~/.config/tmux/tmux.conf (tmux Manpage auf GitHub):

set -g mouse on             # Panes anklicken, Größe ziehen, Mausrad scrollt
set -g base-index 1         # Windows ab 1 zählen, passt zur Tastatur
setw -g pane-base-index 1   # Panes ebenso
set -g history-limit 50000  # mehr Verlauf, Standard sind 2000 Zeilen
bind r source-file ~/.tmux.conf \; display "Konfiguration neu geladen"

tmux liest die Datei nur beim Start des Servers (tmux Wiki: Getting Started). Läuft schon eine Session, übernehmt ihr Änderungen einmal mit tmux source-file ~/.tmux.conf, danach reicht Strg+B r. Wer von screen kommt, legt den Prefix mit set -g prefix C-a, unbind C-b und bind C-a send-prefix auf Strg+A.

tmux vs. screen: Was ist der Unterschied?

Bevor ich vor kurzem auf tmux gestoßen bin, habe ich vieeeele Jahre screen benutzt. GNU Screen ist der Urahn der Terminal-Multiplexer. 1987 an der TU Berlin entstanden (Wikipedia) und im Kern fähig zu dem, was auch tmux kann. tmux kam 2007 dazu, geschrieben von Nicholas Marriott und veröffentlicht unter der freizügigen ISC-Lizenz (Wikipedia). Aktuell ist tmux 3.7c (GitHub Releases); mit 3.7 kamen im Juni 2026 sogar schwebende Panes dazu (Linuxiac).

tmuxGNU Screen
Erste Version20071987
LizenzISCGPL-3.0-or-later
Aktuelle Version3.7c (August 2026)5.0.2 (Juli 2026)
PrefixStrg+BStrg+A
Bildschirm aufteilenWindows mit PanesFenster in Regionen
In RHEL 8 enthaltenjanein

Die tmux-Entwickler selbst nannten als Vorteile ihr Client-Server-Modell mit einem Server für alle Sessions, einheitliche Befehle für Shell und Tastenkürzel, die Trennung von Windows und Panes sowie mehrere Paste-Buffer. Als Nachteil räumten sie ein, dass tmux höhere Anforderungen an das Terminal stellt (tmux FAQ, Version 2.1, Stand 2015).

Der größere Unterschied liegt heute in der Pflege. Red Hat hat screen mit RHEL 8.0 aus der Distribution genommen, weil die alte Codebasis schwer zu warten ist, und setzt auf tmux (Red Hat). 2025 fand das SUSE-Security-Team fünf Sicherheitslücken in screen und beklagte fehlende Manpower im Projekt (SUSE Security Blog), behoben wurden sie mit screen 5.0.1 (Release-Ankündigung).

Meine Empfehlung: Wer screen im Muskelgedächtnis hat, muss nicht über Nacht wechseln. Wer neu einsteigt, nimmt tmux.

tmux Cheat Sheet: Die wichtigsten Befehle zum Start

Alles auf einen Blick, basierend auf der tmux Manpage. Speichert es euch ab.

Befehle in der Shell

BefehlWirkung
tmux new -s nameNeue Session mit Namen starten
tmux new -A -s nameAn Session anhängen, sonst neu anlegen
tmux new -d -s nameSession im Hintergrund starten
tmux lsAlle Sessions auflisten
tmux attachAn die zuletzt genutzte Session anhängen
tmux attach -t nameAn eine bestimmte Session anhängen
tmux attach -d -t nameAnhängen und andere Clients abhängen
tmux kill-session -t nameSession beenden
tmux kill-servertmux komplett beenden, alle Sessions
tmux source-file ~/.tmux.confKonfiguration neu laden
tmux -VVersion anzeigen

Tastenkürzel (erst Strg+B, dann die Taste)

TasteWirkung
dAbkoppeln, Session läuft weiter
cNeues Fenster
n / pNächstes / vorheriges Window
0 bis 9Window direkt wählen
,Window umbenennen
%Pane nebeneinander teilen
"Pane übereinander teilen
PfeiltastenZwischen Panes wechseln
zPane zoomen und zurück
xPane schließen (mit Rückfrage)
[Scrollen und Kopieren, q beendet
]Zuletzt Kopiertes einfügen
s / wSession / Window aus Liste wählen
*Floating Pane öffnen (ab tmux 3.7)
?Alle Tastenkürzel anzeigen

Wichtige Parameter

ParameterBedeutung
-s nameName der Session (bei new)
-t zielZiel: Session, Window oder Pane
-dBei new: im Hintergrund starten. Bei attach: andere Clients abhängen
-ABei new: an bestehende Session anhängen
-h / -vBei split-window: nebeneinander / übereinander teilen

Fazit: tmux gehört auf jeden Server

tmux ist eines dieser kleinen freien Werkzeuge, die man nach einer Woche nicht mehr hergeben will: kein Konto, keine Cloud, keine Lizenzkosten, dafür Sessions, die jeden SSH-Abbruch überleben. Gegenüber screen hat es für mich wegen der aktiveren Pflege klar die Nase vorn. Wenn ihr aus dieser tmux Anleitung nur eine Sache mitnehmt: Tippt nach dem nächsten SSH-Login tmux new -A -s main.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert