Die Verwirrung der Tmux Configs

Linux
12.09.2020 | Andreas Müller

Ich habe vor Kurzem meinen Server von Ubuntu 18.04 auf Ubuntu 20.04 aktualisiert. Dabei wurden — wie sollte es auch anders sein — viele Programme, die ich über die Paketquellen installiert habe, aktualisiert... so auch Tmux.

Tmux (Webseite) ist ein Terminal Multiplexer. Wenn einem z.B. ein Terminal (eine Shell) per SSH nicht ausreichend vorkommt, so kann man sich gleich mehrere neue Fenster erstellen lassen — ohne eine zweite (oder noch mehr) SSH Verbindungen. Für die Leute, denen die Beschreibung bekannt vorkommt: Ja, Tmux ist eine Alternative zu screen, welches ich als sehr in die Jahre gekommen ansehe.

Ich habe mir dafür vor vielen Jahren auch eine Konfiguration erstellt, die meine Bedürfnisse sehr gut abdeckt... doch mit dem Update schmiss es auf einmal sehr viele Fehler, was in der Konfiguration alles nicht mehr passte.

Ich fing also an zu fluchen und wollte von vorne beginnen, doch zum Glück hatte sich garnicht so viel getan.
Dies war die relevante Information aus dem Changelog:

* The individual -fg, -bg and -attr options have been removed; they
  were superseded by -style options in tmux 1.9.

... gut ein Tippfehler im Changelog sagt, dass es angeblich Version 1.9 ist, dabei reden wir von Version 2.9, aber das soll uns jetzt egal sein. Wichtig ist, dass die einzelnen "durchgeschriebenen" Attribute weggefallen sind und stattdessen Optionen hinzugekommen sind.

Aus alt... ... wird also neu
set -g pane-border-bg black
set -g pane-border-fg white
set -g pane-border-style fg=white,bg=black

Das war natürlich leicht zu bewerkstelligen. Somit habe ich nun also eine neue Konfiguration für alle Tmux Versionen von 2.9 an aufwärts.


Kurze Einführung in Tmux

Befehle außerhalb von Tmux:

Befehl Beschreibung
tmux
Startet eine neue Session
tmux new -s <name>
Startet eine neue Session mit dem Namen <name>
tmux ls
Listet alle vorhandenen Sessions auf
tmux at
Bindet in eine existierende Session (attach)
tmux at -t <name>
Bindet in eine explizte Session mit dem Namen <name>
tmux kill-session -t <name>
Terminiert die Session mit dem Namen <name>

Tatenbelegung für Tmux mit dieser Konfiguration:

Tastenkombination Beschreibung
Ctrl + a Generelles Prefix für alle weiteren Interaktionen
c Erzeugt ein neues Fenster in der aktuellen Session
d Lösen aus der aktuellen Session (detach = Die Session läuft im Hintergrund weiter)
s Wechseln zwischen verschiedenen Sessions (Liste)
0 bis 9 Wählt ein Fenster innerhalb einer Session direkt an
w Wechseln zwischen Fenstern einer Session (Liste)
p, n Vorheriges/Nächstes Fenster in der Session (previous/next)
R Lädt die Konfiguration für Tmux erneut aus der Datei (z.B. nach Änderungen)
/ Teilt das aktuelle Panel mit einer vertikalen Linie (rechts/links)
- Teilt das aktuelle Panel mit einer horizontalen Linie (oben/unten)
, , , Bewegen zwischen den Panels innerhalb eines Fensters
k Terminiert (kill) das aktuelle Panel (und alle darin enthaltenen Prozesse)
t Zeigt die aktuelle Uhrzeit im Panel an