Terminal Multiplexer tmux im Einsatz

Terminal Multiplexer tmux

Teil 2: Verwendung von tmux in der Praxis

Im ersten Praxis Teil möchte ich eine tmux-Session mit dem Namen „session1“ starten. In dieser Session gibt es ein Fenster 0 mit einer Shell. Als laufendes Programm starte ich das Monitoring Tool „top“.
Im 2. Schritt führe ich ein „detach“ von dieser Session durch, „top“ läuft in der Session aber weiter. Mit einem „attach“ kann ich mich später wieder zu der Session verbinden.

$ tmux new -s session1

Wie im Teil 1 erwähnt erkennt tmux durch das Prefix ^b, dass die nächste Tasteneingabe nicht für die Applikation in der Shell bestimmt ist. Mit ^b d führe ich ein „detach“ von der tmux Session durch. Danach befindet man sich beim Standard Prompt, wobei die Session und top weiterhin aktiv sind.

$ tmux new -s session1
[detached]

$ tmux ls
0: 1 windows (created Fri Oct 28 21:27:59 2016) [98x23]
session1: 1 windows (created Fri Oct 28 21:48:13 2016) [98x15]

$ pstree -A 3195
tmux-+-bash
        `-bash---top

Mit „tmux list-commands“ erhält man eine detailierte Ausgabe der möglichen tmux Kommandos. Im nächsten Schritt baue ich mit „attach“ zu der Session wieder eine Verbindung auf und teile das Fenster mit dem Shortcut ^b % horizontal. Das Fenster 0 besteht danach aus zwei nebeneinander angeordneten „Panes“. Mit ^b Cursortaste kann man zwischen den Panes wechseln.

$ tmux attach -t session1

Terminal Multiplexer tmux
Nun möchte ich in der bestehenen tmux Session ein zweites Window öffnen, wobei dieses den Namen „production“ erhalten soll. Mit ^b c wird das Fenster erzeugt. Mit ^b , kann ich einen Namen vergeben und mit ^b w wird ein Dialog zum Umschalten zwischen den Fenstern angezeigt. In der Statuszeile wird das aktuelle Fenster durch einen * gekennzeichnet.

Terminal Multiplexer tmux
Im nächsten Beispiel möchte ich nach einem „detach“ von der aktuellen Session eine weitere Session „session2“ im Hintergrund starten. In weiterer Folge wird zur 2. Session eine Verbindung hergestellt. In dieser gibt es genau ein Window und eine Pane Null mit der Shell.

$ tmux new -s session2 -d

$ tmux ls
session1: 2 windows (created Fri Oct 28 21:48:13 2016) [87x15]
session2: 1 windows (created Fri Oct 28 22:28:10 2016) [87x15]

$ tmux attach -t session2

Terminal Multiplexer tmux
Im letzten Beispiel möchte ich im tmux Command Mode ^b : mit dem Befehl „attach -t session1“ zur 1. Session umschalten.
Terminal Multiplexer tmux

Zusammenfasung wichtiger Shortcuts:
^b d ... detach
^b c ... in der Session ein weiteres Fenster öffnen
^b , ... das Window umbennen
^b w ... Fensterdialog anzeigen
^b 0..9 ... in Fenster Nummer x wechseln
^b % ... ein Fenster horizontal in 2 Panes teilen
^b = ... ein Fenster vertikal in 2 Panes teilen
^b q ... zeige die Pane Nummer an
^b Cursor ... zwischen Panes wechseln
^b : ... tmux Command Mode

Wichtige tmux-Befehle:
tmux ls … Sessions anzeigen
tmux attach … zur Session verbinden
tmux new -s session2 -n production … neue Session „session2“ mit einem Window „production“ im Hintergrund starten
tmux attach -t session2 … zur Session „session2“ verbinden

Links:
Teil 1 Einführung in tmux