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
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.
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
Im letzten Beispiel möchte ich im tmux Command Mode ^b :
mit dem Befehl „attach -t session1
“ zur 1. Session umschalten.
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