TL;DR — Kurzzusammenfassung

Tmux-Sitzungsverwaltung für Remote-Server meistern. Persistente Sitzungen, Panels, Konfiguration, Plugins und praktische DevOps-Workflows erklärt.

Wenn Sie jemals stundenlange Arbeit verloren haben, weil eine SSH-Verbindung mitten in einem Deployment unterbrochen wurde, oder sich dabei ertappt haben, ein Dutzend Terminal-Fenster zu jonglieren, um einen Remote-Server zu überwachen, ist tmux das Werkzeug, das beide Probleme dauerhaft löst. Tmux (Terminal-Multiplexer) führt einen persistenten Serverprozess auf dem Remote-Host aus — Ihre Sitzungen, Panels und laufenden Befehle überleben Verbindungsabbrüche, Neustarts Ihres lokalen Rechners und Netzwerkausfälle. Dieser Leitfaden deckt alles ab: Installation, die Sitzungs-Fenster-Panel-Hierarchie, alle wichtigen Tastenkürzel, ein produktionsbereites ~/.tmux.conf, das Plugin-Ökosystem, Automatisierungsskripte und drei praktische DevOps-Workflows.

Voraussetzungen

Bevor Sie beginnen, benötigen Sie:

  • Ein Linux- oder macOS-System mit Terminal-Zugang (lokal oder via SSH)
  • sudo-Rechte für die Installation
  • Grundkenntnisse der Kommandozeile
  • Einen SSH-Client für die Arbeit mit Remote-Servern

Warum tmux? Die wichtigsten Anwendungsfälle

Drei Szenarien machen tmux für die Remote-Server-Arbeit unverzichtbar:

SSH-Verbindungsabbrüche überleben. Wenn Ihr Internetanbieter ausfällt oder Sie den Laptop-Deckel schließen, stirbt jeder Prozess, der in einem normalen SSH-Terminal läuft. Mit tmux läuft die Sitzung auf dem Server weiter. Ihr lang laufendes rsync, ansible-playbook oder npm run build läuft weiter. Sie verbinden sich neu und hängen sich wieder an.

Multi-Panel-Workflows. Ein typisches Deployment könnte das Beobachten von Logs in einem Panel, das Ausführen von Migrationsskripten in einem anderen und einen Shell bereit für Rollback-Befehle in einem dritten umfassen — alles in einer einzigen SSH-Verbindung.

Pair-Programming. Zwei Ingenieure können sich per SSH mit demselben Server verbinden und dieselbe tmux-Sitzung anhängen. Beide sehen dasselbe Terminal und können in Echtzeit interagieren.


Installation

Tmux ist in den Standard-Repositories aller wichtigen Distributionen verfügbar.

Ubuntu/Debian:

sudo apt update && sudo apt install -y tmux

Fedora/RHEL/CentOS:

sudo dnf install -y tmux

Arch Linux:

sudo pacman -S tmux

macOS (Homebrew):

brew install tmux

Überprüfen:

tmux -V
# tmux 3.4

Jede Version 3.0 oder höher unterstützt alle Funktionen in diesem Leitfaden.


Kernkonzepte: Sitzungen, Fenster und Panels

Die tmux-Hierarchie hat drei Ebenen:

Sitzung — Der äußerste Container. Ein unabhängiger, benannter Arbeitsbereich. Sie können viele Sitzungen gleichzeitig laufen haben: arbeit, deployment, monitor. Sitzungen bleiben bestehen, auch wenn Sie nicht angehängt sind.

Fenster — Lebt in einer Sitzung. Belegt den gesamten Bildschirm wie ein Browser-Tab. Jede Sitzung kann mehrere Fenster haben. Die Statusleiste unten zeigt alle Fenster.

Panel — Eine Unterteilung eines Fensters. Sie teilen ein Fenster horizontal oder vertikal auf, um mehrere Panels zu erstellen, die jeweils ihre eigene Shell oder einen Befehl ausführen.

