Na inicialização eu tenho
sudo x11vnc -xkb -noxrecord -forever -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw
execute via init.d
Ele funciona e me mostra o prompt de login quando eu uso um cliente VNC, no entanto, se eu fizer logout, o servidor VNC será desligado e eu tiver que fazer o SSH para reiniciá-lo, encontrei e modifiquei um script que acho que deveria funcionar:
#!/bin/bash
if pgrep "x11vnc"
then
echo "Running"
else
echo "Stopped"
sudo x11vnc -xkb -noxrecord -forever -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw
fi
e funciona (está em /usr/local/bin/testvnc se eu executá-lo, no entanto, meu cron job:
* * * * * /usr/local/bin/testvnc
Diz que foi executado cat var/log/syslog | grep vnc, no entanto, NÃO inicia o vnc.
Responder1
O mesmo problema para mim no Kubuntu 16.04.1, mas seu script me deu uma ideia de solução.
Crie um arquivo de serviço para systemd:
sudo nano /etc/systemd/system/x11vnc.service
este é o meu x11vnc.service
arquivo:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target display-manager.service
[Service]
Type=simple
ExecStart=/bin/bash -c '/usr/bin/x11vnc -auth /var/run/sddm/* -noxdamage -norepeat -rfbauth /home/x11vnc/passwd -display :0 -rfbport 5900 -shared -o /var/log/x11vnc.log'
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
Defina permissões para execução:
sudo chmod u+x /etc/systemd/system/x11vnc.service
Recarregue e ative o script no systemd:
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
Importante:Certifique-se de não usar as opções -loop
e -forever
no x11vnc
comando, caso contrário o x11vnc não será capaz de encerrar o processo após um logout e o systemd não será capaz de reiniciar o serviço.