Warum tmux
Ein Programm, das derzeit auf dem Computer ausgeführt wird, ist ein Prozess. Um mehr als einen Prozess mit Linux auszuführen, benötigen Sie mehr als ein Terminalfenster: ein Terminalfenster pro Prozess. Diese Fenster überlappen sich, wobei einige fast andere bedecken. Um sich um einen Prozess zu kümmern, müssen Sie auf das Fenster klicken, um ihn in den Vordergrund zu stellen. Wenn es im Vordergrund steht, können Sie einige Ergebnisse oder Eingabedaten sehen. Dies ist Multitasking: Mehr als einen Prozess gleichzeitig ausführen; In diesem Fall mit verschiedenen Fenstern. Es ist Multitasking ohne die Verwendung von TMUX. TMUX bietet Multiplexing als besserer Ersatz - siehe unten.
Jedes Fenster verwendet eine Schale wie Bash. Programmbefehle müssen in eine Shell eingegeben werden, bevor sie ausgeführt werden.
Eine Sitzung ist ein vorübergehender Austausch von Nachrichten zwischen einem Benutzer und seinem Computer oder zwischen dem Computer des Benutzers und einem Remote -Computer über ein physisches Netzwerk. Ein Prozess kann einen solchen Austausch von Nachrichten beinhalten. Die Arbeit mit einem Fenster ist eine Sitzung. Die Arbeit mit vielen Fenstern in einer Dauer ist immer noch eine Sitzung.
Die Verwendung des Terminalfensters unter Linux für Multitasking kann, wie oben gezeigt, umständlich werden, wenn die Anzahl der Prozesse mehr als drei beträgt und die Prozesse lang sind.
Multitasking kann in einem Terminalfenster erfolgen, jedoch mit den folgenden Nachteilen:
Wenn Sie einen Prozess mit einem Terminalfenster starten und einen anderen starten möchten, müssten Sie den ersten zuerst pausieren. Wenn Sie einen Prozess innehalten, hält der Prozess an und er tut nichts. Sie können dann den nächsten Prozess starten. Wenn Sie den nächsten Vorgang bald genug beenden, können Sie den ersten Vorgang wieder im selben Fenster fortsetzen. Das sieht aus wie ein terminales Multiplexing, aber es ist nicht. Bei der terminalen Multiplexing sollten die Prozesse gleichzeitig ausgeführt werden.
Mehr als ein Prozess kann mit einem asynchronen Schema in einem Terminalfenster ausgeführt werden. Verschiedene Prozesse senden jedoch die Ergebnisse an dasselbe Fenster, und die angezeigten Ergebnisse sind inkonsistent. Wenn Sie Daten eingeben, werden sie auch zu verschiedenen Prozessen gehen. Dieses Schema kann nur dann funktionieren, wenn Sie nur wenige Prozesse haben, und Sie kennen alle Ergebnisse, um zu wissen, welche Eingaben Sie senden sollen und wann. Es ist unwahrscheinlich, dass diese Situation einiger Prozesse auftritt.
Mit einem Terminalfenster können Sie einen Prozess auf einem Remote -Computer starten, und dann fällt die physische Verbindung aus. Wenn die Verbindung wiederhergestellt wird, sind die Ergebnisse unzuverlässig.
Ein weiterer Nachteil bei herkömmlichen Terminalfenstern ist, dass die Kommunikation zwischen den Fenstern nicht stattfinden kann, wenn mehr als ein Fenster geöffnet wird.
TMUX ist ein Softwareprogramm, das diese Probleme löst. In diesem Artikel wird erläutert, wie TMUX diese Probleme löst und einige der zusätzlichen Funktionen von TMUX erläutert.
Artikelinhalt
Die von TMUX angebotene Lösung
Wie oben angegeben, weist das Terminalfenster Einschränkungen für Multitasking auf. Tmux überwindet diese Einschränkungen. Tmux ersetzt das Terminalfenster durch ein eigenes Fenster, während es aktiv ist. Tmux kann mehr als ein Fenster haben. Die hinzugefügten Windows übersehen sich gegenseitig. Das Umschalten zwischen diesen überlagerten Fenstern ist möglich. Und so werden die Ergebnisse nicht vermischt, Inputs und Ergebnisse werden nicht vermischt. Ein TMUX -Fenster kann in kleinere Fenster aufgeteilt werden. Diese kleineren Fenster werden als Scheiben bezeichnet.
Wenn Sie mit dem herkömmlichen Terminal einen Remote -Prozess ausführen und die Verbindung fehlschlägt, können Sie möglicherweise nicht von der Stelle fortfahren, an der Sie aufgehört haben, wenn die Verbindung wiederhergestellt wird. Das heißt. Tmux kann dies lösen.
In jedem Fenster die Schale (e.G., Bash) arbeitet, um die Befehle zu verarbeiten.
TMUX unter Linux installieren
Vielleicht ist Tmux bereits auf Ihrem Computer installiert. Sie müssen also überprüfen, ob es zuerst installiert ist, um nicht neu zu installieren. Geben Sie bei der Eingabeaufforderung der Terminal ein
TMUX --VERSIONund drücken Sie die Eingabetaste.
Wenn es nicht installiert ist, wird es Ihnen sagen. Wenn es installiert ist, haben Sie Feedback wie,
Verwendung: tmux [-2cluvv] [-c Shell-command] [-F-Datei] [-l-Socket-Name]Die Befehle in diesem Tutorial wurden mit Ubuntu getestet, und sie haben gut funktioniert. Wenn Sie also das Ubuntu -Betriebssystem verwenden, können Sie die Befehle beim Lesen testen.
Installation von TMUX in Ubuntu und Debian
In einem dieser Betriebssysteme installieren, Typ Typ
und drücken Sie die Eingabetaste. Wenn Sie nach Ihrem Passwort aufgefordert werden, geben Sie Ihr Passwort ein und drücken Sie die Eingabetaste.
Installation von TMUX in CentOS und Fedora
In CentOS oder Fedora installieren, Typ Typ
und drücken Sie die Eingabetaste. Beantworten Sie jede Frage, die gestellt wird.
TMUX starten
Tmux ist ein Dienstprogramm, das vor dem Einsatz gestartet werden muss. Wenn Sie das Terminalfenster öffnen, wird TMUX nicht ausgeführt. Es kann gestartet und gestoppt werden. Wenn es gestartet wird, übernimmt es die Kontrolle über das Terminalfenster und überlagert seine eigenen Fenster. Wenn es gestoppt ist, sind Sie zurück zu Ihrem Terminalfenster. Zum Starten von TMUX tippen
tmux(Alle Zeichen in Kleinbuchstaben) und drücken Sie die Eingabetaste. Sie werden ein neues Fenster haben. Tmux würde das neue Fenster übernehmen. Das neue Fenster sieht aus wie das Terminalfenster, aber mit einer Statusleiste unten. In dieser Situation zeigt die Statusleiste an, dass Sie sich im TMUX -Fenster 0 befinden, der als 0: Bash angezeigt wird (wenn Sie die Bash -Shell verwenden).
Die Standard -Schlüsselkombination für TMUX lautet:
Strg+b
Sie drücken die Steuertaste und den Kleinbuchstaben -B -Charakter. Sobald Sie die Tasten loslassen, drücken Sie einen anderen Charakter, um sie zu beeinflussen. Um die Liste der TMUX -Befehle anzuzeigen
Strg+b ?
Das heißt, drücken Sie die Steuertaste und den Charakter B gleichzeitig und sobald Sie die beiden Tasten freigeben, drücken Sie die Verschiebung und die? Taste (wenn Sie die englische Tastatur verwenden). Sie sollten die Liste der Befehle sehen. Die Liste ist ziemlich lang. Der Cursor würde oben sein. Sie können die Down -Pfeil -Taste verwenden, um die Liste nach unten zu scrollen.
Um die Auflistungsanzeige zu verlassen, drücken Sie
Q
und Sie werden wieder bei der Eingabeaufforderung sein.
Ausgang des aktuellen Fensters
Geben Sie zum Beenden des aktuellen Fensters ein
und drücken Sie die Eingabetaste. Du wirst sehen
[Ausgestanden]Angeben, dass Sie aus der TMUX -Anwendung beendet sind (wenn nur ein TMUX -Fenster geöffnet wurde). Sie sollten wieder am normalen Terminalfenster sein, wenn Sie nur ein TMUX -Fenster hatten. Wenn Sie den Befehl "Beenden" erneut ausführen, schließt das normale Terminalfenster.
Erstellen Sie mehr als ein TMUX -Fenster
Im obigen Abschnitt wurde nur ein Fenster erstellt. Wenn Sie TMUX starten, wird ein Fenster (0: Bash) erstellt. Sie können mehr erstellen. Wenn Sie das Terminalfenster nicht geöffnet haben, öffnen Sie es und starten Sie TMUX, indem Sie eingeben,
tmuxund drückende Eingabetaste. Das Terminalfenster sollte sich in ein TMUX -Fenster verwandeln, das erste Fenster von TMUX. Erstellen Sie drei weitere Bildschirmfenster, indem Sie die folgenden Befehle eingeben und die Eingabetaste drücken, wobei sich C in Kleinbuchstaben befindet (und keine Umschalttaste benötigt):
Strg+B c
Strg+B c
Strg+B c
Für jeden der Befehle drücken Sie die Steuertaste und die Taste B (in Kleinbuchstaben). Lassen Sie diese Schlüssel los und drücken Sie einfach die C -Taste. Es kann einige kurze Erfahrung dauern, um es richtig zu machen. Wenn Sie die drei Befehle erfolgreich ausgeführt haben und die Bash -Shell verwenden, sollten Sie in der Statusleiste sehen
[0] 0: Bash 1: Bash 2: Bash- 3: Bash*[0] bedeutet Sitzung 0. Der Rest der Linie bedeutet, dass Sie vier Fenster geöffnet haben, die 0: Bash, 1: Bash, 2: Bash und 3: Bash. Das Zählen von TMUX -Fenstern beginnt von 0.
Um in ein anderes Fenster zu gehen, führen Sie den folgenden Befehl aus:
Strg+B s
Sie sollten eine andere Präsentation sehen, eine Auflistung von Windows -Präsentationen. Sie können das Etikett des Fensters hervorheben, das Sie mit der Taste für das linke Waffen oder der rechten Army-Taste auf der Tastatur verwenden möchten. Verwenden Sie die Taste zur rechten Wege, um die Fensternummer 1 zu wählen, die eigentlich das zweite Fenster ist, und drücken Sie die Eingabetaste.
Wenn Sie einen Befehl im zweiten Fenster eingegeben hatten, sollten Sie die Befehle im Fenster sehen. In der Statusleiste sollten Sie auch 1: Bash* sehen. Das Sternchen (*) zeigt das Fenster an, in dem Sie sich befinden, und in diesem Fall handelt es sich um die Fensternummer 1, das tatsächlich das zweite Fenster ist.
Sie können weiterhin alle gewünschten Befehle in dieses zweite Fenster eingeben. Sie können in ähnlicher Weise zu einem anderen Fenster wechseln.
Umschalten auf andere Fenster
Sie können mit der obigen Methode zu einem anderen Fenster wechseln. Es gibt eine andere Methode: Um auf Fenster Nummer 3 (das vierte Fenster) zu wechseln, führen Sie aus
Strg+B 3
Sie sollten jetzt haben,
3: Bash*Mit dem Sternchen in der Statusleiste, was bedeutet, dass Sie sich im vierten Fenster befinden. Um zu einem neuen Fenster zu gehen, können Sie "Strg+B Index" durchführen, wobei ein Index eine Ordnungsnummer minus eins ist.
In die nächste und vorherige Fenster gehen
Um zum nächsten Fenster zu gehen, tun Sie es
Strg+B n
Wenn Sie am zweiten Fenster wären, würden Sie am dritten Fenster ankommen. Wenn Sie am letzten Fenster wären, würden Sie am ersten Fenster ankommen. Um zum vorherigen Fenster zu gehen, tun Sie dies
Strg+B p
Wenn Sie am ersten Fenster wären, würden Sie am letzten Fenster ankommen.
Alle Fenster auflisten
Um alle Fenster aufzulisten, tun Sie dies
Strg+B w
In der angezeigten Liste können Sie das gewünschte nächste Fenster mit dem Tastatur-Up-Arrow oder dem Down-Arrow auswählen. Drücken Sie nach dem Hervorheben die Eingabetaste, um das ausgewählte Fenster einzugeben.
Ein Fenster verlassen
Um einen Fenstertyp zu beenden,
und drücken Sie die Eingabetaste. Sie können alle Fenster beenden, indem Sie den Befehl exit wiederholt ausführen. Wenn Sie dies so oft tun, dass die Anzahl der TMUX -Fenster entspricht, werden Sie zum Terminalfenster gelangen, das vom TMUX -Dienstprogramm übernommen wurde. und du wirst sehen:
[Ausgestanden]Wenn Sie den Befehl exit erneut ausführen, schließen Sie das Terminalfenster.
Töten des aktuellen Fensters
Wenn Sie ein Fenster töten, töten Sie es mit seinem Prozess. Ein Fenster töten, tun Sie
Strg+B &
Eine Meldung ähnlich wie unten wird angezeigt. Sie fragt Sie, ob Sie das Fenster wirklich töten möchten.
Kill-Window-Bash? (y/n)Wenn Sie das Fenster wirklich töten möchten, drücken Sie Y und das Fenster wird getötet, wenn Sie das Fenster nicht töten möchten, drücken Sie N.
Anbringen und Abnehmen einer TMUX -Sitzung
Ein TMUX -Fenster wird nicht nur verwendet, um auf dem lokalen PC zu arbeiten. Es kann verwendet werden, um einen Prozess auf einem Remote -Computer durchzuführen. Wenn das Fenster für den lokalen Personalcomputer funktioniert oder einen Prozess in einem Remote -Computer ausführt, soll das Fenster angeschlossen sein. Bei einem Remote -Prozess ist das Ergebnis des Vorgangs am Remote -Computer weiterhin zuverlässig, wenn Sie das Fenster abnehmen und die Verbindung bricht. Natürlich kann der Prozess im Remotecomputer anhalten - das ist kein Problem.
Wenn die Verbindung wiederhergestellt ist.
Sie können sich von der aktuellen Sitzung abnehmen, indem Sie ausführen:
Strg+B d
Wenn der Befehl erfolgreich ist, gehen Sie aus den TMUX -Fenstern und in das Terminalfenster mit seiner Eingabeaufforderung aus. Vor der Eingabeaufforderung und darüber sollten Sie so etwas sehen wie:
[Abstand (von Sitzung 0)]Nun, da Sie im Terminalfenster sind, um die Liste der Sitzungen anzuzeigen, tippen Sie auf
tmux lsund drücken Sie die Eingabetaste. Die erste Spalte der Auflistung enthält den Namen der Sitzung. In diesem Artikel sollte es nur eine Sitzung mit dem Namen 0 geben. Um die Sitzung wieder zu wiederholen, geben Sie an
TMUX Attach -t 0und drücken Sie die Eingabetaste.
Eine Sitzung töten
Aus dem Terminalfenster können Sie eine Sitzung töten. Sie sollten von einer Sitzung abgelöst werden, bevor Sie sie töten. Die Syntax, um eine Sitzung aus dem Terminalfenster zu töten, lautet:
TMUX Kill -Session -t -Sitzungsname
Aufspalten von Fenstern
Vertikal spalten
Um das aktuelle Fenster vertikal zu teilen, tun Sie dies
Strg+b %
Wenn Sie die englische Tastatur verwenden, müssen Sie die Schalttaste und die Taste mit % drücken, um % zu erhalten. Wenn Sie das tun, hätten Sie eine vertikale Linie in der Mitte des Fensters.
Um zum nächsten Scheibenbereich zu gehen, tun Sie
Strg+B o
Wo O nicht Null ist, ist es das Alphabetcharakter, o. Die Bewegung ist zyklisch. Unter diesem Zustand ist es ein Fenster, das in Scheiben aufgeteilt wurde. Die anderen Fenster haben keine Scheiben. In einem Fenster mit Scheiben können Befehle in jede der Scheiben eingegeben werden.
Ein Scheibenscheibe töten
Ein Scheibe mit seinen Befehlen töten, während sich der Cursor im Scheibenbereich befindet, tun Sie es
Strg+B x
Wobei X Kleinbuchstaben X ist, beantworten Sie jede Frage, die gestellt wird. Die Scheibe stirbt mit seinen Befehlen. Die Befehle verbinden die Befehle eines anderen Bereichs nicht.
Horizontal aufspalten
Um das aktuelle Fenster horizontal aufzuteilen, tun Sie dies
Strg+B “
Wenn Sie die englische Tastatur verwenden, müssen Sie die Schalttaste und die Taste, die "erhalten" drücken müssen, um zu erhalten.
Um zum nächsten Scheibenbereich zu gehen, tun Sie
Strg+B o
Wo O nicht Null ist, ist es das Alphabetcharakter, o. Die Bewegung ist zyklisch.
Sie töten ein horizontales Scheibe auf die gleiche Weise, wie Sie einen vertikalen Bereich töten.
Abschluss
TMUX ist eine Anwendung, die es einem Linux -Benutzer ermöglicht, seine Sitzung von Terminalfenstern in ein Fenster zu bringen. Jedes Fenster kann in Scheiben aufgeteilt werden. Die Standardschlüsselkombination für TMUX ist Strg+B. Danach muss ein anderer Charakter gedrückt werden, um einen Effekt zu erzielen. Mit all seinen Funktionen ist TMUX ein Windows Manager Terminal Multiplexer. Tmux hat einen Rivalen namens Screen. Multiplexing hier bedeutet, alle Fenster für seine Prozesse in einem Fensterrahmen zu haben.
Chrys