Warum das nötig ist
Startest du einen Befehl über SSH und die Verbindung bricht ab, bekommt der Prozess ein Abbruchsignal und stirbt. Bei einem ls ist das egal, bei einem halb fertigen Datenbank-Import nicht. tmux entkoppelt die laufenden Programme von deiner Verbindung.
Installation und erster Start
apt install tmux
tmux new -s arbeit
Du bist jetzt in einer benannten Sitzung. Alles, was hier läuft, überlebt einen Verbindungsabbruch.
Die drei Handgriffe, die du brauchst
Alle Befehle beginnen mit dem Präfix Strg+b, danach folgt die eigentliche Taste.
- Strg+b, dann d — Sitzung verlassen, alles läuft weiter
tmux ls— laufende Sitzungen anzeigentmux attach -t arbeit— zurück in die Sitzung
Mehr braucht es für den Anfang nicht. Wer will, teilt das Fenster zusätzlich mit Strg+b, % senkrecht oder mit " waagerecht.
Der typische Ablauf
- Per SSH verbinden
tmux attach -t arbeitoder neu anlegen, falls es die Sitzung nicht gibt- Arbeiten
- Mit Strg+b, d aussteigen — nicht mit
exit, das beendet die Sitzung wirklich
Wann tmux nicht die Antwort ist
Für einen dauerhaft laufenden Dienst ist tmux das falsche Werkzeug. Ein Bot oder eine Anwendung, die immer laufen soll, gehört als systemd-Service eingerichtet — dann startet sie auch nach einem Neustart des Servers automatisch. tmux ist für interaktive Arbeit gedacht, nicht als Ersatz für eine ordentliche Dienstverwaltung.
Die Alternative für Eilige
Für einen einzelnen langen Befehl genügt oft:
nohup mein-langer-befehl > ausgabe.log 2>&1 &
Das läuft ebenfalls weiter, lässt sich aber nicht wieder betreten. Für alles, wo du zwischendurch nachsehen willst, ist tmux die bessere Wahl.