Estou usando o utilitário Screen e gostaria de preservar a sessão quando a máquina reiniciar. Se não for possível, você pode recomendar outras alternativas ao Screen que permitiriam preservar as sessões entre as reinicializações.
Estou usando o Ubuntu Server 10.04 (Lucid Lynx), se isso importa.
Tenho várias sessões abertas via Screen. Quando a máquina reinicia, todas essas sessões são perdidas e eu preciso reabri-las novamente. Eu queria encontrar uma maneira de preservar essas sessões de tela.
gnu-screen
Sergey G
fonte
fonte
Respostas:
Antes de tudo, vamos esclarecer algumas coisas importantes:
Se houver uma máquina envolvida ou se o servidor estiver sendo reinicializado, você ficará sem sorte.
Se você estiver efetuando login em uma máquina remota, mas precisar reinicializar sua máquina local, não há problema, desde que você esteja executando a tela na máquina remota em vez da sua máquina local. Percebo que isso é bastante óbvio para qualquer usuário experiente (até um pouco experiente) da tela, mas mencionei apenas no caso de ser útil.
Outra possibilidade (novamente, se isso é útil para você depende das circunstâncias) é executar a máquina com tela em uma VM. Suponha que seja um servidor físico remoto e precise ser reinicializado, mas ele tem um sistema operacional convidado (por exemplo) no VMware. Você pode suspender o sistema operacional convidado e iniciá-lo novamente após a reinicialização do hardware. Tudo depende do motivo pelo qual você precisa reiniciar, o que não foi especificado, e quanto controle você tem sobre a máquina e se está disposto a enfrentar todos esses problemas.
Não há solução FÁCIL, e é possível que nenhuma das soluções funcione para você. Mas boa sorte.
Se você estiver efetuando login em muitas máquinas, pode parecer muito trabalhoso executar a tela em todas as máquinas remotas separadamente, e é. Nesse caso, é útil ter uma tela intermediária em execução da máquina, que pode ter muitas janelas de tela, cada uma conectada em outra máquina remota. Enquanto a máquina intermediária permanecer em funcionamento, você poderá reiniciar sua própria máquina local (ou guardá-la na bolsa e levá-la para casa durante a noite, ou o que for) e a tela continuará sendo executada na máquina intermediária. (E, obviamente, se qualquer uma das máquinas remotas ficar inativa, você perderá a conexão com essa máquina, mas o restante das sessões de tela será bom.)
Mas é mais provável que você esteja se referindo à máquina remota ou à única máquina sendo reinicializada; nesse caso, não há uma maneira simples de fazer isso. O CryoPID parece promissor no começo, mas seu site diz que não funciona para a tela.
Mas há outra opção promissora que vale a pena explorar. (Se isso funcionará para você depende, em grande medida, exatamente do que você está tentando fazer.) Verifique isso no github.com: https://github.com/skoneka/screen-session/tree/master/ScreenSession/
fonte
Em algumas circunstâncias raras, isso é possível (consulte CryoPID ou CryoPID2 ), mas em geral isso é difícil, portanto não pode ser feito.
fonte
Em vez de usar a tela, use uma pequena VM do Virtualbox e trabalhe nela. Depois, você pode hibernar, reiniciar o host e ativar a VM novamente (como fechar e reabrir a tampa de um laptop). As conexões SSH com hosts remotos provavelmente não persistirão com esse método, acho que não seria possível garantir isso.
fonte
Você não pode. Certamente não na mesma máquina
fonte
Em tudo isso, a própria tela é bastante marginal. Não é a tela que você deseja "salvar", é ?, mas os ambientes nas várias sessões de tela, quaisquer que sejam.
Você parece estar sugerindo que salvar uma sessão de tela cobriria um processo SSH nela e em todos os tipos. O que está sendo executado dentro da Screen não é da conta da Screen, e essas são coisas que seriam difíceis de "salvar" ... seja lá o que isso realmente significaria se fosse implementável.
fonte