Primeiro, pode ser uma boa ideia copiar o arquivo de senha em /etc/
, algo como:
sudo cp ~/.vnc/passwd /etc/vnc.passwd
Isso também garante a propriedade de root
e seu rw
de acesso, conforme confirmado por:
$ ll /etc/vnc.passwd
-rw------- 1 root root 8 Nov 3 04:00 /etc/vnc.passwd
Em segundo lugar, temos que criar o arquivo de serviço:
sudo nano /lib/systemd/system/vnc.service
enquanto a solução mais simples que surgi é que ele contenha:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/vnc.passwd -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
Note que, embora seja de longe o arquivo de serviço mais simples, ele não pode ter suporte para parar ou reiniciar, eu mesmo preciso descobrir isso ainda.
Aviso: a página de manual é bastante demorada, e talvez eu tenha feito algo sério, por exemplo, erro de segurança aqui. Use por sua conta e risco.
sudo systemctl enable vnc.service
sudo systemctl daemon-reload
e você pode simplesmente reiniciar a máquina.
Como uma nota lateral, no lado do cliente, talvez você queira copiar o arquivo de senhas do servidor para não inserir uma senha toda vez, conectar-se e definir algum alias semelhante a:
alias vnc-server='(vncviewer 192.168.0.xxx:5900 -passwd /home/UserName/.vnc/server.passwd > /dev/null 2>&1 &)'
para não inundar seu terminal.