Basicamente, tenho uma sessão de tela remota, que desejo reconectar automaticamente. Atualmente, estou fazendo isso com o seguinte comando (como um marcador do iTerm ou um alias)
ssh host -t screen -x thesessionname
Isso funciona bem, mas se a sessão terminar por qualquer motivo, eu gostaria que ela fosse recriada na próxima conexão. A -R
bandeira para screen
é quase perfeita:
ssh host -t screen -R -S thesessionname
..mas se a sessão já estiver anexada, uma segunda sessão será realizada (como uma -R
simples consulta à primeira sessão desanexada, se nenhuma for encontrada, ela criará uma nova)
Existe uma maneira de fazer o -R
sinalizador procurar sessões anexadas também e criar apenas um novo se thesessionname
ele não existir?
Se isso não é facilmente possível, como eu poderia recriar automaticamente a sessão de tela quando ela morre? Talvez um script seja executado via cron que procure a sessão nomeada, criando-a, caso ela não exista?
fonte
screen -x -R -S main
é o que eu acabei usando (funciona da mesma forma sem o desengate forçado), obrigado!sceen -r <yoursession>
um erro quando já está anexado (em vez de criar uma nova sessão).Algumas boas opções. Primeiro, o meu favorito:
Isso será anexado à primeira sessão de tela disponível (compartilhando se outra conexão estiver conectada) e, se não houver sessões de tela, inicie uma nova.
Os documentos para isso dizem "Reconecte uma sessão e, se necessário, desanexe ou crie-a. Use a primeira sessão se houver mais de uma sessão disponível". Basicamente, o double-R faz com que procure a primeira sessão a ser anexada.
"Anexe aqui e agora. O que quer que isso signifique, basta fazê-lo." Desanexará e desconectará remotamente todas as outras sessões anexadas e anexará à primeira sessão possível. Basicamente, faz o que for necessário para anexar a uma sessão existente e cria uma nova se não houver nada lá.
O primeiro (-x -R) é o menos provável de causar problemas (não desconectará sua outra conexão), mas sempre se liga a algo se houver algo a que se conectar e cria algo se não há nada a que se conectar.
fonte
eu uso
Eu não quero que todo o meu login no outro shell seja eliminado, como
-D
é o caso, e definitivamente não quero o modo de conexão múltipla do-x
.fonte