Tmux Terminal Multiplexer

tmux

Teil 1 Einführung in tmux

Der Terminal Multiplexer„Tmux“ ist neben „Screen“ das Werkzeug, um auf der Command Line mehrere Shells parallel betreiben zu können. Nützlicher Nebeneffekt, die Shells bleiben bei Bedarf nach dem Logout weiter bestehen.

Mit tmux kann zu einem späteren Zeitpunkt wieder eine Verbindung zu dieser Shell aufgebaut werden. Dieses Feature ist besonders bei Fernwartung mittels Secure Shell über schlechte Leitungen oder bei lang laufenden Upgrades sehr nützlich.
Etwas gewöhnungsbedürftig sind die Vielzahl an Tastenkombinationen bei der Bedienung. Allerdings kann man diese perfekt über eine Konfigurationsdatei an eigene Bedürfnisse anpassen. Sind die wichtigsten Shortcuts einmal einstudiert, ist man im Gegenzug auf der CLI ohne Umwege über Mausklick flott unterwegs.

Beim Start von tmux wird eine „Session“ geöffnet. Sogenannte „Windows“ gruppieren in der Session ein oder mehrere „Panes“ wobei jede Shell in einer Pane läuft. Das bedeutet, man könnte zum Beispiel mit Hilfe von zwei Fenstern zwischen Produktion- und Testsystem unterscheiden. Innerhalb eines „Windows“ werden ein oder mehrere Shells (Panes) betrieben.
Überaus brauchbar, um bei Tätigkeiten gleichzeitig die Logfiles mittels „tail -f“ im Auge zu behalten. Die Panes können im Fenster beliebig horizontal oder vertikal angeordnet werden.

tmux - Session - Window -Pane

Grundlegende Dinge zu tmux

Der Befehl „tmux“ startet eine Session und ist bei allen gängigen LINUX Distributionen vorhanden. Die Installation erfolgt mit „sudo apt-get install tmux“ (Debian), „sudo zypper install tmux“ (SuSE), „sudo yum install tmux“ (RHEL).

In einer tmux Sessions sind Progamme aktiv. Es ist ein Mechanismus notwendig, der es erlaubt an tmux Befehle zu senden, ohne das ein darin laufendes Programm diese interpretiert. Dazu verwendet man das sogenannte „Command Prefix“ Ctrl-b (CTRL und b Tasten gleichzeitig drücken). Als kurze Schreibweise verwende ich in diesem Dokument ^b. Dem Prefix folgt der eigentliche Shortcut, welchen tmux interpretiert.

Es gibt 2 Methoden zur Steuerung des Terminal Multiplexers. Entweder direkt in der Session durch „Command Prefix“ + Tastenkürzel oder ähnlich wie beim „vi“ im tmux Command Mode. Soll zum Beispiel ein zusätzliches „Window“ geöffnet werden, kann das in einer tmux Session durch folgende 2 Lösungsvarianten realisiert werden. Auf der linken Seite in der Statuszeile werden die „Windows“ angezeigt.

Variante 1: ^b c
Variante 2: Mit ^b : in den Command Mode wechseln und „new-window“ eingeben

tmux-new-window
Mit „exit“ können die Panes(Shells) wieder beendet werden.

Im nächsten Beitrag möchte ich grundlegende tmux-Anweisungen behandeln, welche für eine sinnvolle Nutzung von tmux notwendig sind.

Links:

Teil 2 Terminal Multiplexer tmux im Einsatz