Antes de tudo, vamos esclarecer algumas coisas importantes:
- Quantas máquinas estão envolvidas? Em outras palavras, você está se conectando a uma máquina remota ou está tudo na sua máquina local?
- Se houver uma máquina remota envolvida, qual máquina está reiniciando: é o servidor ou o cliente?
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/