tmux-Server (persistent auf dem Remote-Host)
  |
  +-- Sitzung: "arbeit"
  |     +-- Fenster 0: "editor"
  |     |     +-- Panel 0: vim src/app.py
  |     |     +-- Panel 1: python -m pytest
  |     +-- Fenster 1: "logs"
  |           +-- Panel 0: tail -f /var/log/app.log
  |
  +-- Sitzung: "deployment"
        +-- Fenster 0: "haupt"
              +-- Panel 0: ansible-playbook deploy.yml

Der Präfix-Key signalisiert tmux, dass die nächste Taste ein Befehl ist. Standard-Präfix ist Ctrl+b.


Wichtige Tastenkürzel

Vollständige Referenz für den täglichen tmux-Gebrauch (Standard-Präfix Ctrl+b):

AktionTastenkürzel
Sitzungen
Von Sitzung trennenCtrl+b d
Sitzungen auflisten und wechselnCtrl+b s
Aktuelle Sitzung umbenennenCtrl+b $
Vorherige SitzungCtrl+b (
Nächste SitzungCtrl+b )
Fenster
Neues Fenster erstellenCtrl+b c
Aktuelles Fenster umbenennenCtrl+b ,
Nächstes FensterCtrl+b n
Vorheriges FensterCtrl+b p
Fenster nach Nummer wechselnCtrl+b 0-9
Fenster auflisten und auswählenCtrl+b w
Aktuelles Fenster schließenCtrl+b &
Panels
Vertikal teilenCtrl+b %
Horizontal teilenCtrl+b "
Zwischen Panels navigierenCtrl+b ←↑↓→
Panels durchschaltenCtrl+b o
Panel-Nummern anzeigenCtrl+b q
Panel zoomen (Vollbild)Ctrl+b z
Mit vorherigem Panel tauschenCtrl+b {
Mit nächstem Panel tauschenCtrl+b }
Panel in eigenes FensterCtrl+b !
Aktuelles Panel schließenCtrl+b x
Layouts durchschaltenCtrl+b Space
Kopiermodus
Kopiermodus aktivierenCtrl+b [
Puffer einfügenCtrl+b ]
Kopiermodus verlassenq
Sonstiges
Befehlszeile öffnenCtrl+b :
Alle Tastenkürzel anzeigenCtrl+b ?
Konfiguration neu ladenCtrl+b r

Sitzungsverwaltung

Sitzungen erstellen

# Neue unbenannte Sitzung
tmux

# Neue benannte Sitzung (immer bevorzugen)
tmux new -s arbeit

# Sitzung mit einem bestimmten Befehl
tmux new -s logs "tail -f /var/log/syslog"

# Sitzung in einem bestimmten Verzeichnis
tmux new -s api -c /var/www/api

Sitzungen auflisten und wechseln

tmux ls

# Beispielausgabe:
# deployment: 2 Fenster (erstellt So 22 Mär 09:15:22 2026)
# monitor: 1 Fenster (erstellt So 22 Mär 08:30:15 2026) (angehängt)
# arbeit: 3 Fenster (erstellt So 22 Mär 07:45:00 2026)

Anhängen und Trennen

# Trennen (Sitzung läuft weiter): Ctrl+b d

# An die letzte Sitzung anhängen
tmux attach

# An eine bestimmte Sitzung anhängen
tmux attach -t arbeit

# Anhängen und andere Clients trennen
tmux attach -t arbeit -d

Sitzungen umbenennen und beenden

tmux rename-session -t alter-name neuer-name
tmux kill-session -t deployment
tmux kill-session -a
tmux kill-server

Fensterverwaltung

# Neues Fenster erstellen: Ctrl+b c
# Aktuelles Fenster umbenennen: Ctrl+b ,
# Zu Fenster 0 wechseln: Ctrl+b 0
# Nächstes/vorheriges: Ctrl+b n / Ctrl+b p
# Fenster auflisten: Ctrl+b w
# Fenster schließen: Ctrl+b &

