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

Woher weiß ich, ob ich in einem Linux-Bildschirm laufe oder nicht?

Lösung 1:

(Gestohlen aus „Wie kann ich feststellen, ob ich mich in einem Bildschirm befinde?“ auf StackOverflow und verfasst von Benutzer jho. P.S. Sie können auf StackExchange-Sites nicht für ein Duplikat stimmen.)

Überprüfen Sie $STY . Wenn es null ist, befinden Sie sich auf einem "echten" Terminal. Wenn es etwas enthält, ist es der Name des Bildschirms, in dem Sie sich befinden.

Wenn Sie nicht im Bildschirm sind:

[email protected] ~ $ echo $STY
[email protected] ~ $ 

Wenn Sie sich im Bildschirm befinden:

[email protected] ~ $ echo $STY
2026.pts-0.ip-10-0-1-71

Wenn Sie tmux anstelle von screen verwenden, prüfen Sie auch $TMUX . Um dies zu Ihrer Eingabeaufforderung hinzuzufügen, fügen Sie Folgendes zu Ihrem ~/.bashrc hinzu :

if [ -n "$STY" ]; then export PS1="(screen) $PS1"; fi
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi

Lösung 2:

Suchen Sie nach $STY die Details enthält, die screen verwendet, um mit sich selbst zu kommunizieren; $WINDOW ist dann der aktuelle screen Fensternummer.

Lösung 3:

Die einfache Überprüfung, die ich normalerweise verwende, besteht darin, einfach Strg zu drücken -a :

  • Wenn der Cursor zum Zeilenanfang springt , ich bin nicht drinnen eine Bildschirmsitzung.

  • Wenn nichts passiert , ich weiß, dass ich drinnen bin eine Bildschirmsitzung und dass ich gerade die Bildschirmsteuerungstaste verwendet habe. Ich habe dann a gedrückt (zum Zeilenanfang springen), w (aktuelle Bildschirmfenster anzeigen) oder einen anderen "harmlosen" Bildschirmbefehl ausführen, um zur Eingabeaufforderung zurückzukehren.

(Natürlich funktioniert dies nur, wenn Sie gerade bash oder eine andere Software ausführen, die "zum Anfang der Zeile springt" oder etwas ähnlich Harmloses macht, wenn Sie Strg-a drücken.)

Lösung 4:

Nun, die meisten der Zeit (abgesehen von jemandem, der versucht, Dinge zu vermasseln) Ihre TERM wird auf screen gesetzt (oder zumindest screen erwähnen irgendwo).

Die einfache Lösung für das Problem besteht darin, den Bildschirm überall auszuführen. Verlasse das Haus nicht ohne, sage ich.

Lösung 5:

Ich bewahre dies in meinem .bashrc auf :

 PS1='[\[email protected]\h \W'
 if [ "$WINDOW" ]; then PS1="$PS1 ($WINDOW)"; fi
 PS1="$PS1]$"

Es ist nicht narrensicher, aber immer wenn ich einen neuen Bildschirm erstelle, fügt es die Fensternummer in die Eingabeaufforderung ein. Wenn ich nicht screen ausführe , es gibt keine Nummer.


Linux
  1. Linux – Wie erkennt man, welche Linux-Distribution läuft?

  2. Vim läuft nicht in Tmux?

  3. So beenden Sie laufende Prozesse in Linux

  4. So verwenden Sie den Befehl „screen“ unter Linux

  5. Wie stoppe ich einen Bildschirmprozess unter Linux?

So listen Sie laufende Prozesse in Linux auf

Wie installiere und verwende ich den Linux-Bildschirm?

So verwenden Sie den Linux-Bildschirm

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

Wie man die Gruppen eines Linux-Benutzers kennt

Wie plane ich einen Neustart unter Linux?