GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie tmux Freude in Ihrem Linux-Terminal macht

Lassen Sie mich die Szene darstellen:Eines Tages debuggte ich einen zeitintensiven Feature-Generator-Prozess. Ich hatte ein Terminal auf meinem Mac geöffnet und war mit meiner Remote-Linux-Virtual-Machine (VM) verbunden, wo der Prozess initiiert wurde. Ich habe ein paar Dinge mit dem Skript überprüft, und alles sah gut aus. Aber als ich mit dem Prozess begann, war es gerade an der Zeit, das Büro für den Tag zu verlassen. Das Schließen meines Laptops würde meine Shell beenden, was den Prozess beenden würde. Der Prozess dauert ewig und anstatt die Ergebnisse zu debuggen, wenn ich nach Hause komme, müsste ich ihn wieder starten und warten, bis er fertig ist. Ich fing an, mich damit abzufinden, dass ich länger bleiben musste und war nicht glücklich über diese Wendung der Ereignisse.

Ein Kollege bemerkte meine Frustration und fragte, wie er helfen könne. Ich erklärte mein Problem und sagte, dass es eine Möglichkeit geben müsse, den Prozess auch nach dem Schließen des Terminals fortzusetzen, da es sich auf einer Remote-VM befinde. Ich war besorgt, dass es mit meiner Hülle verbunden sein müsste, um nicht zu sterben. Dann stellte er mir tmux vor.

Skripte remote mit tmux ausführen

Das Linux-Terminal

  • Die 7 besten Terminalemulatoren für Linux
  • 10 Befehlszeilentools für die Datenanalyse unter Linux
  • Jetzt herunterladen:SSH-Spickzettel
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Linux-Befehlszeilen-Tutorials

Zu Beginn habe ich eine Yum-Installation von tmux durchgeführt. Dann habe ich eine tmux-Sitzung gestartet, indem ich tmux eingegeben habe als Befehl. Ich könnte in dieser tmux-Sitzung alles tun, was ich in meiner normalen Shell tun würde. Da ich den Prozess gerade gestartet hatte, habe ich ihn im ursprünglichen Terminal beendet. Dann ging ich zur tmux-Sitzung und startete das Skript erneut, um den Prozess auszuführen. Schließlich habe ich meinen Laptop wie ein typisches Ende meines Arbeitstages in den Ruhezustand versetzt.

Als ich meinen Laptop wieder hochgefahren habe, hatte sich meine Terminal-Shell erwartungsgemäß von meiner VM getrennt. Ich habe mich auf der Shell wieder bei der VM angemeldet, außer dass sie leer war, wie es eine Shell normalerweise ist, wenn Sie sie einfach starten. Meine erste Reaktion war Panik, aber dann erfuhr ich, dass ich einfach wieder auf meine tmux-Sitzung zugreifen musste, da sie nur im Hintergrund summt.

Um mich wieder mit meiner tmux-Sitzung zu verbinden, habe ich tmux ls eingegeben , um alle Sitzungen aufzulisten, die ich geöffnet hatte. Es gab nur eine, Sitzung 0. Um zu dieser Sitzung zurückzukehren, musste ich nur tmux Attach -t 0 ausführen . Und siehe da, die Sitzung wurde gestartet und mein Skript lief noch. Ich war begeistert und wollte schnell wissen, was ich sonst noch mit tmux machen könnte.

Verwendung von tmux als Fenstermanager

Ich schließe nie Browser-Tabs und ich schließe nie Fenster, also habe ich wahrscheinlich zu jedem Zeitpunkt etwa 20 geöffnete und laufende Terminals. Wahrscheinlich spürt Marie Kondo eine Störung in der Kraft, wenn ich ein neues Fenster öffne. Aber anstatt vier Terminals geöffnet zu haben, die alle mit derselben VM verbunden sind, und zu versuchen, sie zu verfolgen und zu verfolgen, wo sie sich in meiner Terminalliste befinden, kann ich mit tmux ein Terminal für die VM öffnen und vier Bereiche in diesem Terminal haben. Das ist wirklich praktisch. Beispielsweise starte ich häufig einen Prozess auf der VM und muss dann irgendwo eine Eigenschaftendatei bearbeiten. Da der erste Prozess noch läuft, öffne ich ein weiteres Terminal, um die Datei zu bearbeiten. Dann wird mir klar, dass ich einen zweiten Prozess ausführen muss, während ich das Protokoll in einem anderen Fenster bearbeite, um zu wissen, wie ich die gerade geöffnete Eigenschaftendatei bearbeiten kann. Ohne tmux würde das drei Terminals erzeugen, die niemals geschlossen würden.

