Estoy ejecutando un programa interactivo de maldiciones en una sesión de pantalla en hardware bastante débil. La mayoría de las veces, la pantalla está separada. ¿Hay alguna forma de que este programa detecte esta situación y básicamente deje de pintar en la pantalla?
gnu-screen
Joachim Breitner
fuente
fuente
Respuestas:
Hay un script irssi llamado
screen_away
que establece su estado de ausencia en función de si la pantalla está conectada o no. Funciona así:Cada shell que se ejecuta dentro de una pantalla tendrá la
STY
variable de entorno establecida en el nombre del socket. Puede ejecutarscreen -ls
para obtener la ruta donde se almacenan todos los sockets:Verifique el bit de ejecución
/var/run/screen/.../$STY
. Si está configurado, la pantalla está adjunta; de lo contrario está separado. Puede ver en el resultado anterior que dos de mis tres pantallas están conectadas, y aquí se establecen los bits de ejecución correspondientes:También puede seguir comprobando la salida de
screen -ls
una fila que contiene$STY
y ver si termina en(Attached)
o(Detached)
, pero eso requiere ejecutarscreen
una y otra vezfuente