x11vnc não responde depois de um tempo

0

Lubuntu 16.04 LTS rodando sem cabeça em um Banana Pro, a partir da imagem oficial do LeMaker . Depois de criar um cartão SD de 32GB, ampliei a partição do sistema de ~ 3.7GB para preencher o cartão, inicializei pela primeira vez e segui esse pseudocódigo:

do
  # Boot and SSH in
  ssh bananapi@<ip_address>
  bananapi

  # Initial Setup on SSH
  sudo su
  bananapi
  apt-get update
  apt-get dist-upgrade -y                     # let it do everything it wants
  apt-get autoremove -y
  nano /etc/sudoers                           # add bananapi back in, copying root
  nano /etc/update-manager/release-upgrades   # set the desired option here
  do-release-upgrade                          # let it do everything it wants, including reboot
while(do-release-upgrade did something)

apt-get install x11vnc -y
x11vnc -storepasswd ******** /etc/x11vnc.pass
nano /etc/rc.local

/etc/rc.local inclui a linha:

/usr/bin/x11vnc -noxrecord -shared -xkb -forever -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -bg -o /var/log/x11vnc.log

Quando termina a reinicialização, meus clientes VNC em diferentes máquinas Windows e Lubuntu podem se conectar a ela e controlá-la. Eu termino de configurá-lo, usando uma combinação de ajustes VNC / GUI, SSH para copiar / colar fácil, e sFTP para scripts pré-fabricados e código fonte para construir sobre o Pi, e reinicie novamente.

Quando ele volta, reconecto um cliente VNC e tudo parece bem. Mas, algum tempo depois, percebo que a janela do VNC não responde. Não apenas leitura, mas o relógio nem muda. Isso também é consistente entre os clientes Windows e Linux. Um cliente recém-conectado mostra o mesmo problema imediatamente: a conexão é bem-sucedida, mas mostra uma captura de tela desatualizada que não responde a nada.

Por esta altura, tendo completado toda a minha configuração, eu tenho um script de desligamento automático (lembre-se que é sem cabeça) para quando o sistema alterna para a bateria, então eu ainda posso desligá-lo graciosamente puxando o plugue CA. Quando voltar, o VNC funciona novamente ... por um tempo. Também percebo que, mesmo quando o VNC falhou, o SSH e o ponto de acesso WiFi ainda funcionam, portanto, não é uma falha completa do sistema. Apenas VNC.

Este problema é o mesmo em 16.04 como na imagem 14.04 original com apenas as atualizações de pacotes, exceto que LeMaker ainda não liberou uma imagem oficial de 16.04 ainda.

Alguma idéia?

    
por AaronD 11.11.2016 / 00:12

1 resposta

0

Eu finalmente descobri! Graças a esta discussão sobre um servidor VNC diferente em uma máquina diferente e algum acaso jogando com o Pi:

link

Basicamente, o problema é que o servidor VNC continua a ler um buffer de exibição que não é mais atualizado porque o material de vídeo foi desligado. No tópico acima, é porque fechei a tampa de um laptop executando esse servidor; no caso desta questão, é porque o tempo de supressão da tela padrão ainda estava lá. Uma vez esgotado o tempo, o chip gráfico do Pi desligou, não mais atualizando o buffer, e assim o servidor VNC pareceu estar congelado.

Por que ele não voltou em um evento de mouse com VNC, não sei, mas definir o Pi para nunca desligar a tela resolveu o abandono em primeiro lugar.

(É sem cabeça de qualquer maneira, então não é como se eu estivesse perdendo energia em uma tela fazendo isso. Talvez um pouco em um chip gráfico, mas isso é insignificante na minha aplicação.)

    
por AaronD 14.12.2016 / 23:02