tmux: So funktioniert der Terminal-Multiplexer
Mit dem Terminal-Multiplexer tmux nutzen Sie Multitasking mit Kommandozeilen Ihrer gewählten Linux-Distribution. Sie können mit tmux in einem Terminal mehrere Sitzungen gleichzeitig erzeugen, bearbeiten, trennen oder wieder zusammenführen.
Das Betriebssystem Linux zählt neben Windows und macOS zu den beliebtesten Distributionen, ist Open Source und damit kostenlos. Die Steuerung und Verwaltung einer der vielen Linux-Distribution wie Ubuntu, Debian oder Linux Mint erfolgen häufig mittels Kommandozeile bzw. über das Terminal und Linux-Befehle. Um Konsolensitzungen parallel in einem Terminal zu nutzen, zu verwalten und zu konfigurieren, kommen sogenannte Terminal-Multiplexer wie GNU screen oder tmux zum Einsatz.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
Was ist tmux?
Der Open-Source-Terminal-Multiplexer tmux wurde von Nicholas Marriott entwickelt und erstmals 2007 veröffentlicht. In seinen Funktionen ähnelt tmux dem Terminal-Multiplexer GNU screen, denn beide geben Ihnen die Möglichkeit, mit mehreren Konsolenfenstern in einer Terminalsitzung zu arbeiten und diese in separate Fensterbereiche zu unterteilen oder zu trennen, während Sie ein Shell-Skript schreiben. Sie können auf diese Weise sogar parallel und idealerweise per Secure Shell (SSH) in Remote-Sitzungen mit anderen zusammenarbeiten.
Über tmux geben Sie Kommandozeilenbefehle ein, um Ihre Linux-Distribution zu steuern und zu bearbeiten. Dazu zählen beispielsweise Befehle für die Vergabe der Verzeichnisrechte mit chmod oder der „shutdown -h“-Befehl für den einfachen Linux-Shutdown. Während Sie tmux in Ubuntu, Linux oder anderen Linux-Distributionen problemlos einsetzen können, lässt sich tmux in Windows nur über das WSL bzw. WSL2 (Windows-Subsystem für Windows 2) verwenden. Mit dem WSL2 können Sie Linux-Anwendungen und Linux-Tools auch in Windows nutzen.
Sie suchen für Ihre Linux-Projekte den richtigen Hosting-Partner? Dann nutzen Sie Linux Hosting von IONOS mit flexiblen Tarifen, flexibel skalierbarer Performance, SSL, DDoS-Schutz und HTTP/2.
Bedienung von tmux erklärt
Nach der Installation über die offiziellen Linux-Paketquellen lässt sich tmux einfach über das Terminal mit dem Befehl „tmux“ starten. Die Bedienung des Terminal-Multiplexers erfolgt über ein typisches Terminal. Voraussetzungen für die Verwendung von tmux sind:
- Linux-Distribution bzw. ein Linux-basiertes System
- Nutzerprofil mit Root-Rechten
- Zugriff auf Terminal und Kommandozeilenbefehle/Tastenkürzel
Die wichtigsten Aspekte der tmux-Bedienung sind Terminal-Sitzungen, Fenster und Panels:
- Terminal-Sitzungen: In Terminal-Sitzungen führen Sie Aufgaben und Befehle aus und bedienen Ihre Linux-Distribution.
- Fenster: Möchten Sie innerhalb einer Sitzung spezifische Aufgaben separat ausführen, können Sie mit tmux parallel mit mehreren Fenstern in einer Sitzung gleichzeitig arbeiten.
- Panes: Sie können diese Fenster zudem in verschiedene Bereiche („Panes“) aufteilen, um z. B. Error Logs laufen zu lassen, während Sie im gleichen Fenster andere Aufgaben erledigen.
Zur Bedienung von tmux kommen Kommandozeilenbefehle sowie Tastenkombinationen zum Einsatz. Wir stellen im Folgenden die wichtigsten Befehle und Tastenkürzel vor.
tmux-Befehle
Installation von tmux unter Linux über den offiziellen Linux-Paketmanager:
apt-get install tmux
Installation von tmux unter Ubuntu und Debian:
sudo apt-get install tmux
tmux starten
tmux
Neue tmux-Sitzung starten und benennen
tmux new -s [Sitzungsname]
tmux-Sitzung beenden
exit
Verbindung zu letzter tmux-Sitzung wiederherstellen
tmux a -t [Sitzungsname]
oder
tmux a #
Alle tmux-Sitzungen anzeigen (Anzeigen von Sitzungsnamen und Anzahl geöffneter Fenster)
tmux 1s
Panes anpassen mit [Strg] + [B] + [:] und resize-pane
Wenn Sie ein Fenster in Panes aufteilen, haben Sie die Möglichkeit, die Panes nach Belieben zu konfigurieren. Hierzu drücken Sie zunächst die Tastenkombination [Strg] + [B] + [:]. Nun können Sie mit folgenden Befehlen Panes anpassen:
- resize-pane -D: Trennlinie zwischen Panes nach unten („downwards“) bewegen
- resize-pane -U: Trennlinie zwischen Panes nach oben („upwards“) bewegen
- resize-pane -R: Trennlinie zwischen Panes nach rechts bewegen
- resize-pane -L: Trennlinie zwischen Panes nach links bewegen
Sie können die Trennlinie auch wie folgt um vordefinierte Zellen bewegen; dies wirkt sich jedoch auf alle Panes im Fenster aus:
- resize-pane -U 10: Trennlinie 10 Zellen nach oben bewegen
- resize-pane -t 2 -R 5: Trennlinie 5 Zellen nach rechts bewegen
Pane maximieren und minimieren (zuvor die Tastenkombination [Strg] + [B] + [:])
resize-pane -Z
Abtrennen („detach“) von bestehender Sitzung (ggf. mit Sitzungsnamen)
tmux detach
Verbinden („attach“) zu bestehender Sitzung (ggf. mit Sitzungsnamen)
tmux attach
tmux-Tastenkombinationen
Abgesehen von der Steuerung und Ausführung über Kommandozeilenbefehle und Skripte erfolgt die Bedienung von tmux über Tastenkombinationen. Um die Steuerung über Tastenkürzel einzuleiten, drücken Sie [Strg] + [B]. Alle nachfolgenden Eingaben lösen die gewünschte Aktion aus. Zu den wichtigsten Kürzeln zählen:
Befehle für Sitzungen:
- S: Anzeige aller Sitzungen und Wechsel zwischen Sitzungen
- $: Aktuelle Sitzung umbenennen
- D: Bestehende Sitzung abtrennen („detach“) und in Hintergrund verschieben
- ?: Anzeige der aktuell aktiven Tastenkombinationen (Hilfe-Bereich öffnen)
Befehle für Fenster:
- C: Neues Fenster erzeugen/öffnen
- W: Alle aktuell bestehenden Fenster auflisten, zwischen Fenstern wechseln
- L: Zum letzten benutzten Fenster wechseln
- P: Zum chronologisch vorausgehenden Fenster wechseln
- N: Zum chronologisch nächsten Fenster wechseln
- ,: Aktuelles Fenster umbenennen
- &: Aktuelles Fenster beenden (mit „y“ bestätigen)
- 1, 2, 3, (…): Zu Fenster Nummer X springen
- [: Scrollmodus nutzen (mit Pfeiltasten in aktuellem Fenster scrollen)
Befehle für Panes:
- X: Aktuelles Pane schließen
- %: Aktuelles Pane vertikal teilen (zweites Pane im Fenster entsteht)
- ": Aktuelles Pane horizontal teilen (zweites Pane im Fenster entsteht)
- Pfeiltasten (links, rechts, oben, unten): Navigieren zwischen den Panes
- H: Zum linken Pane springen
- I: Zum rechten Pane springen
- J: Zum unteren Pane springen
- K: Zum oberen Pane springen
- Q: Anzahl der Panes anzeigen
- O: Chronologisch durch alle Panes navigieren
- }: Aktuelles Pane mit den darauffolgenden vertauschen
- {: Aktuelles Pane mit dem vorausgehenden vertauschen
- Leertaste: Zwischen den Aufteilungen von Panes wechseln
- !: Aktuelles Pane lösen und in neuem Fenster öffnen
tmux installieren und anwenden: Schritt für Schritt
Halten Sie sich an folgende Schritte, um tmux zu installieren und zu benutzen:
Schritt 1: Installieren Sie den Terminal-Multiplexer aus den offiziellen Paketquellen von Linux, indem Sie den Befehl zum Installieren von Paketen nutzen: apt-get install tmux
Unter Debian oder Ubuntu müssen Sie den Zusatz „sudo“ verwenden: sudo apt-get install tmux
Schritt 2: Starten Sie tmux, indem Sie im Terminal „tmux“ eingeben. Wenn tmux startet, sehen Sie unten eine Statusanzeige bestehend aus dem Hostnamen (Nutzername@host-server), der Zeit und dem Datum. Unten links sehen Sie den Namen der Sitzung (falls benannt) und die Anzahl der Fenster in folgendem Format „[0] 0:bash*“. Das erste Fenster trägt die Bezeichnung „0“. Sollte ein Prozess im Fenster laufen, wird dieser nach der 0 angezeigt (z. B. „0:bash*“).
Schritt 3: Steuern Sie tmux, indem Sie Kommandozeilenbefehle und Tastenkürzel verwenden. Jeden Befehl bzw. jedes Tastenkürzel leiten Sie mit [Strg] + [B] bzw. beim Konfigurieren von Panes mit [Strg] + [B] + [:] ein, um die Aufmerksamkeit von tmux zu erhalten.
Schritt 4: Starten Sie eine neue benannte Sitzung, indem Sie den Befehl „tmux new -s“ verwenden. Nach „-s“ tragen Sie den gewünschten Namen der Sitzung ein. Möchten Sie eine Sitzung ohne Sitzungsnamen starten, geben Sie einfach „tmux“ ein.
Schritt 5: Um eine Sitzung zu beenden, geben Sie den Befehl „exit“ ein oder nutzen das Tastenkürzel [Strg] + [D].
Schritt 6: Um ein neues Fenster in der Sitzung zu öffnen, drücken Sie [C]. Um eine neue zweite Sitzung parallel zur ersten zu starten, verwenden Sie erneut den Befehl „tmux new -s [Sitzungsname].“. Die Statusanzeige unten zeigt an, in welcher Sitzung Sie sich gerade befinden.
Schritt 7: Möchten Sie ein Fenster in Panes, also Fensterbereiche, unterteilen, drücken Sie [%] für ein vertikal geteiltes oder ["] für ein horizontal geteiltes Fenster. Mit den Pfeiltasten können Sie zwischen den Panes navigieren.
Schritt 8: Möchten Sie eine laufende Sitzung abtrennen, Prozesse jedoch weiterlaufen lassen, nutzen Sie den Befehl „tmux detach“. Die Sitzung sowie die laufenden Prozesse laufen im Hintergrund weiter. Um die Sitzung wiederaufzunehmen, stellen Sie die Verbindung mit dem Befehl „tmux attach“ wieder her.
Wozu sich tmux nutzen lässt
Genau wie der Terminal-Multiplexer GNU screen bietet tmux die Möglichkeit, im Terminal einer Linux-Distribution in mehreren Sitzungen und Fenstern gleichzeitig zu arbeiten sowie Fenster in mehrere Bereiche für Multitasking zu teilen und zu konfigurieren. Auf diese Weise können Sie parallele Prozesse und Programme laufen lassen und verschiedene Befehle gleichzeitig ausführen. Auch Remote-Sitzungen und die Zusammenarbeit mit mehreren Nutzern und Nutzerinnen gleichzeitig sind so möglich. Sie können zudem Prozesse und Sitzungen verlassen, in den Hintergrund verschieben und später dort weitermachen, wo Sie aufgehört haben.
Sie benötigen vollständige Virtualisierung und optimale VPS-Performance? Dann nutzen Sie die vServer von IONOS mit 100 % SSD-SAN-Speicher für anspruchsvolle Projekte, mit skalierbaren und dedizierten Ressourcen und optionalem Plesk Web Hosting.
Unterschied zu GNU screen
Auf den ersten Blick arbeiten GNU screen und tmux auf identische Weise und bieten dieselben wichtigen Funktionen. So leiten Sie beispielsweise Befehle und Tastenkürzel in GNU screen mit [Strg] + [A] statt mit [Strg] + [B] ein. Ein großer Unterschied ist jedoch, dass GNU screen nicht automatisch eine Statusanzeige mit dem Namen der aktuellen Sitzung im unteren Fensterbereich anzeigt. Möchten Sie in GNU screen eine Statusanzeige nutzen, müssen Sie diese manuell konfigurieren.
Auch das unkomplizierte Benennen und Umbenennen von Sitzungen und Fenstern erleichtert in tmux die Übersicht und das Navigieren zwischen Fenstern und Sitzungen. Zudem besteht im Gegensatz zu GNU screen nicht die Gefahr, ein Fenster vollständig zu verlieren, wenn Sie dieses in tmux abtrennen und in den Hintergrund verschieben. Fenster lassen sich per Kommandozeilenbefehl einfach zurückholen oder eine Übersicht aller aktuellen Fenster aufrufen.
Nutzen Sie die skalierbaren Rechenleistungen virtueller Maschinen für eine leistungsstarke virtuelle Infrastruktur. Die Cloud Server von IONOS bieten für Ihr Projekt 100 % dedizierte Ressourcen, Root-Zugriff, Cloud-Panel und sichere deutsche Rechenzentren.
Fazit: Lohnt sich tmux?
Sei es das Umbenennen von Fenstern und Sitzungen oder die hilfreichen Status- und Sitzungsanzeigen im unteren Fensterbereich, tmux wird vielen Nutzern und Nutzerinnen im Vergleich zu GNU screen bedienfreundlicher und übersichtlicher erscheinen. Wenn Sie mit mehreren Prozessen und Programmen im Terminal gleichzeitig arbeiten und auf einfaches, effizientes Multi-Tasking angewiesen sind, erweist sich tmux als sinnvoller und lohnender Terminal-Multiplexer, der noch dazu kostenlos ist.