Holen Sie sich bessere Remote-Sitzungen unter Linux mit Mosh und Tmux

Eine der Stärken von Linux ist die Ausrichtung auf Netzwerke, die hauptsächlich auf das Unix-Erbe zurückzuführen ist. Es gibt einen Grund, warum Linux ein Betriebssystem der Wahl für Server ist.

Der Hauptzugriff auf Linux-Server erfolgt über SSH oder Secure Shell. Obwohl es nützlich und sicher ist, wurde es in einer Zeit entwickelt, bevor Wi-Fi und Mobilfunkverbindungen alltäglich wurden.

Wenn Sie Ihren Computer in ein anderes Wi-Fi-Netzwerk verschieben oder in den Energiesparmodus versetzen, wird möglicherweise die Verbindung zu einem scheinbar eingefrorenen Terminalbildschirm unterbrochen.

Warum Mosh + Tmux?

Glücklicherweise gibt es einige Tools, die das Remote-Computing mit SSH einfacher und zuverlässiger machen. Sie können sie auf allen Geräten verwenden, vom physischen Terminal in einem Rechenzentrum bis zum Heimserver, auf einem Cloud-Server und sogar auf einem anderen Desktop-Computer, auf dem Unix oder ein BSD-Betriebssystem ausgeführt wird.

Mosh ist ein Tool über SSH, das auf sich ändernde Netzwerkverbindungen aufmerksam macht, und tmux ist ein "Terminal-Multiplexer", mit dem Sie eine Shell-Sitzung über verschiedene Anmeldungen hinweg beibehalten und sogar freigeben können.

Lesen Sie mehr: Was ist SSH und wofür steht es?

Erste Schritte mit Mosh

Holen Sie sich bessere Remote-Sitzungen unter Linux mit Mosh und Tmux - mosh homepage

Mosh ist ein Open-Source-Projekt, mit dem SSH über Roaming- und intermittierende Verbindungen funktioniert, da viele drahtlose Verbindungen beides sind.

Sie können Ihren Computer von einem kabelgebundenen zu einem kabelgebundenen Netzwerk oder zu einem anderen kabellosen Netzwerk wechseln, und Ihre Verbindung bleibt bestehen. Sie können Ihren Laptop auch in den Ruhezustand versetzen, während die Verbindung hergestellt ist. Nachdem das Netzwerk die Verbindung wiederhergestellt hat, können Sie das Terminalfenster eingeben.

Verwandte Themen : Verwalten von Remote-SSH-Verbindungen mit diesen Linux-Befehlen

Wenn Sie Ihre Netzwerkverbindung verlieren, teilt Ihnen Mosh mit, dass Sie nichts vom Remote-Server gehört haben. Wenn der Server Zeichen langsam zurückgibt, wird die Eingabe unterstrichen, bis der neueste Bildschirm wieder angezeigt wird.

Es gibt mehr technische Details in einem von den Autoren verfassten Artikel, aber die Installation als Benutzer ist ziemlich einfach. Mosh ist in den Paketmanagern der meisten Linux-Distributionen weit verbreitet. Es ist auch als Google Chrome-App verfügbar.

Installieren Sie Mosh unter Linux

Zum Beispiel, um in Ubuntu zu installieren:

 sudo apt install mosh

Auf dem Server muss natürlich auch der Mosh-Server installiert sein. Der Vorteil von Mosh ist, dass die Serverkomponente im Benutzermodus ausgeführt werden kann, sodass Sie nicht root sein müssen, um sie zu installieren.

Mit Mosh

Wenn Sie eine Verbindung zu Ihrem Remote-Computer herstellen möchten, geben Sie einfach Folgendes ein:

 mosh username@server

Natürlich möchten Sie den "Benutzernamen" und den "Server" durch Ihren Benutzernamen und den Namen des Computers ersetzen, zu dem Sie eine Verbindung herstellen möchten.

In der Dokumentation finden Sie spezielle Anforderungen, z. B. die Verbindung zu einem anderen Port.

Wenn alles richtig funktioniert, haben Sie eine Remote-Terminalsitzung, nur mit SSH. Sie können Befehle auf die gleiche Weise ausgeben, aber Ihre Verbindung ist zuverlässiger.

Erste Schritte mit Tmux

Holen Sie sich bessere Remote-Sitzungen unter Linux mit Mosh und Tmux - tmux homepage

Sie haben eine Remote-Terminal-Verbindung, die Änderungen im drahtlosen Netzwerk überstehen kann. Aber wie sieht es aus, wenn Sie endlich verbunden sind?

