Linux / Befehl tmux: Trennen und Wiederverbinden von Terminal-Sitzungen

tmux ist ein Terminal-Multiplexer, der mehrere Fenster und Bereiche in einem einzigen Terminal verwaltet. Er ist nützlich, um die Arbeit an der Shell fortzusetzen, selbst wenn Remote-Verbindungen verloren gehen, da Sie eine Sitzung abtrennen und später wieder verbinden können.

tmux-Befehle?

tmux hat eine Hierarchie von Sitzungen, Fenstern und Bereichen. Die Standard-Prefix-Taste ist Ctrl+b, und die nächste Taste wird nach dem Drücken der Prefix-Taste gedrückt. Abgetrennte Sitzungen bleiben erhalten, solange der tmux-Server läuft, aber es wird nicht garantiert, dass sie einen Serverneustart oder das Herunterfahren des tmux-Servers überleben.

Grundlegende Syntax

tmux [command] [option]

Die installierte Implementierung und die Optionen können je nach Distribution variieren. Überprüfen Sie die aktuelle Systemdokumentation mit man tmux.

Beispiele

Starten einer benannten Sitzung

Durch das Benennen ist es später einfacher zu unterscheiden, um welche Arbeit es sich handelt.

tmux new -s work

Überprüfen der Sitzungsübersicht

Finden Sie aktuell verbleibende Sitzungen nach dem Trennen.

tmux ls

Mit einer bestehenden Sitzung wieder verbinden

Verwenden Sie den Namen, der beim Starten angegeben wurde.

tmux attach -t work

Trennen und Wiederverbinden einer Sitzung

tmux trennt die Terminalverbindung von den Shell-Aufgaben. Nach dem Erstellen einer Sitzung können Sie die Standardtastenkombination Ctrl+b gefolgt von d drücken, um den Screen zu verlassen, und die Aufgaben innerhalb der Sitzung können weiterlaufen.

tmux new -s demo
tmux ls
tmux attach -t demo

Beispielausgabe von tmux ls nach dem Trennen (Daten und Status können variieren):

demo: 1 windows (detached)

attach bringt Sie zum Bildschirm einer getrennten Sitzung zurück. Wenn bereits eine Sitzung mit demselben Namen existiert, kann das Erstellen einer neuen Sitzung fehlschlagen, überprüfen Sie daher zuerst mit tmux ls. Es ist nützlich, um die Arbeit aufrechtzuerhalten, selbst wenn die Verbindung zu einem entfernten Server unterbrochen wird, aber wenn der Server selbst neu gestartet wird, verschwindet auch die Standard-tmux-Sitzung.

Hauptoptionen und Format

Optionen/Format Beschreibung
new -s name Erstellen Sie eine neue Sitzung mit einem angegebenen Namen.
ls Listen Sie die Sitzungen des aktuellen tmux-Servers auf.
attach -t name Verbinden Sie sich mit der angegebenen Sitzung.
detach Trennen Sie den aktuellen Client von der Sitzung.
split-window Teilen Sie das aktuelle Fenster in Bereiche auf.

Vorsichtsmaßnahmen bei der Verwendung

In den standardmäßigen Tastenkombinationen trennt das Drücken von Ctrl+b gefolgt von d die Sitzung, c erstellt ein neues Fenster, und % sowie " teilen das Paneel. Die nächste Taste wird nach der Präfix-Taste und nicht gleichzeitig gedrückt. In einigen Distributionen ist tmux möglicherweise nicht installiert, prüfen Sie daher zuerst, ob das Paket verfügbar ist.

Häufig gestellte Fragen

Bleibt die tmux-Sitzung immer erhalten, wenn die SSH-Verbindung getrennt wird?

Solange der tmux-Server und das entfernte System weiterlaufen, können Sie normalerweise wieder verbinden. Es ist keine Funktion, die alles nach einem Serverneustart oder einer Sitzungsbeendigung wiederherstellt.

Offizielle Dokumentation

Sie können das genaue Verhalten von Optionen und Implementierungsunterschieden in der offiziellen tmux-Dokumentation nachprüfen.