Não é possível conectar-se ao servidor x11vnc antes do login

2

Eu instalei o x11vnc no ubuntu 15.10. Baseado em:

Remmina não pode executar a sessão de área de trabalho remota do VNC antes de o usuário efetuar login

Eu criei um novo arquivo: /etc/init/x11vnc.conf em MYSERVER contendo:

start on login-session-start
script
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -loop -forever -safer -shared -ultrafilexfer -bg -o /var/log/x11vnc.log -rfbauth /home/moore/.vnc/passwd -rfbport 5903 -http -users moore -nowireframe
end script

Eu já reiniciei MYSERVER e estou tentando RDP para ele de outra máquina ubuntu usando Remmina:

Mas acabei de receber:

Eu também tentei seguir este guia:

link

mesmo resultado.

ATUALIZAÇÃO:

Como sugerido abaixo, tentei executar:

x11vnc -display :0 -auth /var/run/lightdm/root/:0 -loop -forever -safer -shared -ultrafilexfer -bg -o /var/log/x11vnc.log -rfbauth /home/moore/.vnc/passwd -rfbport 5903 -http -users moore -nowireframe

de um terminal onde eu primeiro SSH'ed para o servidor. Isso me deu esse erro:

...disabling -bg in -loop mode error opening logfile: /var/log/x11vnc.log open: Permission denied

Mas se eu fizer isso como root no mesmo terminal, agora funciona! Mas por que isso não acontece automaticamente quando a máquina é reinicializada?

Observe que quando eu fiz o pequeno teste manual acima como root, o arquivo /var/log/x11vnc.log foi criado, de modo que agora existe com as seguintes permissões:

-rw-r--r--  1 root              root     12640 Feb 19 00:26 x11vnc.log

Mas ainda não é iniciado automaticamente na inicialização. Parece que qualquer usuário que esteja executando o script na inicialização NÃO é root.

UPDATE2:

A resposta abaixo atualizada resolveu o problema - que resolve o problema no Ubuntu 15.10.

    
por u123 18.02.2016 / 22:47

1 resposta

3

Há apenas três coisas em que posso pensar que podem impedir você de se conectar:

  1. Você tem um firewall? Desbloquear o acesso à porta 5903? Você pode fazer isso usando o UFW, que é uma GUI para o seu firewall no Ubuntu.
  2. Você está tentando acessar o servidor de fora da sua rede? Nesse caso, você também deve encaminhar a porta 5903 em seu roteador para acessar o servidor VNC (além do ponto 1). Se você estiver recebendo esse erro ao se conectar da mesma rede, ignore essa opção, mas lembre-se dela ao se conectar de fora da rede.
  3. O último, que é bobo, mas eu queria cobrir minhas bases. Você está tentando se conectar do mesmo computador? Eu não acho que x11vnc permita conexões de loopback, então sempre tente usar um computador diferente ao testar (ou seu telefone).

Eu também uso o servidor x11vnc no meu computador, mas a diferença é que somente o localhost pode acessá-lo. Eu também executo um servidor SSH, dessa forma eu tenho uma conexão muito mais segura, e uma vez um usuário ssh para seu computador, eles podem se conectar ao servidor VNC como um host local.

Espero que isso ajude

EDITAR

Após o trableshooting, o problema é que o Ubuntu 15.10 não tem o upstart para que o x11vnc nunca seja executado na inicialização. Em vez disso, você precisa criar um serviço e disponibilizá-lo na inicialização. Veja o que fazer:

sudo nano /lib/systemd/system/x11vnc.service

Insira isso no arquivo:

[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -display :0 -auth guess -loop -forever -safer -shared -ultrafilexfer -bg -o /var/log/x11vnc.log -rfbauth /home/moore/.vnc/passwd -rfbport 5903 -http -users moore -nowireframe
ExecStop=/usr/bin/killall x11vnc

[Install]
WantedBy=multi-user.target

Então você pode iniciar o serviço com:

sudo systemctl daemon-reload
sudo systemctl start x11vnc

E para que o serviço comece na inicialização:

sudo systemctl enable x11vnc

Esta solução foi publicada anteriormente por babelmonk aqui

    
por Felipe 18.02.2016 / 23:11