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

So überprüfen Sie, ob Sie sich in einer Bildschirmsitzung befinden oder nicht in Linux

Diese kurze Anleitung erklärt, wie Sie überprüfen können, ob Sie sich im Bildschirm befinden Sitzung oder nicht in Linux. Wie Sie vielleicht bemerkt haben, wenn Sie einen Tmux starten Session, sehen Sie natürlich die Sitzungsdetails, wie z. B. den aktuellen SHELL-Namen, Hostnamen und aktuelles Datum und Uhrzeit, in der Statusleiste unten, wie im folgenden Bild gezeigt.

Tmux-Sitzungsdetails

Aber Sie werden solche Details nicht sehen, wenn Sie sich in den Screen-Sitzungen befinden. So sieht die Bildschirmsitzung auf meinem Ubuntu-System aus:

Bildschirmsitzung

Erkennst du den Unterschied? Die Bildschirmsitzung und die normale Sitzung sehen genau gleich aus. Lassen Sie uns den Befehl "screen -ls" ausführen, um die laufenden Bildschirmsitzungen aufzulisten.

$ screen -ls

Beispielausgabe:

Bildschirmsitzungen auflisten

Sehen? Ich befinde mich in der Bildschirmsitzung, aber es sieht aus wie eine normale Sitzung. Es gibt keine Anzeige in der Statusleiste unten. Woher wissen Sie, ob Sie in einer Screen-Sitzung arbeiten oder nicht? Das werden wir jetzt herausfinden.

Überprüfen Sie, ob Sie sich in einer Bildschirmsitzung befinden oder nicht in Linux

Es gibt mehrere Möglichkeiten, um zu überprüfen, ob wir uns in einer Bildschirmsitzung befinden. Hier habe ich drei Methoden angegeben.

Methode 1 - Verwendung des "Echo"-Befehls

Um zu überprüfen, ob Sie sich in einer Bildschirmsitzung befinden oder nicht, führen Sie einfach den folgenden Befehl aus:

$ echo $STY

Wenn Sie sich in der Bildschirmsitzung befinden, sehen Sie eine Ausgabe wie unten.

18704.pts-0.ostechnix

Hier ist eine weitere Möglichkeit, um zu überprüfen, ob Sie sich in einer Bildschirmsitzung befinden:

$ echo $TERM

Sie sehen den Begriff "Bildschirm" in der Ausgabe.

Beispielausgabe:

screen.xterm-256color

Überprüfen Sie, ob Sie sich in einer Bildschirmsitzung unter Linux befinden

Wenn keine Bildschirmsitzungen ausgeführt wurden, wird für den ersten Befehl nichts angezeigt. Und für den zweiten Befehl wird der Begriff "Bildschirm" nicht in der Ausgabe enthalten sein. Beenden oder trennen Sie sich einfach von der Bildschirmsitzung und führen Sie die obigen Befehle erneut aus. Sie werden eine Ausgabe wie unten sehen.

Bildschirmsitzungen prüfen

Sehen? Wir befinden uns nicht in der Bildschirmsitzung.

Die beiden obigen Befehle funktionieren nur, wenn Sie sich auf Ihrem lokalen System in der laufenden Bildschirmsitzung befinden. Es funktioniert nicht, wenn Sie die Screen-Sitzung im lokalen System gestartet haben und dann über SSH auf ein anderes System im Netzwerk zugreifen.

In diesem Fall können Sie die zweite unten angegebene Methode verwenden.

Methode 2 - Verwendung des Bildschirmpräfixschlüssels

Um zu überprüfen, ob wir uns in einer Bildschirmsitzung befinden oder nicht, drücken Sie einfach Strg+a und dann Strg+t Schlüssel. Dies zeigt die Uhrzeit und den Hostnamen an, wenn Sie sich in einer Bildschirmsitzung befinden.

Sehen Sie sich die folgende Demo an.

Überprüfen Sie, ob Sie sich in einer Bildschirmsitzung befinden, indem Sie die Bildschirmpräfixtaste

verwenden

