Você pode ver a variável $STY
(uma variável definida pelo comando de tela ). Se não é "" então você está em uma sessão de tela.
Estou na tela
$ echo $STY
29624.pts-1.iain-10-04
$
Eu não estou na tela
$ echo $STY
$
é de alguma forma possível verificar se estou agora na sessão de tela? Eu preciso disso para determinar se apertar ctrl + d iria me desconectar do servidor ou apenas fechar a tela atual. Obrigado.
Você pode ver a variável $STY
(uma variável definida pelo comando de tela ). Se não é "" então você está em uma sessão de tela.
Estou na tela
$ echo $STY
29624.pts-1.iain-10-04
$
Eu não estou na tela
$ echo $STY
$
Você pode ver a variável $ TERM.
echo $TERM
Se for uma sessão de screen
, a variável de termo deve retornar "tela".
root@deore:/volumes# echo $TERM
screen
Ctrl-a-d (para sair da tela)
root@deore:/volumes# echo $TERM
xterm
Verifique também: link
A menos que você tenha alterado as combinações de teclas padrão, você pode fazer Ctrl-a Ctrl-t
, que mostrará a hora, se você estiver na tela. Isso funcionará mesmo se você tiver ssh: d afastado em algum outro lugar, ao contrário das outras sugestões.
O comando caption
no ~/.screenrc
é uma boa maneira de diferenciar uma sessão de tela.
Estou pessoalmente usando isso:
$ cat ~/.screenrc
caption always "%{= kc}Screen session on %H (system load: %l)%-28=%{= .m}%D %d.%m.%Y %0c"
Adiciona uma linha como esta na parte inferior da tela:
Screen session on gbook (system load: 1,75 1,74 1,68) Lun 05.01.2015 13:01
Com a primeira parte (nome do sistema + carga) em verde e a data em rosa. Útil e difícil de perder!
Encontrei outra solução:
Modifique seu .screenrc
, então minha sessão de tela parece completamente diferente do terminal normal.
screen -ls
para ver suas sessões e
screen -r sessioninfo
para reconectar a um desconectado, se desconectado.
screen -D -r sessioninfo
para se reconectar a um desconectado.
Faça um screen -ls
. Indica explicitamente Attached
versus Detached
status.
Exemplo em anexo:
$ screen -ls | grep tached
3132.pts-0.esavo00 (Attached)
Exemplo separado:
$ screen -ls |grep tached
3132.pts-0.esavo00 (Detached)