tmux
Artikel in Arbeit
Dieser Artikel wird momentan von uname erstellt. Als Fertigstellungsdatum wurde der 28.02.2010 angegeben.
Achtung: Insbesondere heißt das, dass dieser Artikel noch nicht fertig ist und dass wichtige Teile fehlen, oder sogar falsch sein können. Bitte diesen Artikel nicht als Anleitung für Problemlösungen benutzen!
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
tmux 🇬🇧 ist ein sog. Terminal-Multiplexer (vergleichbar mit screen) und ermöglicht den Zugang zu einer beliebigen Anzahl von Terminals (oder Fenstern) und damit zu beliebig gestarteten Programmen. Das Programm wird wie screen
durch ein einzelnes Terminal[2] gesteuert, man kann sich aus Sitzungen ausklinken (detach) und diese zu einem späteren Zeitpunkt wieder aufnehmen (attach).
Ein Anwendungsbeispiel: Wenn man sich über SSH auf einem Server anmeldet und die Sitzung wird unterbrochen, z.B. durch abmelden, dann werden alle gestarteten Programme umgehend beendet (siehe auch Signale -SIGHUP dazu). Um dies zu verhindern startet die div. Programme auf dem Server unter tmux
, anschließend klinkt man sich aus (detach), die Programma laufen im Hintergrund weiter. Zu einem späteren Zeitpunkt nimmt man die Sitzung wieder auf (attach) um z.B. die Ergebisse zu kontrollieren oder weitere Programme zu starten.
Einige Merkmale von tmux:
Leichtgewichtig, da eine Client-Server Struktur.
Farbliche Darstellung mittels ncurses.
Horizontales/vertikales splitten des Bildschirms.
Statusleiste mit Informationen zu Sitzungen, Fenstern, Programmnamen, Hostname und Datum/Uhrzeit.
Copy&Paste zwischen den verschiedenen Anwendungen.
Verwaltung mehrere "paste buffer".
Benennen und finden von Sitzungen.
Steuern mittels Tastenkombinationen und/oder Befehlen/Aliase
Tastaturbelegung von Emacs (standard) oder Vim auswählbar.
Gut dokumentierte Befehlsschnittstelle (manpage).
Anpassbar über die tmux.conf oder zur Laufzeit.
Über Skripte steurbar.
Installation¶
tmux
ist seit Karmic Kola in den Paketquellen enthalten und kann mit
tmux
Befehl zum Installieren der Pakete:
sudo apt-get install tmux
Oder mit apturl installieren, Link: apt://tmux
installiert[1] werden.
Bedienung¶
tmux
wird über ein normales Terminal[2] gestartet:
tmux -words [-28lquv ] [-c -file ... -shell-command ] [-f -file ... -file ] [-L -file ... -socket-name ] [-S -file ... -socket-path ] [command [flags ] ]
Sollte kein Server gestartet sein, so wird dieser automatisch mitgestartet.
tmux
kennt eine Reihe von Aufrufoptionen die in der Manpage sehr gut beschrieben sind. Für den normalen Start einer neuen tmux
-Sitzung reicht der Aufruf
tmux
aus, siehe dazu auch die Beispiele.
Kurztasten¶
tmux
kann fast ausschließlich über Kurztasten (Shortcuts) bedient werden. Die Kommandosequenz wird standardmäßig mit
Strg +
B eingeleitet und die folgende Eingabe wird als weiteres Kürzel interpretiert.
Einige ausgewählte Tastaturkürzel (Shortcuts) | |
Tastaturkürzel | Bedeutung |
Strg + B | Senden des Kurztasten-prefix |
Strg + B ? | Anzeige aller aktiven Shortcuts (keybindings). |
Strg + B d | (detach) Ausklinken/aushängen der akt. Sitzung (Client) und in den Hintergund verschieben, |
Strg + B s | (switch) Wechseln zwischen verschiedenen Sitzungen (Client). |
Strg + B c | (create) Erzeugen eines neuen Fensters (Shell), |
Strg + B & | Beenden der aktuellen Fensters, muss mit y bestätigt werden. |
Strg + B , | Umbenennen des aktuellen Fenstertitels |
Strg + B l | (last) Wechseln zum letzten aktiven Fenster (ist durch - markiert) |
Strg + B p | (previouse) Wechsel zum vorherigen Fenster (z.B. von 3 nach 2). |
Strg + B n | (next) Wechsel zum nächsten Fenster. |
Strg +
B nr. | Wechsel zur Fenster-Nr., nr.=der numerische Bezeichner des Fensters (0,1 ...) |
Strg + B w | (window-list) Anzeige der Liste aller Fenster, mit Pfeiltasten auswählbar. |
Strg +
B f sbg | (find) Suchen nach einem definierten sbg (Suchstring), z.B. Fenstername, und aktivieren des Fensters. |
Steuern der Fensterteile (panes). tmux kennt 5 voreingestellte Fensterlayouts (M-1 bis M-5). | |
Strg + B | Umschalten zwischen den verschiedenen Fensterlayouts (M-1 bis M-5). |
Strg + B % | Fenster horizontal in 2 Teile splitten. |
Strg + B " | Fenster vertikal in 2 Teile splitten. |
Strg + B o | (other) Wechseln zum nächsten Fensterteil (Pfeiltasten sind möglich). |
Strg + B q | (quote) Einbelnden einer Nummernanzeige im Fensterteil (pane numbers). |
Strg + B { | Fensterteil nach links verschieben. |
Strg + B } | Fensterteil nach rechts verschieben. |
Strg + B ! | Herauslösen des aktven Fensterteils als eigenständiges Fenster. |
Strg +
B x | Beenden der aktuellen Fensterteils, muss mit y bestätigt werden. |
Um den Kopiermodus zwischen den Fenstern/Fensterteilen zu nutzen siehe die Manpage und Beispiele unter den Links. |
Beispiele¶
Starten von tmux
in einer neuen Sitzung.
tmux
Starten von tmux
und wiederaufnehmen einer laufenden Sitzung.
tmux attach
Starten von tmux
mit einer Auwahlliste aller laufenden Sitzungen
tmux list-sessions
Starten einer tmux
-Sitzung mit dem Namen HOST1, darin wird ein neues Fenster mit dem Namen "Prozesse" und dem Programm htop gestartet.
tmux new-session -s "HOST1" \; neww -n "Prozesse" 'htop'
Öffen eines neuen Fensters durch Strg + B c oder mit:
tmux neww
Öffnen eines neuen Fensters und starten von htop
ohne das Fenster zu aktivieren
tmux new -d htop
Öffnen des neuen Fensters 1 und starten des Programms top
.
tmux send-keys -t 1 "top" C-m
-t ist dabei das Zielfenster (target) und C-m sendet einen Zeilenumbruch (Enter).
Senden des Zeichens "q" an das Fenster 3 um das darin laufende top
zu beenden.
tmux send-keys -t :3 q
Automatischer Aufruf¶
Mit den folgenden Erweiterung am Ende der Datei .bashrc oder der systemweiten /etc/bash.bashrc wird automatisch zu einer tmux-Session verbunden.
if [ -z $TMUX ]; then tmux attach || tmux new fi
Links¶
tmux🇬🇧 bei sourceforge.net
private Anweisung🇩🇪 von Christian Schneider
Gegenüberstellung🇩🇪 screen/tmux von Christian Schneider
linuxwiki.de🇩🇪 Mit Beispielskipte
openbsd.org🇬🇧 bei Openbsd
archlinux.org🇬🇧 incl. einer tmux.conf
jeffstory.org🇬🇧 Einführung mit vielen Screenshots