Wie Sie in der obigen Ausgabe,

  • Zuerst habe ich eine Bildschirmsitzung gestartet und die Tasten Strg+a und Strg+t gedrückt, um zu prüfen, ob ich mich in der Bildschirmsitzung befinde.
  • Dann habe ich mich von der Bildschirmsitzung getrennt, indem ich Strg+a gedrückt habe und d .
  • Und schließlich habe ich mich wieder der Bildschirmsitzung angeschlossen und Strg+a und Strg+t gedrückt, um erneut zu überprüfen, ob ich mich in der Bildschirmsitzung befinde.

Diese Methode funktioniert, selbst wenn Sie mit SSH woanders hingegangen sind.

Methode 3 - Verwendung des Caption-Befehls

Wenn Sie nicht jedes Mal die Tasten drücken möchten, können Sie den folgenden Code in Ihre ~/.screenrc einfügen Datei. Wenn diese Datei nicht verfügbar ist, erstellen Sie sie einfach.

$ nano ~/.screenrc

Fügen Sie den Code hinzu:

caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"

Speichern und schließen Sie die Datei.

Von nun an sehen Sie jedes Mal, wenn Sie eine Bildschirmsitzung starten, eine kleine Benachrichtigungsleiste (einschließlich Hostname, Uhrzeit und Datum, Systemlast usw.) am unteren Rand des Terminalfensters, wie unten gezeigt.

Screen session on ubuntuserver (system load: 0.00 0.00 0.00)        Sat 22.02.2020 12:37

Zeigen Sie Sitzungsdetails am unteren Rand des Terminalfensters mit dem Caption-Befehl an

Diese Benachrichtigungsleiste wird ausgeblendet, nachdem Sie die Bildschirmsitzung verlassen haben.

Methode 4 – Legen Sie eine andere Bash-Eingabeaufforderung für Bildschirmsitzungen fest

Dies ist eine weitere Möglichkeit, Bildschirmsitzungen leicht erkennbar zu machen, indem Sie ein paar Codezeilen in ~/.bashrc hinzufügen Datei. Eigentlich ist dies keine empfohlene Methode . Es kann viele unnötige Probleme verursachen, wenn eine andere Shell wie zsh Ihre aktuelle Shell erbt. Dies dient nur zu pädagogischen Zwecken. Verwenden Sie es auf eigene Gefahr!

Sichern Sie zuerst Ihre aktuelle ~/.bashrc Datei:

$ cp ~/.bashrc ~/.bashrc.bak

Legen Sie einfach einen anderen Bash-Eingabeaufforderungsnamen für normale und Bildschirmsitzungen fest, wie Sie es unten wünschen. Zum Beispiel habe ich die folgenden Zeilen in meiner ~/.bashrc hinzugefügt Datei.

if [ -z $STY ]
then
        PS1="This is normal session:~$ "
else
        PS1="This is Screen session:~$ "
fi

Melden Sie sich ab und wieder an. Der Name Ihrer Terminal-Eingabeaufforderung ändert sich gemäß Ihren Einstellungen, während Sie zwischen normalen und Bildschirmsitzungen wechseln.

Legen Sie eine andere Bash-Eingabeaufforderung für Bildschirmsitzungen fest

Nochmals:Es ist keine gute Praxis, den Namen der Bash-Eingabeaufforderung zu ändern. Verwenden Sie stattdessen einfach eine der vorherigen Methoden, um zu überprüfen, ob Sie sich in einer Bildschirmsitzung befinden oder nicht.

Verwandte Lektüre:

  • So passen Sie die Bash-Eingabeaufforderung unter Linux an

Hoffe das hilft.


Linux
  1. So überprüfen Sie die Zeitzone in Linux

  2. Woher wissen Sie, welche Linux-Distribution Sie verwenden?

  3. So überprüfen Sie den Linux-Anmeldeverlauf

  4. So finden Sie heraus, welche Shell Sie unter Linux verwenden

  5. Wie überprüfen Sie unter Linux, ob eine Festplatte fragmentiert ist?

So verwenden Sie den GNU-Bildschirm zum Verwalten von Terminalsitzungen in Linux

So verwenden Sie den Linux-Bildschirm

So überprüfen Sie die Linux-Version

So starten Sie die Bildschirmsitzung unter Linux beim Anmelden automatisch

So überprüfen Sie den Auslagerungsbereich unter Linux

So finden Sie heraus, welche Linux-Version Sie ausführen