Panel-Verwaltung

Teilen

# Vertikale Teilung (Panels nebeneinander): Ctrl+b %
# Horizontale Teilung (Panels übereinander): Ctrl+b "

Panels skalieren

# Feinskalierung: Ctrl+b, dann Ctrl + Pfeil gedrückt halten
# Über Befehlszeile (Ctrl+b :):
resize-pane -D 10    # Unten 10 Zeilen
resize-pane -U 10    # Oben 10 Zeilen
resize-pane -L 20    # Links 20 Spalten
resize-pane -R 20    # Rechts 20 Spalten

Panel-Layouts

Tmux hat fünf integrierte Layouts, die Sie mit Ctrl+b Space durchschalten können:

  1. even-horizontal — Panels nebeneinander, gleiche Breite
  2. even-vertical — Panels übereinander, gleiche Höhe
  3. main-horizontal — ein großes Panel oben, kleinere Panels unten
  4. main-vertical — ein großes Panel links, kleinere Panels rechts
  5. tiled — Panels im Raster

Panels trennen und verbinden

# Panel in eigenes Fenster konvertieren: Ctrl+b !

# Panel aus einem anderen Fenster einbinden (via Ctrl+b :)
join-pane -s 2.0    # Panel 0 aus Fenster 2 in aktuelles Fenster verschieben
join-pane -t 3      # Aktuelles Panel in Fenster 3 verschieben

Kopiermodus

Der Kopiermodus gibt Ihnen vollen Zugriff auf den Scroll-Puffer mit Suche und Textauswahl.

Kopiermodus aktivieren und navigieren

# Kopiermodus aktivieren
Ctrl+b [

# Navigation
Pfeiltasten       # Cursor bewegen
BildAuf / BildAb  # Seitenweise scrollen
g                 # Zum Anfang des Puffers
G                 # Zum Ende des Puffers
/suchbegriff      # Vorwärts suchen
?suchbegriff      # Rückwärts suchen
n / N             # Nächste / vorherige Übereinstimmung
q                 # Verlassen

Vi-Modus (Empfohlen)

Zur ~/.tmux.conf hinzufügen:

setw -g mode-keys vi
bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel

Im Kopiermodus:

v    # Auswahl beginnen
y    # Auswahl kopieren
Ctrl+b ]    # Einfügen

Benutzerdefinierte ~/.tmux.conf Konfiguration

Vollständige Startkonfiguration

# ~/.tmux.conf

# Präfix
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# Maus
set -g mouse on

# Farben
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",xterm-256color:Tc"

# Scroll-Puffer
set -g history-limit 50000

# Vi-Modus
setw -g mode-keys vi
bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel

# Indizierung
set -g base-index 1
setw -g pane-base-index 1
set -g renumber-windows on

# Kein Escape-Delay
set -sg escape-time 0

# Panel-Teilungen
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
unbind '"'
unbind %

# Neu laden
bind r source-file ~/.tmux.conf \; display-message "Konfiguration neu geladen"

# Statusleiste
set -g status-position bottom
set -g status-style "bg=#1a1b26,fg=#a9b1d6"
set -g status-left "#[fg=#06b6d4,bold] #S "
set -g status-left-length 30
set -g status-right "#[fg=#a9b1d6] %Y-%m-%d %H:%M "
setw -g window-status-format " #I:#W "
setw -g window-status-current-format "#[fg=#06b6d4,bold] #I:#W* "

Tmux Plugin Manager (tpm) und wichtige Plugins

tpm installieren

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

Am Ende von ~/.tmux.conf hinzufügen:

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'

run '~/.tmux/plugins/tpm/tpm'

Drücken Sie Ctrl+a I, um die Plugins zu installieren.

tmux-resurrect

Speichert und stellt tmux-Sitzungen nach Server-Neustarts wieder her.

# Sitzung speichern: Ctrl+a Ctrl+s
# Sitzung wiederherstellen: Ctrl+a Ctrl+r

tmux-continuum

