Запустити додаток GUI з системою перед входом (після запуску X)?


0

Я намагаюся запустити сервер TightVNC на машині Ubuntu за допомогою systemd. Файл одиниці (/etc/systemd/system/tiger.service) виглядає так:

[Unit]
Description=Tiger VNC server
After=display-manager.service

[Service]
Type=simple
Environment=XAUTHORITY=/home/myusername/.Xauthority
ExecStart=/usr/bin/sudo -H -u myusername bash -c '/usr/bin/x0vncserver -rfbport 5901 -PasswordFile path-to-passwd-file -PollingCycle 30 -AlwaysShared -display :0'

Не можу підключитися до сервера VNC і systemctl status tiger.serviceповертає:

Jun 01 03:12:49 ubuntu systemd[1]: Started Tiger VNC server.
Jun 01 03:12:49 ubuntu sudo[958]:     root : TTY=unknown ; PWD=/ ; USER=myusername ; COMMAND=/bin/bash -c /opt/rmm-agent/x0vncserver -rfbport 5901 -PasswordFile /opt/rmm-agent
Jun 01 03:12:49 ubuntu sudo[958]: pam_unix(sudo:session): session opened for user myusername by (uid=0)
Jun 01 03:12:49 ubuntu sudo[958]: /usr/bin/x0vncserver: unable to open display ":0"
Jun 01 03:12:49 ubuntu systemd[1]: tiger.service: Main process exited, code=exited, status=1/FAILURE
Jun 01 03:12:49 ubuntu systemd[1]: tiger.service: Unit entered failed state.
Jun 01 03:12:49 ubuntu systemd[1]: tiger.service: Failed with result 'exit-code'.

Якщо я запускаю його з systemctl start tiger.serviceконсолі, все працює нормально, я можу підключитися до сервера VNC.

Я спробував Requires=замість After=і graphical.targetзамість display-manager.service. Я отримую те саме unable to open display ":0"у всіх випадках.


1
ExecStart=sudo? Ви знаєте, що є User=налаштування, правда?
grawity

Також, який диспетчер дисплеїв ви використовуєте? (Я здогадуюсь LightDM від Ubuntu)
grawity

Я використовую LightDM, так, але це повинно працювати і на інших дистрибутивах. Наразі використовую Ubuntu для тестування, оскільки мені це найбільше комфортно.
user3671607

Що ви насправді намагаєтесь досягти? Створення термінального сервера? Або дозволяти доступ до сеансу консолі?
Даніель Б

Відповіді:


0

Можливо, у вашому користувальницькому каталозі користувачів немає XAuthority, поки ви не увійдете в систему. Є деяка інформація про те, куди слід подивитися на сайті документації x11vnc. XAuthority існує лише для root, у каталозі, який залежить від диспетчера дисплеїв та з версією Ubuntu, але там є кілька хороших підказок.

На даний момент я намагаюся запустити цей сервер vnc для автоматичного запуску в Kubuntu 16.04, і мій файл авторитету знаходиться за адресою:

/var/run/lightdm/root/:0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.