Zum Inhalt

47 — tmux: Terminal-Sessions persistent halten

Stand: 2026-03-15

Was ist tmux?

tmux (Terminal Multiplexer) hält Terminal-Sitzungen am Leben, auch wenn die SSH-Verbindung abbricht. Die Sitzung läuft auf dem Server weiter — man verbindet sich einfach neu und macht weiter wo man aufgehört hat.

Warum brauche ich das?

Ohne tmux: Shellfish verliert die Verbindung (iOS suspendiert die App) → Claude Code Session ist weg.

Mit tmux: Shellfish verliert die Verbindung → tmux + Claude Code laufen auf dem Pi weiter → neu verbinden → alles noch da.

Installation

System Status
Pi (raspip5) Installiert (sudo apt install tmux)
Mac Vorinstalliert (macOS)

Grundbefehle

Befehl Was passiert
tmux new -s main Neue Session "main" starten
tmux attach -t main An bestehende Session anhängen
tmux new -As main Anhängen ODER neu erstellen
tmux ls Alle Sessions auflisten
tmux kill-session -t main Session beenden

Tastenkürzel (innerhalb tmux)

Alle Tastenkürzel beginnen mit Ctrl+B, dann die Taste:

Tasten Was passiert
Ctrl+B, dann D Session loslassen (detach), läuft weiter
Ctrl+B, dann C Neues Fenster (Tab) erstellen
Ctrl+B, dann N Nächstes Fenster
Ctrl+B, dann P Vorheriges Fenster
Ctrl+B, dann % Fenster vertikal teilen (links/rechts)
Ctrl+B, dann " Fenster horizontal teilen (oben/unten)
Ctrl+B, dann Pfeiltaste Zwischen geteilten Panels wechseln
Ctrl+B, dann X Aktuelles Panel schließen

Einrichtung Shellfish (iPhone/iPad)

In der Shellfish App den Startup-Command setzen:

  1. Shellfish öffnen
  2. Host "raspip5" bearbeiten (Einstellungen)
  3. Bei Command eintragen: tmux new -As main
  4. Speichern

Ab jetzt landet jede Verbindung automatisch in der tmux-Session.

Einrichtung Mac

Im Mac Terminal diesen Befehl nutzen:

ssh ak@192.168.178.199 -t "tmux new -As main"

Optional als Alias in ~/.zshrc:

alias pi="ssh ak@192.168.178.199 -t 'tmux new -As main'"

Danach reicht pi im Terminal um direkt in die tmux-Session auf dem Pi zu kommen.

Geteilte vs. separate Sessions

Szenario Befehl Effekt
Gleiche Session (gespiegelt) tmux attach -t main Beide Geräte sehen dasselbe
Separate Session tmux new -s mac Unabhängig arbeiten

Gleiche Session bedeutet: Was auf dem iPhone getippt wird, sieht man auf dem Mac und umgekehrt. Nützlich zum "Umziehen" zwischen Geräten.

Separate Sessions sind sinnvoll wenn auf beiden Geräten gleichzeitig unterschiedliche Dinge laufen sollen.

Fenster teilen (Split Screen)

tmux kann ein Terminal-Fenster aufteilen:

+--------------------------+--------------------------+
|                          |                          |
|  Claude Code             |  docker compose logs -f  |
|                          |                          |
+--------------------------+--------------------------+
  • Ctrl+B, % = vertikal teilen (links/rechts)
  • Ctrl+B, " = horizontal teilen (oben/unten)
  • Ctrl+B, Pfeiltaste = Panel wechseln
  • Ctrl+B, X = Panel schließen

Konfiguration

Datei: ~/.tmux.conf auf dem Pi

set -g terminal-overrides ',xterm*:smcup@:rmcup@'
set -g history-limit 10000
  • Erste Zeile reduziert Flickern in Shellfish
  • Zweite Zeile speichert 10.000 Zeilen Scroll-History

Typischer Ablauf

  1. iPhone: Shellfish öffnen → verbindet automatisch → tmux Session "main"
  2. Claude Code starten und arbeiten
  3. iPhone weglegen (Verbindung bricht ab)
  4. Später: iPhone oder Mac → neu verbinden → tmux attach -t main → weiterarbeiten
  5. Oder Mac: pi im Terminal → gleiche Session, alles noch da