set -g @continuum-restore 'on'
set -g @continuum-save-interval '15'

tmux-Scripting

4-Panel-Entwicklungsumgebung

#!/usr/bin/env bash
# dev-umgebung.sh

SESSION="dev"
tmux has-session -t "$SESSION" 2>/dev/null && tmux attach -t "$SESSION" && exit

tmux new-session -d -s "$SESSION" -n "editor" -c ~/projekte/api
tmux split-window -h -t "$SESSION:editor" -c ~/projekte/api
tmux split-window -v -t "$SESSION:editor.0" -c ~/projekte/api
tmux split-window -v -t "$SESSION:editor.1" -c ~/projekte/api
tmux select-layout -t "$SESSION:editor" tiled

tmux send-keys -t "$SESSION:editor.0" "vim ." Enter
tmux send-keys -t "$SESSION:editor.1" "npm run dev" Enter
tmux send-keys -t "$SESSION:editor.2" "npm run test -- --watch" Enter
tmux send-keys -t "$SESSION:editor.3" "git log --oneline -10" Enter

tmux new-window -t "$SESSION" -n "logs" -c ~/projekte/api
tmux send-keys -t "$SESSION:logs" "tail -f logs/app.log" Enter

tmux select-window -t "$SESSION:editor"
tmux select-pane -t "$SESSION:editor.0"
tmux attach -t "$SESSION"

tmux vs Screen vs Zellij vs Byobu

FunktiontmuxGNU ScreenZellijByobu
Vertikale TeilungenIntegriertBenötigt PatchIntegriertVia tmux/screen
KonfigurationssyntaxSauberKomplexYAML/KDLVereinfachtes tmux
Plugin-ÖkosystemAusgereift (tpm)MinimalWachsendErbt von tmux
Scripting-SupportAusgezeichnetBegrenztModeratBegrenzt
MausunterstützungAusgezeichnetBegrenztAusgezeichnetAusgezeichnet
Persistenz nach NeustartMit tmux-resurrectNeinNeinMit tmux-resurrect
Aktive EntwicklungJaMinimalJa (Rust)Minimal
Am besten fürErfahrene Nutzer, DevOpsLegacy-SystemeEinsteigerSchnellstart

Praktische Workflows

Lang laufendes Deployment

ssh deploy@prod-01.beispiel.de
tmux new -s migration
./scripts/migration-ausfuehren.sh
# Trennen: Ctrl+a d
exit

# Stunden später
ssh deploy@prod-01.beispiel.de
tmux attach -t migration

Server-Monitoring-Dashboard

+---------------------------+---------------------------+
|                           |                           |
|   Panel 0: htop           |   Panel 1: df -h (watch)  |
|                           |                           |
+---------------------------+---------------------------+
|                           |                           |
|   Panel 2: tail syslog    |   Panel 3: netstat        |
|                           |                           |
+---------------------------+---------------------------+

Zusammenfassung

Tmux löst die zwei grundlegenden Probleme der Remote-Server-Arbeit: Sitzungspersistenz und Terminal-Organisation. Wichtigste Erkenntnisse:

  • Sitzungen überleben SSH-Abbrüche — trennen mit Ctrl+a d, neu verbinden und tmux attach -t name verwenden
  • Drei-Ebenen-Hierarchie — Sitzungen enthalten Fenster, Fenster enthalten Panels
  • Präfix-TasteCtrl+b standardmäßig, Ctrl+a empfohlen in ~/.tmux.conf
  • Zoom (Ctrl+b z) — maximiert ein Panel temporär ohne das Layout zu verlieren
  • Kopiermodus (Ctrl+b [) — Scrollen, Suchen und Kopieren ohne tmux zu verlassen
  • tpm-Plugins — tmux-resurrect speichert Sitzungen nach Neustarts, tmux-continuum speichert automatisch
  • Alles automatisierentmux new-session, split-window, send-keys und select-layout für reproduzierbare Umgebungen

Verwandte Artikel