Como impedir que o x11vnc seja desligado quando eu fizer logout?

0

Na inicialização eu tenho

sudo x11vnc -xkb -noxrecord -forever -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw

executado via init.d

Ele funciona e me mostra o prompt de login quando eu uso um cliente VNC, no entanto, se o logout do servidor VNC é desligado e eu tenho que SSH para reiniciá-lo, eu 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 ele faz (é em / usr / local / bin / testvnc se eu o executar no meu trabalho cron:

* * * * * /usr/local/bin/testvnc

Ele diz que foi executado cat var / log / syslog | grep vnc no entanto, ele não inicia o vnc.

    
por Ben 08.05.2016 / 11:17

1 resposta

0

O mesmo problema para mim no Kubuntu 16.04.1, mas seu script me deu uma idéia para uma solução.

Crie um arquivo de serviço para o systemd:

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

este é o arquivo x11vnc.service :

[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

Definir permissões para executar:

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 comando x11vnc , caso contrário o x11vnc não conseguirá eliminar o processo após o logout e o systemd não será capaz de reiniciar o serviço.

    
por Clover 19.08.2016 / 13:56