J'en ai besoin pour déterminer si frapper ctrl + d me déconnecterait du serveur ou fermerait simplement l'actuelle screen
.
Est-il possible de vérifier si je suis en ce moment même dans screen
session ?
J'en ai besoin pour déterminer si frapper ctrl + d me déconnecterait du serveur ou fermerait simplement l'actuelle screen
.
Est-il possible de vérifier si je suis en ce moment même dans screen
session ?
Vous pouvez consulter le $STY
(une variable définie par le commande d'écran ). Si ce n'est pas "", 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
$
Cela suppose que vous êtes toujours dans une session en cours sur l'ordinateur local. Si vous démarrez screen puis SSH ailleurs, cela ne fonctionnera pas.
if test -n "$STY"; then printf "This is a screen session named '$STY'.\n"; else printf "This is NOT a screen session.\n"; fi
@DavidMackintosh si vous êtes connecté en SSH à un autre endroit, appuyer sur ctrl-D me déconnectera du serveur, ce qui est exactement ce que la question demande.
Vous pouvez regarder la variable $TERM.
echo $TERM
Si c'est un screen
la variable term devrait renvoyer "screen".
root@deore:/volumes# echo $TERM
screen
Ctrl-a -d (pour quitter l'écran)
root@deore:/volumes# echo $TERM
xterm
Vérifiez également : https://stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen
Cela suppose que vous ne modifiez pas délibérément votre valeur TERM pour une raison quelconque.
Si vous modifiez votre variable TERM à l'intérieur de l'écran, vous vous exposez à toutes sortes de problèmes.
Eh bien, mes nœuds Solaris 2.6 ne fonctionnent pas bien avec les valeurs TERM définies comme des valeurs d'écran.
En quoi est-ce la meilleure solution ? Et si vous pas à l'écran, et ^A^T
la séquence de touches pour "nuke your homedir" est dans le programme que vous exécutez actuellement ?
El caption
dans le ~/.screenrc
est un moyen agréable de différencier une session d'écran.
Je l'utilise personnellement :
$ cat ~/.screenrc
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"
Il ajoute une ligne comme celle-ci au bas de l'écran :
Screen session on gbook (system load: 1,75 1,74 1,68) Lun 05.01.2015 13:01
Avec la première partie (nom du système + charge) en vert et la date en rose. Utile et difficile à manquer !
C'est parfait ! Il ne gêne pas (position basse), il est toujours visible (et coloré) et fournit des informations utiles sur le système. J'ai aussi posté ceci ici stackoverflow.com/a/43571028/2450431
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.