x11vnc в Ubuntu 16.04 Gnome с помощью systemd

У меня проблемы с запуском службы x11vnc на сервере Ubuntu 16.04 Gnome. Раньше работал просто отлично под 14.04. Не уверен, связан ли он с самим x11vnc или с systemd.

Вот файл службы systemd:

[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/x11vnc.pass -rfbport 5900 -shared -o /var/log/x11vnc.log

[Install]
WantedBy=multi-user.target

/Etc/x11vnc.pass присутствует и был сгенерирован с использованием x11vnc -storepasswd /etc/x11vnc.passwd

После перезагрузки запускается x11vnc, но безуспешно подключиться к нему с помощью vnc, а файлы x11vnc.log говорят:

03/05/2017 16:12:19 passing arg to libvncserver: -rfbauth
03/05/2017 16:12:19 passing arg to libvncserver: /etc/x11vnc.pass
03/05/2017 16:12:19 passing arg to libvncserver: -rfbport
03/05/2017 16:12:19 passing arg to libvncserver: 5900
03/05/2017 16:12:19 x11vnc version: 0.9.13 lastmod: 2011-08-10  pid: 30259
xauth:  unable to generate an authority file name
03/05/2017 16:12:19 -auth guess: failed for display='unset'
03/05/2017 16:12:19 -auth guess: since we are root, retrying with FD_XDM=1
03/05/2017 16:12:19 -auth guess: failed for display='unset'

Чтобы проверить, что x11vnc работает нормально, я просто вручную запускаю на сервере:

x11vnc -rfbauth /etc/x11vnc.passwd

и с этим я могу успешно соединиться с VNC. Но как я могу запустить его автоматически?

1 ответ

Похоже, ваш скрипт Upstart выполнялся, когда пользователь вошел в систему. Затем он будет иметь переменные среды доступа, связанные с именем входа, и будет работать как пользователь.

Перевод systemd, который у вас есть, запускается как root в фоновом режиме, а не в контексте сеанса входа в систему.

Если вы хотите, чтобы это началось при входе определенного пользователя, рассмотрите возможность использования функции автозапуска Ubuntu Unity.

По моему опыту, systemd не подходит для запуска пользовательских приложений во время графического процесса входа в систему.

Другие вопросы по тегам