Настройте сервер TigerVNC для запуска с системой в Ubuntu GNOME 16.04

Я пытаюсь настроить сервер TigerVNC для работы на Ubuntu GNOME 16.04.3 . Я установил последнюю версию ( 1.8 ) TigerVNC , используя этот пост . Если я запускаю сервер, используя:

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

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

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

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


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

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

1 ответ

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

[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]. [ 1125]

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

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

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

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

0
ответ дан 9 March 2018 в 20:44

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

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