Einführung in den Terminal-Multiplexer Tmux
Tmux ist ein Terminal-Multiplexer: Er ermöglicht es uns, mehrere Terminalsitzungen von einem einzigen Bildschirm aus auszuführen und zu verwalten. Dies ist besonders nützlich, wenn wir uns über SSH mit entfernten Rechnern verbinden, da es uns unter anderem ermöglicht, Prozesse, die von diesen Terminals gestartet werden, im Hintergrund laufen zu lassen, wenn wir die Verbindung zur Sitzung trennen (oder uns abmelden und die Remote-Secure Shell ganz schließen), so dass wir uns zu einem späteren Zeitpunkt wieder an sie anschließen können.
In diesem Tutorial sehen wir, wie man Tmux in einigen der am häufigsten verwendeten Linux-Distributionen installiert und lernt die grundlegenden Konzepte hinter seiner Verwendung kennen.
In diesem Tutorial lernen Sie:
- So installieren Sie Tmux auf einigen der am häufigsten verwendeten Linux-Distributionen
- Verwalten von Tmux-Sitzungen
- Verwalten von Tmux-Fenstern und -Fenstern
Verwendete Softwareanforderungen und Konventionen
Installation
Tmux ist eine kostenlose Open-Source-Software, die in den Repositories aller wichtigen Linux-Distributionen verfügbar ist, so dass sie einfach mit unserem Paketmanager Ihrer Wahl installiert werden kann. Um Tmux beispielsweise auf Fedora zu installieren, verwenden wir dnf:
sudo dnf install tmux
Um die Installation auf neueren Versionen von Debian und Debian-basierten Distributionen durchzuführen, können wir stattdessen den folgenden Befehl verwenden:
sudo apt install tmuxTmux ist auch im "Community"-Repository von Achlinux verfügbar. Wir können es mit pacman installieren:
sudo pacman -S tmuxWarum Tmux?
Die Vorteile der Verwendung von Tmux werden deutlich, wenn wir uns über SSH mit einer Maschine verbinden. Angenommen, wir geben einen lang laufenden Befehl oder eine interaktive Anwendung wie "htop" in der Remote-Shell aus. An einem bestimmten Punkt stellen wir fest, dass wir einen weiteren Befehl ausführen müssen. An diesem Punkt haben wir zwei Möglichkeiten: den ersten Prozess zu stoppen oder eine andere SSH-Verbindung von unserem lokalen Rechner in einem anderen Terminal zu öffnen.
Hier kommt Tmux ins Spiel: Sobald wir mit einer Remote-Shell verbunden sind, können wir tmux aufrufen und eine neue Sitzung starten, die mehrere Fenster enthalten kann, die wiederum in viele Abschnitte oder Fenster unterteilt sein können. Dies ermöglicht es uns, mehrere Klemmen von einer einzigen Verbindung aus zu öffnen. Ein weiterer Vorteil besteht darin, dass wir die Verbindung zu einer Tmux-Sitzung trennen können, während die Befehle, die wir in ihr aufgerufen haben, im Hintergrund weiterlaufen und später wieder an sie angehängt werden können.
Verwalten von Tmux-Sitzungen
Um Tmux zu verwenden, müssen wir es lediglich von unserem Terminal-Emulator aus aufrufen:
tmuxSobald Tmux gestartet ist, wird eine neue Sitzung erstellt, die aus einem einzigen Fenster besteht. Am unteren Rand des Bildschirms wird eine Statuszeile angezeigt. Sie enthält Informationen über die Sitzung selbst und kann zum Ausführen von Befehlen verwendet werden:
Auf der linken Seite der Statuszeile sehen wir die Sitzungskennung in eckigen Klammern und die Namen der darin geöffneten Fenster. Im Moment haben wir nur ein Fenster (Bash). Auf der rechten Seite der Statusleiste sehen wir stattdessen den Hostnamen des Rechners, mit dem wir verbunden sind, sowie das aktuelle Datum und die aktuelle Uhrzeit.
Wie Sie im Bild oben sehen können, werden die Sitzungen nach durch Zahlen gekennzeichnet. Wir können jedoch benannte Sitzungen erstellen, indem wir Tmux auf folgende Weise aufrufen:
tmux new -s <session-name>Neue Sitzungen können auch aus Tmux heraus gestartet werden. Um diese Aufgabe zu erfüllen, müssen wir nur das drücken, was wir im Laufe dieses Tutorials die Tastenkombination "Präfix" nennen werden, die standardmäßig Strg-b ist, gefolgt von einem : (Doppelpunkt). Dabei wechseln wir in den Befehlsmodus, dann verwenden wir zum Öffnen einer neuen Sitzung den neuen Befehl:
:new -s <session-name>
Eine vorhandene Sitzung kann auch umbenannt werden. Um dies zu tun, drücken wir <prefix> gefolgt von der $-Taste, geben dann den neuen Sitzungsnamen in die Statusleiste ein und drücken die Eingabetaste, um ihn zu bestätigen:
Auflisten vorhandener Sitzungen
Früher oder später möchten wir vielleicht eine Liste der vorhandenen Tmux-Sitzungen erhalten. Wir können dies entweder über die Befehlszeile oder über die Tmux-Schnittstelle tun. Im ersten Fall führen wir Folgendes aus:
tmux list-sessionsUm die gleiche Operation in Tmux auszuführen, drücken wir stattdessen <Präfix> gefolgt vom Zeichen s:
In diesem Fall ist, wie Sie auf dem obigen Screenshot sehen können, nur eine Sitzung geöffnet.
Anfügen und Trennen von einer Sitzung
Angenommen, wir sind an eine Tmux-Sitzung angehängt, wie wir sie im vorherigen Beispiel geöffnet haben. Jetzt starten wir von einem Fenster aus einen lang laufenden Befehl, dann möchten wir, während er ausgeführt wird, die Sitzung lösen. In diesem Fall müssen wir nur <Präfix> gefolgt von der Taste d drücken. Tmux wird geschlossen und wir werden mit einer Nachricht über das Trennen informiert:
[detached (from session 0)]Wenn wir die Trennung von einer Sitzung lösen, bleibt die Sitzung aktiv, und die Prozesse, die wir aus ihr gestartet haben, werden weiterhin im Hintergrund ausgeführt. Wenn es an der Zeit ist, das Anfügen an eine Sitzung wiederherzustellen, führen wir den folgenden Befehl aus:
tmux attach -t 0Dabei ist das Argument, das an die Option -t übergeben wird (in diesem Fall 0), die Sitzungs-ID oder der Sitzungname.
Schließen einer Sitzung
Eine Sitzung wird automatisch beendet, wenn alle ihre Fenster geschlossen werden, sie kann aber auch explizit geschlossen werden, indem Sie in den Befehlsmodus wechseln und Folgendes ausführen:
:kill-session
Wenn wir bereits von der Sitzung getrennt sind, können wir sie stattdessen beenden, indem wir den folgenden Befehl ausführen:
tmux kill-session -t <session-id>Verwalten von Fenstern
Wenn wir Tmux zum ersten Mal starten, ist nur ein Fenster geöffnet. Das Erstellen eines neuen ist jedoch ziemlich einfach: Alles, was wir tun müssen, ist, das <Präfix> gefolgt vom Zeichen c zu drücken. Der Name des neuen Fensters wird in der Statusleiste angezeigt:
Der Stern (*) in der Nähe eines Fensternamens wird verwendet, um das Fenster zu identifizieren, das gerade verwendet wird.
Umbenennen eines Fensters
Im Moment ist der Name beider Fenster nur "bash": Das liegt daran, dass es der Name der Shell ist, die wir verwenden. Möglicherweise möchten wir einen aussagekräftigeren Namen für ein Fenster verwenden. Um dies zu tun, drücken wir erneut <Präfix> diesmal gefolgt von , (Komma). Die Farbe der Statusleiste ändert sich und wir können den neuen Namen für das Fenster festlegen:
Wechseln von Fenstern
Um wie üblich zwischen geöffneten Fenstern zu wechseln, müssen wir zuerst die Kombination <Präfix> eingeben, dann können wir p drücken, um zum vorherigen Fenster in der Liste zu wechseln, oder n, um zum nächsten zu wechseln. Alternativ können wir w drücken, um eine Liste der verfügbaren Fenster zu erhalten. Wir können dann diejenige auswählen, zu der wir wechseln möchten, und die Eingabetaste drücken:
Ein Fenster zerstören
Um ein Fenster zu beenden, können wir schließlich die Kombination <Präfix> gefolgt vom &-Zeichen verwenden. Wir werden aufgefordert, zu bestätigen, dass wir den Vorgang ausführen möchten:
Also um resümierend:
| Aktion | Tastenkombinationen |
|---|---|
| Fenster "Erstellen" | <Präfix> c |
| Fenster umbenennen | <Präfix> , |
| Zum vorherigen Fenster wechseln | <Präfix> p |
| Zum nächsten Fenster wechseln | <Präfix> n |
| Abrufen einer Liste navigierbarer Fenster | <Präfix> w |
| Beenden eines Fensters | <Präfix> & |
Verwalten von Fenstern
Jedes Fenster in Tmux kann in mehrere Abschnitte aufgeteilt werden, von denen jeder es uns ermöglicht, ein Pseudo-Terminal zu verwenden. Diese Abschnitte werden in der Tmux-Terminologie als "Fenster" bezeichnet. Um eine Fensterscheibe vertikal zu teilen, drücken wir auf <Präfix> gefolgt vom %-Zeichen:
Um einen Bereich horizontal zu teilen, verwenden wir stattdessen die Taste ":
Genau wie bei Sitzungen und Fenstern wird jeder vorhandene Bereich durch eine Nummer gekennzeichnet. Um die Zahlen zu visualisieren, die den Fenstern zugeordnet sind, verwenden wir <prefix> gefolgt von der Taste q:
Sobald die Zahlen angezeigt werden, können wir sie auf unserer Tastatur drücken, um zum jeweiligen Fenster zu gelangen. Die vorhandenen Bereiche können mit <prefix> gefolgt von den Tasten { und } nach rechts und links verschoben werden, und ihr Layout kann stattdessen mit der Leertaste umgeschaltet werden.
Hier ist eine kurze Zusammenfassung der Verknüpfungen für die Fenster:
| Aktion | Tastenkombinationen |
|---|---|
| Vertikal spucken | <Präfix> % |
| Horizontal teilen | <Präfix> " |
| Identifizieren von Bereichen | <Präfix> q |
| Bereich nach links verschieben | <Präfix> { |
| Bereich nach rechts verschieben | <Präfix> } |
| Layout der Schalterbereiche | <Präfix> Leertaste |
Abschließende Gedanken
In diesem Tutorial haben wir die Grundlagen von Tmux gelernt. Wir haben gesehen, welche Vorteile die Verwendung der Anwendung bei der Verbindung mit Remote-Rechnern über SSH bietet, und wir haben gesehen, wie Sitzungen, Fenster und Fenster verwaltet werden können.










