O VNC oferece uma opção de sessão persistente. Exatamente como configurá-lo pode depender da versão do VNC que você está usando, então tente SE ou Google para obter instruções específicas para a sua versão.
A versão que mais uso está instalada em um antigo servidor Solaris8. É do RealVNC. No servidor, você executa o comando evncserver
com seus -geometry
e -IdleTimeout
(e possivelmente profundidade) favoritos. Isso cria uma sessão VNC com um número no final, como ": 9". Então, quando você executar o vnc a partir do cliente, especifique o: 9 no final da identidade do servidor.
Meu alias para simplicidade está definido como:
evncserver -geometry 1280x1024 -IdleTimeout 16200 -depth 24
A sessão geralmente persistirá até a reinicialização no servidor ou você eliminará o processo explicitamente do servidor. Acessar a sessão novamente mantém tudo como estava, incluindo os processos em execução. Soa como você quer.