Vor Red Hat Enterprise Linux 8 der screen
Befehl enthalten war. In Version 8 wurde die Entscheidung getroffen, screen
zu verwerfen und verwenden Sie tmux
stattdessen. tmux
ist ein Terminal-Multiplexer, was bedeutet, dass Sie einen Prozess laufen lassen, die Verbindung zum System trennen und sich zu einem späteren Zeitpunkt und von einem anderen Computer aus wieder verbinden können, damit Sie in diesem Prozess weiterarbeiten können. Eine einfache Möglichkeit, dies zu demonstrieren, besteht darin, eine SSH-Verbindung zu einem Remote-System herzustellen und tmux
zu starten , und starten Sie dann von dort aus einen ping
Befehl an ein entferntes System, Verbindung zu tmux
trennen , setzen Sie tmux
fort , und Sie werden sehen, dass der ping
geht noch. Einige der häufigsten Anwendungsfälle dafür sind:
- Wenn Sie einen lang andauernden Prozess haben, z. B. ein Upgrade einer Anwendung, und Sie entweder die SSH-Sitzung nicht die ganze Zeit laufen lassen möchten oder befürchten, dass Ihre Netzwerkverbindung unterbrochen wird. li>
- Wenn Sie mehrere Sitzungen ausführen, können Sie außerdem Labels für die verschiedenen Sitzungen verwenden.
- Wenn Sie möchten, dass jemand anderes sieht, was Sie tun, können Sie einen
tmux
starten Sitzung und lassen Sie dann diese andere Person SSH in Ihr System und hängen Sie an diesentmux
an Sitzung.
Um eine einfache Sitzung zu starten, führen Sie einfach tmux
aus Befehl. Dies bringt Sie in ein tmux
Sitzung und Sie können Befehle ausführen und Dinge so tun, wie Sie es normalerweise als Ihr Benutzer tun würden. Um die Sitzung zu trennen, sie aber weiterhin laufen zu lassen, drücken Sie Strg+B und dann D . Um die Sitzung fortzusetzen, kann ich Folgendes ausführen:
$ tmux ls ### to see if there are any other tmux sessions
$ tmux a ### this will connect to the most recent session that was created.
Wenn es mehrere Sitzungen gibt, können Sie die Verbindung über die Nummer der Sitzung herstellen:
[root@opendemo ~]# tmux ls
0: 1 windows (created Thu Jan 28 19:58:27 2021) [103x22]
1: 1 windows (created Thu Jan 28 20:00:54 2021) [103x22]
2: 1 windows (created Thu Jan 28 20:01:08 2021) [103x22]
3: 1 windows (created Thu Jan 28 20:01:39 2021) [103x22]
[root@opendemo ~]# tmux a -t 1
[detached]
[root@opendemo ~]#
Ein Beispiel dafür, wie ich dies verwende, ist, dass der allerletzte Befehl meines persönlichen Startskripts, das sich mit dem VPN verbindet und andere Dinge tut, ausgeführt wird:
# /usr/bin/ssh -t shell-el7.redhat.com tmux attach
Dies verbindet mich per SSH mit diesem Remote-Server und verbindet sich dann mit meinem tmux
Sitzung, von der ich weiß, dass sie mit irssi
vorhanden ist Betrieb. Für Informationen zur Verwendung von irssi
finden Sie in meinem Artikel Using Irssi within a Linux tmux session.
[Vielleicht gefällt Ihnen auch: Bauen mit Buildah:Dockerfiles, Befehlszeile oder Skripts]
Der zweite Beispielanwendungsfall oben diente der Kennzeichnung der verschiedenen Sitzungen. Nun, da wir einige der Grundlagen der Verwendung von tmux
besprochen haben , sehen wir uns ein Beispiel für die Verwendung von Labels an:
[root@opendemo ~]# tmux new -s "database upgrade"
[detached]
[root@opendemo ~]# tmux new -s "other process"
[detached]
[root@opendemo ~]# tmux ls
database upgrade: 1 windows (created Thu Jan 28 19:50:03 2021) [103x22]
other process: 1 windows (created Thu Jan 28 19:50:23 2021) [103x22]
[root@opendemo ~]# tmux attach -t "database upgrade"
[detached]
[root@opendemo ~]#
Möglicherweise stellen Sie fest, dass Sie bei Text, der über den oberen Rand Ihres Bildschirms hinausläuft, nicht einfach auf Bild nach oben drücken können Taste, um es zu sehen.
Um Ihre Cursortasten in tmux
verwenden zu können damit Sie im Puffer zurückgehen können, drücken Sie Strg+B und dann die [ Schlüssel. An dieser Stelle können Sie den Pfeil verwenden Tasten, Bild nach oben , oder Bild nach unten um sich in der Ausgabe auf dem Bildschirm zu bewegen.
Wenn Sie den tmux
aufteilen möchten Sitzung in verschiedene Bereiche zu teilen, können Sie Ihre Sitzung mit Strg+B vertikal aufteilen und dann % . Um den Bereich horizontal zu teilen, verwenden Sie Strg+B und dann ein einfaches doppeltes Anführungszeichen “ . Im Screenshot unten habe ich die Sitzung zuerst vertikal und dann den rechten Bereich horizontal geteilt.
Um den Cursor von einem Bereich zum nächsten zu bewegen, verwenden Sie Strg+B und dann den Pfeil Taste, um sich in diese Richtung zu bewegen.
Um eine Sitzung zu beenden, ohne sie anzuhängen, geben Sie dann exit
ein , würden Sie kill-session
verwenden und geben Sie dann die Sitzung an, die beendet werden soll:
Es gibt mehr Optionen für tmux
, und sie können mit Strg+B angezeigt werden und dann ? :
[ Lernen Sie die Grundlagen der Verwendung von Kubernetes in diesem kostenlosen Spickzettel. ]
Weitere Informationen finden Sie in der Manpage für tmux
. Dieser Artikel hat eine kurze Einführung in die Verwendung von tmux
gegeben Befehl, damit eine getrennte Remote-Sitzung nicht versehentlich einen Prozess beendet. Ein anderes Programm, das tmux
ähnelt ist screen
und Sie können über screen
lesen in diesem Artikel.