Wir haben bereits gelernt, wie man GNU Screen verwendet um mehrere Terminalsitzungen zu verwalten. Heute werden wir ein weiteres bekanntes Befehlszeilenprogramm namens "Tmux" sehen , das auch zur Verwaltung mehrerer Terminalsitzungen verwendet wird. Diese Anleitung erklärt, was Tmux ist und die Verwendung von Tmux-Befehlen mit Beispielen in Linux.
1. Was ist Tmux?
Ähnlich wie GNU Screen ist Tmux auch ein Terminal-Multiplexer, der es uns ermöglicht, eine Reihe von Terminal-Sitzungen zu erstellen und mehr als ein Programm oder Prozesse gleichzeitig in einem einzigen Terminal-Fenster auszuführen.
Tmux ist ein kostenloses, quelloffenes und plattformübergreifendes Programm, das Linux, OpenBSD, FreeBSD, NetBSD und Mac OS X unterstützt.
2. Tmux unter Linux installieren
Tmux ist in den offiziellen Repositories der meisten Linux-Distributionen verfügbar.
Um Tmux unter Alpine Linux zu installieren, führen Sie Folgendes aus:
$ sudo apk add tmux
Führen Sie unter Arch Linux und seinen Varianten wie EndeavourOS und Manjaro Linux den folgenden Befehl aus, um es zu installieren.
$ sudo pacman -S tmux
Unter Debian, Ubuntu, Linux Mint, Pop_OS!:
$ sudo apt-get install tmux
Unter Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:
$ sudo dnf install tmux
Oder,
$ sudo yum install tmux
Unter SUSE/openSUSE:
$ sudo zypper install tmux
Nun, wir haben gerade Tmux installiert. Lassen Sie uns fortfahren und einige Beispiele zur Verwendung von Tmux sehen.
3. Verwendung von Tmux-Befehlen mit Beispielen
Die Standard-Präfix-Verknüpfung für alle Befehle in Tmux ist Ctrl+b
. Denken Sie einfach an diese Tastenkombination, wenn Sie Tmux verwenden.
Vorsicht: Das Standardpräfix für alle Screen Befehle ist Strg+a .
3.1. Tmux-Sitzungen erstellen
Um eine neue Tmux-Sitzung zu erstellen und daran anzuhängen, führen Sie den folgenden Befehl im Terminal aus:
$ tmux
Oder,
$ tmux new
Sobald Sie sich in der Tmux-Sitzung befinden, sehen Sie unten einen grünen Balken wie im Screenshot unten gezeigt.
Es ist sehr praktisch zu überprüfen, ob Sie sich in einer Tmux-Sitzung befinden oder nicht.
3.2. Trennen von Tmux-Sitzungen
Um sich von einer aktuellen Tmux-Sitzung zu trennen, drücken Sie einfach Ctrl+b
und d
. Sie müssen nicht beide Tastenkombinationen gleichzeitig drücken. Drücken Sie zuerst "Ctrl+b"
und drücken Sie dann "d"
.
Sobald Sie von einer Sitzung getrennt sind, sehen Sie eine Ausgabe wie die folgende.
[detached (from session 0)]
3.3. Benannte Sitzungen erstellen
Wenn Sie mehrere Sitzungen verwenden, werden Sie möglicherweise verwirrt, welche Programme in welchen Sitzungen ausgeführt werden. In solchen Fällen können Sie einfach benannte Sitzungen erstellen.
Wenn Sie beispielsweise einige Aktivitäten im Zusammenhang mit dem Webserver in einer Sitzung ausführen möchten, erstellen Sie einfach die Tmux-Sitzung mit einem benutzerdefinierten Namen, zum Beispiel "webserver" (oder einen beliebigen Namen Ihrer Wahl).
$ tmux new -s webserver
Hier ist die neue benannte Tmux-Sitzung.
Wie Sie im obigen Screenshot sehen können, lautet der Name der Tmux-Sitzung webserver . Auf diese Weise können Sie leicht erkennen, welches Programm in welcher Sitzung ausgeführt wird.
Drücken Sie zum Trennen einfach Ctrl+b
und d
.
3.4. Tmux-Sitzungen auflisten
Um die Liste der offenen Tmux-Sitzungen anzuzeigen, führen Sie Folgendes aus:
$ tmux ls
Beispielausgabe:
Wie Sie sehen können, habe ich zwei offene Tmux-Sitzungen.
3.5. Getrennte Sitzungen erstellen
Manchmal möchten Sie vielleicht einfach eine Sitzung erstellen und nicht automatisch daran anhängen.
So erstellen Sie eine neue getrennte Sitzung mit dem Namen "ostechnix" , ausführen:
$ tmux new -s ostechnix -d
Der obige Befehl erstellt eine neue Tmux-Sitzung namens "ostechnix", wird aber nicht daran angehängt.
Sie können mit tmux ls
überprüfen, ob die Sitzung erstellt wurde Befehl:
3.6. Anhängen an Tmux-Sitzungen
Sie können an die zuletzt erstellte Sitzung anhängen, indem Sie diesen Befehl ausführen:
$ tmux attach
Oder,
$ tmux a
Wenn Sie eine Verbindung zu einer bestimmten benannten Sitzung herstellen möchten, z. B. "ostechnix", führen Sie Folgendes aus:
$ tmux attach -t ostechnix
Oder kurz:
$ tmux a -t ostechnix
3.7. Tmux-Sitzungen beenden
Wenn Sie fertig sind und keine Tmux-Sitzung mehr benötigen, können Sie sie jederzeit mit dem Befehl beenden:
$ tmux kill-session -t ostechnix
Drücken Sie Ctrl+b
, um zu beenden, wenn Sie angehängt sind und x
. Drücken Sie "y"
um die Sitzung zu beenden.
Sie können überprüfen, ob die Sitzung mit tmux ls
geschlossen wurde Befehl.
Führen Sie Folgendes aus, um den Tmux-Server zusammen mit allen Tmux-Sitzungen zu beenden:
$ tmux kill-server
Vorsichtig sein! Dadurch werden alle Tmux-Sitzungen ohne Vorwarnung beendet, auch wenn innerhalb der Sitzungen Jobs ausgeführt werden.
Wenn keine Tmux-Sitzungen ausgeführt wurden, sehen Sie die folgende Ausgabe:
$ tmux ls no server running on /tmp/tmux-1000/default
3.8. Tmux-Sitzungsfenster aufteilen
Tmux hat eine Option, um ein einzelnes Tmux-Sitzungsfenster in mehrere kleinere Fenster aufzuteilen, die als Tmux-Fenster bezeichnet werden .
Auf diese Weise können wir verschiedene Programme auf jedem Fenster ausführen und mit allen gleichzeitig interagieren.
Jeder Bereich kann in der Größe geändert, verschoben und geschlossen werden, ohne die anderen Bereiche zu beeinflussen. Wir können ein Tmux-Fenster entweder horizontal oder vertikal oder beides gleichzeitig teilen.
3.8.1. Fenster horizontal teilen
Um einen Bereich horizontal zu teilen, drücken Sie Ctrl+b
und "
(einfaches Anführungszeichen).
Verwenden Sie die gleiche Tastenkombination, um die Bereiche weiter zu teilen.
3.8.2. Fenster vertikal teilen
Um einen Bereich vertikal zu teilen, drücken Sie Ctrl+b
und %
.
3.8.3. Fenster horizontal und vertikal teilen
Wir können ein Fenster auch gleichzeitig horizontal und vertikal teilen. Sehen Sie sich den folgenden Screenshot an.
Zuerst habe ich eine horizontale Teilung vorgenommen, indem ich Ctrl+b
gedrückt habe "
und teilen Sie dann den unteren Bereich vertikal, indem Sie Ctrl+b
%
.
Wie Sie im obigen Screenshot sehen, führe ich in jedem Bereich drei verschiedene Programme aus.
3.8.4. Zwischen Fenstern wechseln
Um zwischen den Fenstern zu wechseln, drücken Sie Strg+b und Pfeiltasten (links, rechts, hoch, runter) .
3.8.5. Befehle an alle Bereiche senden
Im vorherigen Beispiel führen wir in jedem Bereich drei verschiedene Befehle aus. Es ist jedoch auch möglich, dieselben Befehle gleichzeitig an alle Bereiche zu senden.
Drücken Sie dazu Ctrl+b
und geben Sie den folgenden Befehl ein und drücken Sie ENTER
:
:setw synchronize-panes
Geben Sie nun einen beliebigen Befehl in einem beliebigen Bereich ein. Sie werden sehen, dass derselbe Befehl in allen Fenstern angezeigt wird.
3.8.6. Fenster tauschen
Drücken Sie zum Austauschen der Bereiche Ctrl+b
und o
.
3.8.7. Fensternummern anzeigen
Drücken Sie Ctrl+b
und q
Fensternummern anzuzeigen.
3.8.8. Töte Scheiben
Um ein Fenster zu beenden, geben Sie einfach exit
ein und ENTER
Schlüssel. Alternativ drücken Sie Ctrl+b
und x
. Sie sehen eine Bestätigungsnachricht. Drücken Sie einfach "y"
um das Fenster zu schließen.
4. Tmux-Bereiche vergrößern und verkleinern
Wir können Tmux-Bereiche zoomen, um sie in die volle Größe des aktuellen Terminalfensters einzupassen, um den Text besser sichtbar zu machen und mehr von seinem Inhalt anzuzeigen.
Dies ist nützlich, wenn Sie mehr Platz benötigen oder sich auf eine bestimmte Aufgabe konzentrieren. Nach Abschluss dieser Aufgabe können Sie den Tmux-Bereich wieder in seine normale Position verkleinern (entzoomen). Weitere Details unter folgendem Link.
- So zoomen Sie Tmux-Fenster für eine bessere Textsichtbarkeit
5. Tmux-Sitzungen automatisch starten
Es ist immer eine gute Praxis, einen lange laufenden Prozess innerhalb einer Tmux-Sitzung auszuführen, wenn Sie mit Remote-Systemen über SSH arbeiten.
Denn es verhindert, dass Sie die Kontrolle über den laufenden Prozess verlieren, wenn die Netzwerkverbindung plötzlich abbricht.
Eine Möglichkeit, dieses Problem zu vermeiden, besteht darin, Tmux-Sitzungen automatisch zu starten. Weitere Einzelheiten finden Sie unter folgendem Link.
- Tmux-Sitzung auf Remote-System automatisch starten, wenn Sie sich über SSH anmelden
Schlussfolgerung
In diesem Handbuch haben wir die Verwendung von Tmux-Befehlen anhand von Beispielen besprochen. In dieser Phase erhalten Sie eine grundlegende Vorstellung des Tmux-Befehlszeilenprogramms und wie Sie Tmux verwenden, um mehrere Terminalsitzungen zu verwalten. Weitere Einzelheiten finden Sie in den Manpages.
$ man tmux
Sowohl GNU Screen als auch Tmux-Dienstprogramme können sehr hilfreich sein, wenn Server per SSH aus der Ferne verwaltet werden. Lernen Sie Screen- und Tmux-Befehle gründlich, um Ihre Remote-Server wie ein Profi zu verwalten.