tmux
Artikel in Arbeit
Dieser Artikel wird momentan von cyrano erstellt. Als Fertigstellungsdatum wurde der 31.12.2011 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:
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! 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) für die Konsole. tmux ermöglicht es, innerhalb eines Terminals[2] oder einer Terminalemulation verschiedene virtuelle Konsolensitzungen zu erzeugen und zu verwalten. Sitzungen können getrennt ("detach") und später weitergeführt werden ("attach"). Mit tmux ist es möglich, Konfigurationen für unterschiedliche Zwecke zu definieren, so dass man die jeweils gewünschte Umgebung zur Verfügung hat.
Merkmale von tmux:
Client-Server Struktur.
Farbliche Darstellung mittels ncurses.
Horizontales/vertikales Splitten des Fensters.
Fenster können frei vergrößert oder verkleinert werden
Statusleiste mit Informationen zu Sitzungen, Fenstern, Programmnamen, Hostname und Datum/Uhrzeit.
Copy&Paste zwischen den verschiedenen Anwendungen.
Verwaltung mehrerer "paste buffer".
Benennen und Finden von Sitzungen.
Steuerung mittels Tastenkombinationen und/oder Befehlen/Aliase
Tastaturbelegung frei wählbar.
Gut dokumentierte Befehlsschnittstelle (manpage).
Anpassbar über die tmux.conf oder zur Laufzeit.
Über Skripte steuerbar.
Installation¶
tmux ist in den Paketquellen enthalten und kann mit
tmux (universe)
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
Sollte kein Server gestartet sein, wird dieser automatisch mitgestartet. tmux kennt eine Reihe von Aufrufoptionen die in der Manpage sehr gut beschrieben sind.
Start von tmux mit Unterstützung für 256 Farben im Terminal und eigener Konfigurationsdatei:
tmux -2 -f tmux.conf
Alternativ kann tmux mit einem Bash-Script (z.B. tmux.sh) gestartet werden, in der die jeweilige tmux.conf eingebunden wird:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/bin/bash SESSION=main tmux="tmux -2 -f tmux.conf" # if the session is already running, just attach to it. $tmux has-session -t $SESSION if [ $? -eq 0 ]; then echo "Session $SESSION already exists. Attaching." sleep 1 $tmux attach -t $SESSION exit 0; fi # create a new session, named $SESSION, and detach from it $tmux new-session -d -s $SESSION $tmux new-window -t $SESSION:0 $tmux split-window -h -t $SESSION:0 $tmux new-window -t $SESSION:1 $tmux new-window -t $SESSION:2 $tmux new-window -t $SESSION:3 $tmux split-window -h -t $SESSION:3 $tmux new-window -t $SESSION:4 $tmux select-window -t $SESSION:0 $tmux attach -t $SESSION |
Beispiel für eine ~/.tmux.conf:
1 2 3 4 5 6 7 8 | setw -g mode-mouse on set-option -g set-clipboard on set -g history-limit 1000 set -g status-interval 1 set -g status-left '#H#[default]' set -g status-right '#(cut -d ” ” -f 1-4 /proc/loadavg)#[default] #%Y-%m-%d %H:%M:%S#[default]' setw -g monitor-activity on set -g visual-activity on |
Beispiele¶
Auflisten aller aktuell laufenden tmux-Sitzungen
tmux ls
Neue tmux-Sitzung mit dem Namen "hans" starten.
tmux new -s hans
Verbinden zur bestehenden Sitzung mit dem Namen "hans"
tmux attach -t hans
Beendet tmux Server und Clients und zerstört alle Sessions
tmux kill-server
Kurztasten¶
Das Programm kann 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 |
? | Anzeige aller aktiven Shortcuts (keybindings). |
D | (detach) Ausklinken/aushängen der akt. Sitzung (Client) und in den Hintergund verschieben, |
S | (switch) Wechseln zwischen verschiedenen Sitzungen (Client). |
C | (create) Erzeugen eines neuen Fensters (Shell), |
& | Beenden der aktuellen Fensters, muss mit y bestätigt werden. |
, | Umbenennen des aktuellen Fenstertitels |
L | (last) Wechseln zum letzten aktiven Fenster (ist durch - markiert) |
P | (previous) Wechsel zum vorherigen Fenster (z.B. von 3 nach 2). |
N | (next) Wechsel zum nächsten Fenster. |
1 | Wechsel zur Fenster-Nr., nr.=der numerische Bezeichner des Fensters |
⇧ + | Aktuelles Pane horizontal teilen (erzeugt weiteres Pane) |
⇧ + % | Aktuelles Pane vertikal teilen (erzeugt weiteres Pane) |
W | Liste der Fenster anzeigen. Fenster wechseln. |
↓ / ↑ | Ins vorherige/nächste Pane wechseln |
Wechsel zwischen verschiedenen Aufteilungen der Panes | |
! | Das aktuelle Pane aus dem Fenster lösen und ein neues Fenster mit diesem Pane erstellen. |
Links¶
🇬🇧 Projektseite von tmux mit Beispielen und ausführlicher Dokumentation.