est-il possible de vérifier si je suis en train de passer à l'écran? J'en ai besoin pour déterminer si appuyer sur ctrl + d me déconnecterait du serveur ou fermerait simplement l'écran actuel. Merci.
75
est-il possible de vérifier si je suis en train de passer à l'écran? J'en ai besoin pour déterminer si appuyer sur ctrl + d me déconnecterait du serveur ou fermerait simplement l'écran actuel. Merci.
Vous pouvez regarder la $STY
variable (une variable définie par la commande screen ). Si ce n'est pas "" alors vous êtes dans une session d'écran.
Je suis à l'écran
$ echo $STY
29624.pts-1.iain-10-04
$
Je ne suis pas à l'écran
$ 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
Vous pouvez regarder la variable $ TERM.
echo $TERM
S'il s'agit d'une
screen
session, le terme variable devrait renvoyer "screen".Ctrl-a -d (pour quitter l'écran)
Consultez également: https://stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen
la source
"$TERM" = "screen"
semble être préservé en entrant dans l'sudo
environnement, contrairement à l'$STY
option.Sauf si vous avez modifié les raccourcis clavier par défaut, vous pouvez faire Ctrl+ a-> Ctrl+ t, ce qui affichera l'heure si vous êtes à l'écran. Cela fonctionnera même si ssh: d est absent quelque part, contrairement aux autres suggestions.
la source
La
caption
commande dans~/.screenrc
est un bon moyen de différencier une session d’écran.J'utilise personnellement ceci:
Il ajoute une ligne comme celle-ci en bas de l'écran:
Avec la première partie (nom du système + charge) en vert et la date en rose. Utile et difficile à manquer!
la source
J'ai trouvé une autre solution:
Modifiez votre
.screenrc
, de sorte que ma session d'écran est complètement différente de celle d'un terminal normal.la source
.screenrc
fichier exemple .pour voir vos sessions et
pour vous reconnecter à un serveur déconnecté, s'il est déconnecté.
pour vous reconnecter à un réseau déconnecté.
la source
Faire un
screen -ls
. Cela va explicitement indiquer le statutAttached
versusDetached
.Exemple ci-joint:
Exemple détaché:
la source