в bash, scripts, ubuntu

Запуск x11vnc в Kubuntu 16.04

ubuntu
Появилась необходимость запуска x11vnc в ОС Kubuntu 16.04 еще до момента логина пользователя. Давайте разберемся!

Запускать x11vnc будем с помощью systemd. Для этого создаем файл /etc/systemd/system/x11vnc.service следующего содержания:

[Unit]
Description=Start x11vnc server at startup
After=graphical.target

[Service]
Type=simple
ExecStart=-/bin/bash -c "/usr/local/sbin/x11vnc_start_script"

[Install]
WantedBy=graphical.target

Дополнительно создаем скрипт (и делаем его исполняемым) /usr/local/sbin/x11vnc_start_script с таким содержимым:

#!/bin/bash

while true
do
    sleep 2
    /usr/bin/x11vnc -display :0 -auth $(ls /var/run/sddm/{*}) -noxdamage -shared -rfbauth ~/.vnc/passwd -o /var/log/x11vnc.log -notruecolor -rfbport 5900
done

Не забываем включить и запустить сервис x11vnc:

systemctl enable x11vnc.service
systemctl start x11vnc.service

Итак, x11vnc будет запускаться с параметром -auth, который принимает в качестве аргумента имя файла xauthority (это имя меняется каждую сессию). Также любопытным параметром является -rfbauth, который в качестве аргумента принимает файл с паролем, использующимся для подключения к x11vnc-серверу.

Добавить комментарий