J'exécute un programme de malédictions interactif dans une session d'écran sur un matériel assez faible. La plupart du temps, l'écran se détache. Existe-t-il un moyen pour ce programme de détecter cette situation et d'arrêter de peindre sur l'écran?
gnu-screen
Joachim Breitner
la source
la source
Réponses:
Il existe un script irssi appelé
screen_away
qui définit votre statut d'absence selon que l'écran est attaché ou non. Cela fonctionne comme ceci:Chaque shell exécuté dans un écran aura la
STY
variable d'environnement définie sur le nom du socket. Vous pouvez exécuterscreen -ls
pour obtenir le chemin où toutes les sockets sont stockées:Vérifiez le bit d'exécution
/var/run/screen/.../$STY
. S'il est défini, l'écran est attaché; sinon c'est détaché. Vous pouvez voir sur la sortie ci-dessus que deux de mes trois écrans sont attachés, et ici les bits d'exécution correspondants sont définis:Vous pouvez également continuer à vérifier la sortie de
screen -ls
pour une ligne qui contient$STY
, et voir si elle se termine par(Attached)
ou(Detached)
, mais cela nécessite de courirscreen
encore et encorela source