A solução correta não é usar o "poder desanexar", mas apenas um "desanexar normal"; o comportamento que você está tentando evitar é exatamente a diferença entre os dois.
Em vez de screen -D
use screen -d
, anote em minúsculas.
Quando eu inicio a tela em um terminal com
$ screen -R foo
e, em seguida, remotamente, desconecte de outro terminal com
$ screen -D foo
meu primeiro terminal morre. (Significado, se eu correr do gnome-terminal, toda a janela do terminal gnome desaparecerá.)
Existe uma maneira de mudar esse comportamento para que eu possa continuar a usar o terminal original depois que a tela morrer?
Ok, se não houver uma solução adequada, encontrei uma solução alternativa. Se você iniciar a sessão da tela original com:
$ $SHELL
$ screen -R foo
então você está executando a tela em um shell dentro de um shell, então quando ele é removido remotamente e tenta matar seu shell, ele apenas mata o shell interno e retorna para o shell original externo.
Tags gnu-screen