tmux war besonders ein Lebensretter für die Ausführung von Docker und Kubernetes. Es ist unglaublich hilfreich, einen Container einem eigenen Bereich zuzuweisen, anstatt ein neues Terminal zu öffnen. Der Hauptbereich ermöglicht es mir, den Zustand meiner Container zu überwachen. Ich kann einfach ein neues Fenster öffnen, wenn ich einen Container eingeben muss. Ich kann sogar docker-compose up ausführen und docker-compose down an jedem Container gleichzeitig, wenn ich möchte, und habe dabei nur ein Terminal geöffnet.

Die Bereiche sind bereits formatiert und nebeneinander, sodass ich nicht alle meine Terminals, die mit der einen VM verbunden sind, sammeln und versuchen muss, sie per Drag-and-Drop nebeneinander auf meinen Monitor zu ziehen – nur um es tun zu müssen immer wieder, wenn ich ein neues Terminal öffnen muss. Mit tmux können Sie sogar die Größe der einzelnen Fenster im Handumdrehen ändern! Es ist wirklich einfach, ein Fenster zu schließen, wenn Sie damit fertig sind. Sie schließen das Terminal nicht zur VM; Sie können einfach ein Fenster wieder öffnen. Dies hilft mir, meinen Desktop sauber zu halten, anstatt ihn mit vergessenen Terminals zu überladen.

Neuzuordnung des tmux-Präfixes

Ich habe kürzlich erfahren, dass ich das tmux-Präfix neu zuordnen kann, um die Dinge noch einfacher zu machen. Bevor Sie einen tmux-Befehl ausführen (z. B. ein neues Fenster erstellen, die Größe eines Fensters ändern oder Text in Ihr Terminal kopieren und einfügen), müssen Sie ein bestimmtes Tastenmuster eingeben, um tmux mitzuteilen, dass Sie im Begriff sind, einen tmux-Befehl aufzurufen anstelle eines alten Linux-Befehls. Das Standardpräfix ist STRG+b . Beispielsweise lautet der Befehl zum Öffnen eines neuen Fensters horizontal neben Ihrem aktuellen nur % , aber damit tmux zuhört, müssten Sie STRG+b+% eingeben . STRG+b ist ein wenig umständlich für mich, also habe ich es dem Backtick (`) neu zugeordnet. Das neu zugeordnete Präfix macht die Dinge reibungsloser, als zwei Tasten drücken zu müssen, die nicht besonders günstig gelegen sind. Wenn ich jetzt ein neues Fenster haben möchte, kann ich einfach `+% eingeben und voila!

tmux von Anfang bis Ende

Das erste, was ich auf jeder neuen Linux-VM mache, ist, tmux zu installieren. Das erste, was ich in jedem Terminal tue, das mit einer Linux-VM verbunden ist, ist, eine tmux-Sitzung zu starten! Ich mache sogar meine Basis-VM-Snapshots, nachdem ich tmux installiert habe, damit ich tmux nicht neu installieren muss, wenn ich zu einem Snapshot zurückkehren muss. Jedes Mal, wenn ich mich wieder bei einer Linux-VM anmelde, mache ich immer tmux ls um meine vorherige tmux-Sitzung zu finden, dann daran anzuhängen und genau dort weiterzuschneiden, wo ich zuletzt aufgehört habe.


Linux
  1. So ändern Sie die Farbe Ihres Linux-Terminals

  2. Begeben Sie sich in Ihrem Linux-Terminal auf ein Abenteuer

  3. Wie Sie Ihrem Linux-Terminal Glück bringen

  4. So machen Sie Ihr Linux-Terminal und Ihre Shell weihnachtlich

  5. So zeichnen Sie Ihr Linux-Terminal mit asciinema auf

So installieren und verwenden Sie Tmux (Terminal Multiplexer) unter Linux

So installieren Sie tmux unter Linux

So öffnen Sie eine PDF-Datei im Linux-Terminal

So installieren Sie Tmux Terminal Multiplexer unter Linux

So erhalten Sie Ihre IP-Adresse unter Linux

So installieren und verwenden Sie Tmux (Terminal Multiplexer) im Linux-System