é de alguma forma possível verificar se estou agora na sessão de tela? Preciso determinar se pressionar Ctrl + d me desconectaria do servidor ou apenas fecharia a tela atual. Obrigado.
gnu-screen
console
wlk
fonte
fonte
if test -n "$STY"; then printf "This is a screen session named '$STY'.\n"; else printf "This is NOT a screen session.\n"; fi
Você pode olhar para a variável $ TERM.
echo $TERM
Se for uma
screen
sessão, o termo variável deve retornar "tela".Ctrl-a -d (para sair da tela)
Verifique também: https://stackoverflow.com/questions/3472287/how-do-you-tell-if-the-current-terminal-session-is-in-gnu-screen
fonte
"$TERM" = "screen"
parece preservado ao entrar nosudo
ambiente, ao contrário da$STY
opção.A menos que você tenha alterado as associações de teclas padrão, você pode fazer Ctrl+ a-> Ctrl+ t, que mostrará a hora, se estiver na tela. Isso funcionará mesmo se você tiver ssh: d afastado em outro lugar, ao contrário das outras sugestões.
fonte
O
caption
comando no~/.screenrc
é uma boa maneira de diferenciar uma sessão de tela.Eu pessoalmente estou usando isso:
Ele adiciona uma linha como esta na parte inferior da tela:
Com a primeira parte (nome do sistema + carga) em verde e a data em rosa. Útil e difícil de perder!
fonte
Encontrei outra solução:
Modifique o seu
.screenrc
, para que minha sessão na tela pareça completamente diferente do terminal normal.fonte
.screenrc
arquivo de exemplo .para ver suas sessões e
reconectar a um desconectado, se desconectado.
reconectar a um desconectado.
fonte
Faça um
screen -ls
. Indica explicitamenteAttached
versusDetached
status.Exemplo em anexo:
Exemplo desanexado:
fonte