Sou muito novo no Linux e tenho esse problema que não consegui encontrar uma solução.
Problema:
Quando eu me conecto ao meu servidor executando o x11vnc assim que ligo o servidor, tudo é bom para ir até que eu pare de fazer qualquer coisa, como movimento do mouse e por alguns minutos. Quando isso acontece e eu volto a fazer coisas, o VNC ainda está conectado, mas não está mais recebendo nenhuma atualização de tela, mas a entrada do teclado ou do mouse ainda é enviada e recebida pelo servidor! Se eu desconectar e tentar me conectar novamente, ele ficará preso em um loop de conexão INFINITE!
Agora, o mesmo problema acontece mesmo se eu não fizer nada antes de me conectar ao meu servidor (x11vnc).
Basicamente, o problema é que, uma vez que meu servidor é deixado ocioso por alguns minutos, o x11vnc pára de enviar a tela para o cliente VNC conectado e aceitar as conexões de entrada.
A maneira como faço isso funcionar é se eu movo o mouse ou pressiono algo no teclado que está conectado diretamente ao meu servidor. O mesmo caso como se um computador estivesse dormindo, como um PC com Windows.
Como corrijo esse problema? Eu preciso que o x11vnc esteja sempre ativo, sem tempo ocioso, sempre pronto para aceitar novas conexões, se houver um modo ocioso. Aqui está um arquivo de serviço x11vnc que inicia x11vnc:
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service
[Service]
ExecStart=/usr/bin/x11vnc -noxrecord -noxfixes -noxdamage -forever -display :0 -auth guess -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2
[Install]
WantedBy=multi-user.target
PS: Quando o problema acontece, aplicativos e tal não param de funcionar, não há protetor de tela e tal, não está dormindo, a tela não fica preta, tudo está funcionando normalmente. Este problema é mais provável com o x11vnc.