So verwenden Sie den Bildschirm-Terminal-Multiplexer unter Linux

0
184

Möchten Sie mehrere virtuelle Bildschirmsitzungen über eine einzige Terminalkonsole ausführen? Oder verhindern Sie, dass die Internetverbindung unterbrochen wird, wenn Sie Ihre Konsolensitzung über SSH beenden? Wenn ja, heißen Sie den Terminal-Multiplexer von GNU Screen noch heute in Ihrem Toolset willkommen!

Das GNU Screen-Dienstprogramm verwenden

Das GNU Screen-Dienstprogramm für Linux ist ein vielseitiger Bildschirm-Multiplexer, mit dem Sie mehrere virtuelle Bildschirmsitzungen (denken Sie an zusätzliche Konsolenfenster) von Ihrer aktuellen Terminalsitzung aus starten!

Der Einstieg ist einfach. Sie können das GNU Screen-Tool mit sudo apt install screen in der Befehlszeile Ihres Terminals installieren:

Wenn Sie ein RedHat/RPM-basiertes Betriebssystem verwenden, ersetzen Sie bitte im obigen Befehl `apt` durch `yum`.

Um eine neue virtuelle Konsole zu öffnen, können Sie jetzt Geben Sie einfach screen ein und drücken Sie die Eingabetaste, woraufhin Ihnen ein Begrüßungsbildschirm angezeigt wird:

Werbung

Drücken Sie einfach die Leertaste oder kehren Sie zurück, um den Begrüßungsbildschirm zu schließen. Die Eingabeaufforderung scheint zurückzukehren, aber tatsächlich befinden Sie sich jetzt in einer virtuellen Bildschirmsitzung. Betrachten Sie es als eine alternative Terminalsitzung, die innerhalb der früheren Terminalsitzung ausgeführt wird.

Eines der großartigen Dinge am GNU-Bildschirm ist, dass selbst wenn die Haupt-/Eltern-Terminalsitzung irgendwie fehlschlägt oder abstürzt (zum Beispiel aufgrund einer verlorenen Netzwerkverbindung) und selbst wenn Sie die Haupt-/Eltern-Terminalsitzung schließen oder beenden. Die Bildschirmsitzung bleibt live und läuft!

Es ist einfach zu überprüfen, ob wir uns gerade in einer Bildschirmsitzung befinden oder nicht:

Diese if-Anweisung testet, ob die Variable $STY gesetzt ist oder nicht. Wenn die Umgebungsvariable $STY gesetzt ist, handelt es sich um eine Bildschirmsitzung.

Wie kehren wir also zu unserer Haupt-/Eltern-Terminalsitzung zurück? Dies kann durch die Verwendung einer Tastaturkombination erfolgen, auf die der GNU-Bildschirm im Hintergrund lauscht. Drücken Sie einfach STRG+A > STRG+D. Es spielt keine Rolle, ob Sie dabei die STRG-Taste loslassen oder nicht.

Sie sehen etwas Ähnliches wie diese Ausgabe:

Dies sagt uns auch, dass wir uns nur von der virtuellen GNU-Bildschirmsitzung getrennt haben – es wurde nicht beendet, und wenn wir möchten, können wir uns wieder damit verbinden. Selbst wenn die Haupt-/Elternsitzung aus irgendeinem Grund geschlossen worden wäre, wäre die virtuelle Bildschirmsitzung nicht beendet worden und wir können uns wieder mit ihr verbinden.

Werbung

Um die Sitzung wiederherzustellen, können wir ausgeben ein einfacher Befehl:

Wenn Sie diesen Befehl bestätigen, kehren wir einfach zu der virtuellen Bildschirmsitzung zurück, die wir ausgeführt haben. Beachten Sie, dass wir die relevante Prozess-ID (wie beim Trennen von der Bildschirmsitzung angegeben) verwendet haben, um die Verbindung zur virtuellen Bildschirmsitzung wiederherzustellen. Dies verdeutlicht auch sofort, wie wir eine unbegrenzte Anzahl von Bildschirmsitzungen starten können (obwohl jede eine gewisse Menge an Ressourcen verbraucht) und mit dem Befehl screen -d -r eine Verbindung zu einer beliebigen herstellen können.

Wir Weitere Informationen zu den Optionen, die wir für diesen Befehl verwendet haben, finden Sie im Bildschirm-Inline-Handbuch:

< /p>

Für einen größeren Überblick über screen und seine vielen Funktionen können Sie den Befehl man screen verwenden:

Wenn wir eine Liste der Bildschirmsitzungen sehen möchten, die gerade auf dem Computer ausgeführt werden, können wir den Befehl screen -list ausgeben:

Beachten Sie, wie die Sitzung als ‘Getrennt’ oder ‘Angehängt’ je nachdem ob du noch irgendwo damit verbunden bist oder nicht.

Werbung

Manchmal möchten Sie vielleicht innerhalb einer Bildschirmsitzung zurückscrollen, zum Beispiel wenn mehr Ausgabezeilen generiert wurden als die Anzahl der Zeilen, die in Ihrer Terminalfenstergröße verfügbar sind. Man würde erwarten, dass dies so einfach ist, als würde man mit der Maus nach oben und unten scrollen, aber das ist es nicht.

Stattdessen können Sie eine STRG+ESC-Tastaturkombination verwenden, um den Kopiermodus zu aktivieren (obwohl keine tatsächliche Kopie erstellt wird, wenn Sie nur scrollen), und jetzt funktionieren Ihre Maus sowie die standardmäßigen Auf-/Ab-Cursortasten ordnungsgemäß. Wenn Sie mit dem Suchen (und/oder Kopieren, wenn Sie möchten, z. B. mit der Maus wie gewohnt auswählen und kopieren) fertig sind, drücken Sie einfach erneut die ESC-Taste, um den Kopiermodus abzubrechen.

At Mal kann ein Programm, das innerhalb eines Bildschirms ausgeführt wird, beispielsweise aufgrund eines Programmfehlers oder aufgrund von unzureichendem Speicher oder Datenträger abstürzen. In diesem Fall wird auf dem Bildschirm ‘Tot’ in der Bildschirm-Listenausgabe:

An diesem Punkt Wir können die tote Bildschirmsitzung löschen, indem wir einen screen -wipe-Befehl ausgeben:

In diesem Artikel haben wir untersucht, wie man das GNU screen-Dienstprogramm installiert, wie man eine neue virtuelle Bildschirmsitzung damit startet und wie man sich von einer bestehenden Bildschirmsitzung trennt und sie wieder anschließt. Schließlich sehen wir uns an, wie man in Bildschirmsitzungen scrollt und wie man mit toten Bildschirmsitzungen umgeht.