Como verificar se estou na sessão de tela?

60

é 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.

    
por wlk 10.04.2011 / 18:30

7 respostas

86

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

$
    
por 06.04.2018 / 23:00
38

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

    
por 10.04.2011 / 18:34
22

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.

    
por 31.01.2014 / 15:38
10

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!

    
por 05.01.2015 / 13:03
4

Encontrei outra solução:
Modifique seu .screenrc , então minha sessão de tela parece completamente diferente do terminal normal.

    
por 24.08.2011 / 12:21
0
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.

    
por 11.08.2016 / 08:43
-1

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)
    
por 29.04.2015 / 11:04