Настройка сервера TigerVNC для работы с системой в Ubuntu GNOME 16.04

Я пытаюсь настроить TigerVNC Server на Ubuntu GNOME 16.04.3. Я установил последнюю версию (1.8) TigerVNC, используя эту запись. Если я запускаю сервер, используя: vncserver :4 -geometry 1920x1080 -depth 24 -nolisten tcp -localhost

, он работает отлично. Я могу подключиться к дисплею 4 через SSH и иметь полный доступ к моему компьютеру, не открывая реальные (физические) дисплеи в моей лаборатории.

Затем я попытался запустить сервер при запуске, используя systemd, и я нашел Ubuntu GNOME 16.04.3 , чтобы помочь мне. Тем не менее, я запускаю рабочий стол GNOME, а настройки из блога для Unity. У меня нет Unity, установленного на моей машине, и я бы предпочел избежать этого.

Как мне изменить шаги 7 и 8 в этой статье, чтобы использовать рабочий стол GNOME вместо Unity? Я знаю, что это не работает, если они пропускаются, поскольку я просто получаю черный экран, когда я подключаюсь удаленно.

На самом деле, если есть еще один способ обеспечить vncserver запускается при запуске, что также будет принято как ответ. TigerVNC устанавливает скрипт под названием vncserver в /etc/init.d/, но я не могу запустить его с помощью update-rc.d

1
задан 9 March 2018 в 21:44

3 ответа

Этот файл systemd Unit работал для меня:

[Unit]
Description=Start TigerVNC Server at startup
After=syslog.target network.target

[Service]
Type=forking
User=user
PAMName=login
PIDFile=/home/user/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Обязательно замените user своим фактическим именем пользователя в строках, соответствующих User и PIDFile в разделе [Service].

Я сохранил этот файл как vncserver@.service в /etc/systemd/system/. Включил его с помощью systemctl enable vncserver@4.service, который создает файл symlink vncserver@4.service в /etc/systemd/system/multi-user.target.wants/, указывающий на vncserver@.service в /etc/systemd/system/. Начнул сервис с systemctl start vncserver@4

Чтобы приспособить его к вашим потребностям, пожалуйста, используйте предпочитаемый номер дисплея вместо 4 (как и я) при включении. Кроме того, перед запуском службы убедитесь, что вы инициализировали vncserver вне этого файла Unit. Это обеспечит пароль, и создадут необходимые файлы (xstartup и т. Д.). Самый простой способ сделать это - запустить команду против ExecStart в [Service] в файле Unit. Для моего случая это означает:

vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost

Источник: я адаптировал файл Unit из этого руководства.

1
ответ дан 22 May 2018 в 19:11
  • 1
    См. этот вопрос, комментарии и ответ для поддержки нескольких пользователей. – Kartik 9 March 2018 в 12:27

Этот файл systemd Unit работал для меня:

[Unit] Description=Start TigerVNC Server at startup After=syslog.target network.target [Service] Type=forking User=user PAMName=login PIDFile=/home/user/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target

Обязательно замените user своим фактическим именем пользователя в строках, соответствующих User и PIDFile в разделе [Service].

Я сохранил этот файл как vncserver@.service в /etc/systemd/system/. Включил его с помощью systemctl enable vncserver@4.service, который создает файл symlink vncserver@4.service в /etc/systemd/system/multi-user.target.wants/, указывающий на vncserver@.service в /etc/systemd/system/. Начнул сервис с systemctl start vncserver@4

Чтобы приспособить его к вашим потребностям, пожалуйста, используйте предпочитаемый номер дисплея вместо 4 (как и я) при включении. Кроме того, перед запуском службы убедитесь, что вы инициализировали vncserver вне этого файла Unit. Это обеспечит пароль, и создадут необходимые файлы (xstartup и т. Д.). Самый простой способ сделать это - запустить команду против ExecStart в [Service] в файле Unit. Для моего случая это означает:

vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost

Источник: я адаптировал файл Unit из этого руководства.

1
ответ дан 18 July 2018 в 08:05

Этот файл systemd Unit работал для меня:

[Unit] Description=Start TigerVNC Server at startup After=syslog.target network.target [Service] Type=forking User=user PAMName=login PIDFile=/home/user/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target

Обязательно замените user своим фактическим именем пользователя в строках, соответствующих User и PIDFile в разделе [Service].

Я сохранил этот файл как vncserver@.service в /etc/systemd/system/. Включил его с помощью systemctl enable vncserver@4.service, который создает файл symlink vncserver@4.service в /etc/systemd/system/multi-user.target.wants/, указывающий на vncserver@.service в /etc/systemd/system/. Начнул сервис с systemctl start vncserver@4

Чтобы приспособить его к вашим потребностям, пожалуйста, используйте предпочитаемый номер дисплея вместо 4 (как и я) при включении. Кроме того, перед запуском службы убедитесь, что вы инициализировали vncserver вне этого файла Unit. Это обеспечит пароль, и создадут необходимые файлы (xstartup и т. Д.). Самый простой способ сделать это - запустить команду против ExecStart в [Service] в файле Unit. Для моего случая это означает:

vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost

Источник: я адаптировал файл Unit из этого руководства.

1
ответ дан 24 July 2018 в 18:59

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

Похожие вопросы: