Die Konsole, die Manche auch als Kommandofenster oder Shell bezeichnen, ist für die Einen der furchtbar langweiligste und komplizierteste Weg irgendwas am System zu verändern. Für die Anderen ist es der Weg der ultimativen Macht und Kontrolle über ein System.
Standardmäßig öffnet man genau 1 Konsole und kann dort Befehle absetzt, Scripte starten oder Programme wie SSH starten und Verbindungen zu anderen Servern aufmachen. Braucht man mehr als nur eine Konsole, dann könnte man weitere Konsolen starten.
Nun gibt es aber Anwendungsszenarien, bei denen man mehrere Dinge parallel machen und sie auch im Auge behalten, oder nur 1 SSH Verbindung zu einem anderen Computer aufmachen möchte, dort aber ebenfalls mehrere Sessions mit z.B. unterschiedlichen Benutzern gleichzeitig starten, oder nicht jedes Mal warten müssen, bis ein Programm seine Arbeit erledigt hat, bevor man weiter machen kann. Und man möchte sich nicht für jede Aufgabe neu einloggen, wo man doch schon eigentlich eingeloggt ist. Hier kommt tmux ins Spiel.
Tmux ist ein sogenannter Terminal Multiplexer. Salopp ausgedrückt: Es vervielfältigt die aktuelle Konsole um weitere virtuelle Konsolen (Prozesse). Also aus einer einzigen Konsole werden viele Konsolen gemacht. Wenn man möchte.
- So gibt es zwei hauptsächliche Anwendungsszenarien. Die beide natürlich parallel nutzbar sind:
- Einerseits kann die (Text) Konsole in verschiedene Bereiche aufgeteilt werden, wie Fenster die auf einem grafischen Desktop nebeneinander und untereinander angeordnet werden.
- vertikale Aufteilung
Strg+b+%
- horizontale Aufteilung
Strg+b+"
- Wechseln zwischen den Fenstern
Strg+b+<Pfeiltasten>
- In das Fenster “reinzoomen” maximieren und wieder zurück zur nomalen Ansicht mit
Strg+b + z
.
Dabei unbedingt beachten: wenn die Strg Taste vor dem z nicht losgelassen wurde, dann interpretiert das System das alsStrg+z
und schiebt den gesamten tmux Prozess in den Hintergrund. Mit dem Befehlfg
(foreground) kann tmux wieder in der Vordergrund geholt werden.
Das alles ist Teil der “Job Kontrolle” mit dem Prozesse in den Hintergrund geschoben werden können und stammt aus einer Zeit, als nur ein Terminalfenster in einem Multitaskingsystem zur Verfügung stand. Auch wenn das Konzept sehr alt ist, ist es immer noch sehr praktisch.
- vertikale Aufteilung
- Andererseits kann man Konsolen (Sessions) hintereinander stapeln, so dass man immer nur eine Konsole zur Zeit sieht
1. Neue Session (Vollbildfenster) erstellenStrg+b+c
2. Wechsel zwischen den SessionsStrg+b+<Nummer>
, beginnt mit 0,1,2,3
Alle diese Fenster kann man mit Strg+d
oder einfach mit der Eingabe von exit
wieder schliessen.
Will man tmux aber nicht schliessen, sondern sich z.B. von einem Server ausloggen, dort aber alle tmux Sessions offen halten, weil ein Prozess dort noch länger läuft, oder man mehrere Fenster angeordnet hat und Prozesse monitored, so kann man
- tmux einfach im Hintergrund weiterlaufen lassen mit
Strg+b+d
(detach) - später die Session wieder aufnehmen indem man in der Konsole tippt:
tmux a
(attach)
Der Vorteil von tmux ist hier ganz klar, dass man nicht nur eine Session vervielfachen kann, sondern auch, dass bei einem Verbindungsabbruch, die Scripte und Programm, die man gestartet hat unbehelligt auf dem entfernten Server weiter laufen. Sobald man wieder Netz hat, verbindet man sich wieder mit dem Server und holt sich die Session mit tmux a
(attach) wieder zurück.
Man sollte dabei im Hinterkopf behalten, dass tmux immer mit dem Benutzer und dessen Rechten neue Sessions aufmacht, mit der tmux gestartet wurde. Braucht man also z.B. viele root Sessions, so sollte man erst zum Benutzer root wechseln, bevor man tmux startet.
Tmux kann noch wesentlich mehr, inklusive einem Theming, wenn man die Farben und die Statuszeile anpassen möchte, oder alle Tasten komplett umkonfigurieren usw. Sehr gute Einstiegsseiten, um mehr darüber zu erfahren sind
- Ubuntuusers Wiki https://wiki.ubuntuusers.de/tmux/
- Tmux Entwickler Seite https://github.com/tmux/tmux/wiki
Meine persönliche .tmux.conf
in meinem Benutzerverzeichnis /home/Benutzer/ sieht momentan so aus
Weitere hyperblog Artikel zum Thema
tmux
- Bash mit vi (vim) Befehlen – vi Mode
- Bash history von allen Terminal Sessions speichern – Zum Beispiel tmux
- Eine tmux.conf Konfiguration
- Pipewire modul-rt Konfiguration
- Audio in Video normalisieren mit ffmpeg
- Nützliche Bash Shortcuts
- Kommando zurück – Bash History Tipps
- Beim ssh login tmux aufrufen
- tmux ein Windowmanager für die Konsole
Views: 9