ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

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:

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


Diese Revision wurde am 9. März 2011 16:33 von uname erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Shell, Terminal, Server, Fernwartung