Antworten:
Sie können sich die $STY
Variable ansehen (eine Variable, die mit dem Befehl screen festgelegt wurde ). Wenn es nicht "" ist, befinden Sie sich in einer Bildschirmsitzung.
Ich bin auf dem Bildschirm
$ echo $STY
29624.pts-1.iain-10-04
$
Ich bin nicht auf dem Bildschirm
$ echo $STY
$
if test -n "$STY"; then printf "This is a screen session named '$STY'.\n"; else printf "This is NOT a screen session.\n"; fi
Sie können sich die Variable $ TERM ansehen.
echo $TERM
Wenn es sich um eine screen
Sitzung handelt, sollte der Begriff Variable "screen" zurückgeben.
root@deore:/volumes# echo $TERM
screen
Strg-a-d (um den Bildschirm zu verlassen)
root@deore:/volumes# echo $TERM
xterm
Überprüfen Sie auch: https://stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen
"$TERM" = "screen"
scheint im sudo
Gegensatz zur $STY
Option beim Betreten der Umgebung erhalten zu sein .
Sofern Sie die Standardtastenbelegung nicht geändert haben, können Sie Ctrl+ a-> Ctrl+ tausführen, um die Uhrzeit anzuzeigen, wenn Sie sich auf dem Bildschirm befinden. Dies funktioniert auch, wenn Sie anderswo ssh: d haben, im Gegensatz zu den anderen Vorschlägen.
Der caption
Befehl in der ~/.screenrc
ist eine gute Möglichkeit, eine Bildschirmsitzung zu unterscheiden.
Ich persönlich benutze das:
$ cat ~/.screenrc
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"
Es wird eine Zeile wie die folgende am unteren Rand des Bildschirms hinzugefügt:
Screen session on gbook (system load: 1,75 1,74 1,68) Lun 05.01.2015 13:01
Mit dem ersten Teil (Systemname + Laden) in Grün und dem Datum in Rosa. Nützlich und schwer zu übersehen!
Ich habe eine andere Lösung gefunden:
Ändern Sie Ihre .screenrc
, so dass meine Bildschirmsitzung völlig anders aussieht als bei normalen Terminals.
.screenrc
anzeigen.
Mach ein screen -ls
. Es wird explizit angeben , im Attached
Vergleich zu Detached
Status.
Beispiel beigefügt:
$ screen -ls | grep tached
3132.pts-0.esavo00 (Attached)
Beispiel abgelöst:
$ screen -ls |grep tached
3132.pts-0.esavo00 (Detached)