Estou executando um programa de maldições interativo em uma sessão de tela em um hardware bastante fraco. Na maioria das vezes, a tela é desanexada. Existe uma maneira desse programa detectar essa situação e basicamente parar de pintar na tela?
gnu-screen
Joachim Breitner
fonte
fonte
Respostas:
Existe um script irssi chamado
screen_away
que define seu status ausente com base no fato de a tela estar ou não conectada. Funciona assim:Todo shell em execução em uma tela terá a
STY
variável de ambiente definida como o nome do soquete. Você pode executarscreen -ls
para obter o caminho em que todos os soquetes estão armazenados:Verifique o bit de execução
/var/run/screen/.../$STY
. Se estiver definido, a tela está anexada; caso contrário, é desanexado. Você pode ver na saída acima que duas das minhas três telas estão anexadas e aqui os bits de execução correspondentes estão definidos:Você também pode continuar verificando a saída de
screen -ls
uma linha que contém$STY
e ver se ela termina em(Attached)
ou(Detached)
, mas que exigescreen
repetidas vezesfonte