Möglicherweise führen Sie einen Job aus, der lange dauert, z. B. die Installation von Software oder sogar einen langen Kompilierungsjob. Was passiert, wenn Sie die Verbindung trennen? Der Job wird wahrscheinlich beendet, wenn das Terminal dies tut.

Außerdem können Sie im Terminal immer nur eine Aufgabe gleichzeitig ausführen, selbst bei der Auftragssteuerung. Wenn Sie einen Vollbild-Editor ausführen möchten, nimmt dieser das gesamte Terminal ein.

Tmux ist eine Antwort auf diese Probleme. Es ist ein "Terminal-Multiplexer", mit dem Sie mehrere Terminals in einem Fenster ausführen können. Es ist wie ein Terminal mit Registerkarten auf einem Linux-Desktop, aber viel flexibler.

Sie können eine Sitzung trennen und sich abmelden, um später darauf zurückzukommen und genau dort fortzufahren, wo Sie aufgehört haben. Sie können mehrere Terminalfenster öffnen. Sie können ein Programm in einem Fenster in einem Editor bearbeiten und in der Befehlszeile in einem anderen Fenster testen.

Die Installation von tmux ist ebenfalls sehr einfach. Wie Mosh ist es in vielen Linux-Distribution-Paketmanagern enthalten. In Ubuntu geben Sie einfach Folgendes ein:

 sudo apt install tmux

Natürlich müssen Sie dies auf Ihrem Remote-Computer installieren, um es dort verwenden zu können, aber es ist auch lokal sehr nützlich.

Wenn es installiert ist, starten Sie tmux mit dem folgenden Befehl:

 tmux

Sie starten dann ein Terminalfenster, ähnlich dem, das Sie lokal gestartet haben. In einer Statusleiste wird angezeigt, in welchem ​​Fenster Sie sich befinden.

Holen Sie sich bessere Remote-Sitzungen unter Linux mit Mosh und Tmux - tmux status bar

Tmux unterteilt den Bildschirm in "Fenster" mit mehreren "Fenstern", die ihre eigenen Terminals anzeigen. Sie können diese Fenster mit unbegrenzten Fenstern mit eigenen Fenstern neu anordnen und ihre Größe ändern.

Da tmux ein terminalbasiertes Programm ist, wird es vollständig über die Tastatur gesteuert. Der Standardpräfixbefehl zum Ausführen von Befehlen in tmux ist Strg + B. Dies kann in der Konfigurationsdatei geändert werden.

Die Benutzerkonfigurationsdatei ist die .tmux.conf in Ihrem Home-Verzeichnis. Die Dokumentation enthält weitere Details, aber die Anzahl der Anpassungen, die Sie vornehmen können, ist umfangreich.

Tmux mag eine Lernkurve haben, aber bei anderen "schwierigen" Programmen in der Linux / Unix-Welt stellen viele Benutzer fest, dass die Zeit, die für das Erlernen dieser Programme aufgewendet wird, gut für das verwendet wird, was sie damit tun können.

Eine der leistungsstärksten Optionen ist die Möglichkeit, Ihre Sitzung zu trennen und später wieder anzuschließen. Geben Sie dazu Strg + D ein . Geben Sie zum erneuten Anschließen "tmux attach" in die Shell ein, und Sie befinden sich wieder in Ihrer Sitzung.

Dies bedeutet, dass Ihre Sitzung so lange aktiv bleibt, wie es der Computer tut. Diese Methode ist auch zum Ausführen von Chat-Apps wie IRC beliebt, da Benutzer lange Zeit in Chatrooms bleiben können. Es ist auch möglich, Sitzungen mit anderen Personen zu teilen, z. B. für die Paarprogrammierung.

Mosh und Tmux kombinieren

Die wahre Stärke einer Remote-Sitzung liegt in den Kombinationen von Mosh und tmux.

Mit Mosh können Sie sich von überall aus bei Ihrem Remote-Computer anmelden und müssen sich keine Sorgen um die Zuverlässigkeit Ihrer Verbindung machen. Wenn Sie etwas ausführen möchten, das möglicherweise lange dauert, können Sie Ihre Sitzung trennen und später darauf zurückkommen.

Die Kombination von Mosh und tmux ermöglicht Ihnen maximale Zuverlässigkeit und Flexibilität bei Ihren Remote-Anmeldungen. Allein in tmux gibt es noch viel mehr zu entdecken, das die Leistung Ihrer Terminalsitzungen freisetzt.