Como impedir que o x11vnc desligue quando eu sair?

Como impedir que o x11vnc desligue quando eu sair?

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.servicearquivo:

[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 -loope -foreverno x11vnccomando, 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.

informação relacionada