Ubuntu 18.04 подключиться к экрану входа через VNC

Я провел пару вечеров на этом, и это немного расстраивает, так как мне удалось заставить его работать на моем предыдущем Ubuntu (МНОГИЕ годы назад).

Я хотел бы, чтобы на моем сервере в любое время работал сервер vnc (включая экран входа в систему) для удаленного подключения и входа в систему. Не другой сеанс: разделите тот же сеанс, который я видел бы на физическом дисплее моего сервера, и подключитесь к нему удаленно через VNC в частной сети (так же как дома).

Я понимаю, что это комбинация конфигураций XDMCP, GDM3, initd и VNC, но у меня нет достаточного опыта, чтобы настроить различные инструкции, которые я нашел в Интернете, для работы с Ubuntu 18.04.

Эти многообещающие ссылки: https://lists.debian.org/debian-user/2017/04/msg00529.html https://codeghar.wordpress.com/2009/ 06/11 / remote-login-with-gdm-and-vnc-on-fedora-11 / https://wiki.openindiana.org/oi/4.7+Remote+Graphical+Login:+Using + Xvnc + и + gdm + для + One-Shot + сеансов

Прямо сейчас (на случай, если кто-то еще сходит с ума, как я), я установил nomachine, и в общей сложности понадобилось 2 минуты, чтобы Настройка и она работает, как я хотел (включая iOS-клиенты!): https://www.nomachine.com/ --- bittersweet ¯_ (ツ) _ / ¯

7
задан 7 May 2018 в 21:20

6 ответов

Ubuntu 18.04, переключенная от LightDM до GDM3. Соединение с экраном входа в систему с VNC при использовании GDM3 в настоящее время не возможно. Самый легкий способ вернуть эту функциональность VNC состоит в том, чтобы просто переключиться назад от GDM3 до LightDM.

LightDM все еще активно разрабатывается и используется многими дистрибутивами Linux включая некоторые другие разновидности Ubuntu. Так никакие заботы там.

Установка LightDM

apt install lightdm

Если Вы по некоторым причинам приезжаете, чтобы сожалеть, что переключились на LightDM:

dpkg-reconfigure gdm3

После того как Вам установили LightDM и настроенный как Ваша зазывала по умолчанию..

Установите x11vnc от пакетов

apt install x11vnc

Создайте файл/lib/systemd/system/x11vnc.service

# Description: Custom Service Unit file
# File: /lib/systemd/system/x11vnc.service
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -loop -nopw -xkb -repeat -noxrecord -noxfixes -noxdamage -forever -rfbport 5900 -display :0 -auth guess
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2

[Install]
WantedBy=multi-user.target

Включите x11vnc сервис

 systemctl enable x11vnc.service

Это предполагает, что экран:0 представляет Ваш монитор и связывает x11vnc с тем монитором вместо сессии. Если у Вас нет монитора (бездисплейным), я полагаю, что возможно установить поддельный драйвер монитора и связать x11vnc с этим.

Сторона отмечает

  1. Упакуйте Вас, используют virt-менеджера (который также включает VNC на 127.0.0.1:5900), можно хотеть связать x11vnc с IP LAN (-слушают 10.0.0.1),
  2. Параметры, используемые для запуска x11vnc, говорят этому не просить дополнительный пароль (-nopw)
10
ответ дан 23 November 2019 в 06:25

Другим способом сделать эту работу над 100%-й бездисплейной установкой (система, работающая в контейнере и, не имеет никакого GPU вообще) является "По требованию многопользовательский режим" часть статьи TigerVNC в ArchWiki.

0
ответ дан 23 November 2019 в 06:25

Я еще не нашел более удобного способа, но если вы действительно хотите войти в систему, похоже, что это возможно.

GDM запускает один сеанс Xsession для экрана входа в систему, принадлежащего пользователю root. Насколько я могу судить, он будет выполнять вход в систему примерно следующим образом:

Войдите в систему, найдите существующий сеанс и переключите на него vt или найдите новый vt и запустите для него сеанс Xorg / gnome.

Первый имеет отображение : 0 и его авторитетный файл (идентификатор пользователя gdm 121) / run / user / 121 / gdm / Xauthority . Таким образом, вы можете сначала запустить x11vnc (права root), если вы не вошли в систему для самого DM и не вошли в систему (ваш x11vnc станет черным из-за переключателя vt). Вы можете либо запустить новый x11vnc вручную для вашего нового дисплея : 1 (без прав root), либо запустить его автоматически вместе с сеансом, как любой другой сценарий входа в систему.

~$ ps -a | grep Xorg
1471 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/121/gdm/Xauthority -background none -noreset -keeptty -verbose 3
5337 /usr/lib/xorg/Xorg vt3 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 

Это было решено в какой-то момент (другие DM могут сделать то же самое в будущем)

1
ответ дан 4 March 2020 в 10:10

После тестирования многих решений/скриптов для vnc, этот файл xtartup хорошо работает для меня на Ubuntu 18.04 Lts с тигром vnc:

#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

И эта команда запуска:

vncserver -localhost no -geometry 1024x768 -depth 24

Взято из этого руководства:

0
ответ дан 2 June 2020 в 21:15

У меня Ubuntu Server 18.04.4 с ubuntu-desktop, установленным из tasksel, поэтому я действительно не знаю, будет ли это работать с обычным -box Ubuntu Desktop или если эта опция скоро станет устаревшей.

Попробовав некоторые сторонние серверы VNC, я остановился на встроенном вино-сервере (совместное использование экрана). Чтобы запустить его, вам нужно выполнить ~$ /usr/lib/vino/vino-server, который затем будет прослушивать порт 5900, и поскольку это не включено по умолчанию для системной службы, вы можете захотеть чтобы создать свою собственную запись systemd для включения ее при каждом запуске

Некоторые параметры можно настроить через Настройки >> Общий доступ >> Screen Sharing остальное через ~$ gsettings set org.gnome.Vino ANY_EXISTING_KEY NEW_VALUE

0
ответ дан 17 July 2020 в 21:55

Ritualmaster прав в своем ответе: возможен удаленный вход через GDM3 с помощью x11vnc.

  1. Вы должны установить x11vnc.

     sudo apt установить x11vnc
     
  2. Вы должны создать пароль

     x11vnc -storepasswd /path/to/passfile
     
  3. Если не указано, расположение по умолчанию — ~/.vnc/passwd

     x11vnc -storepasswd
     
  4. Вам нужно будет перечислить Xsessions

     ps aux | grep авторизация
     

Первая строка — это экран входа в Gnome Desktop Manager.

root  /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/124/gdm/Xauthority -background none -noreset -keeptty -verbose 3
fho   grep Xorg
  1. Предоставьте надлежащие права доступа и установите отображение на: 0

      sudo x11vnc -display :0 -auth /run/user/124/gdm/Xauthority -rfbauth ~/.vnc/passwd
     

Если вы подключитесь к нему, вы увидите экран входа в систему. Как только вы войдете в систему, экран станет черным. Сервер должен отключиться автоматически.

  1. Найдите экран сеанса пользователя

      ps aux | grep Xorg
     
root  /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/124/gdm/Xauthority -background none -noreset -keeptty -verbose 3
root  /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
fho   grep Xorg

Вторая строка — та, которую вы ищете. Теперь вы можете снова запустить сервер x11vnc, заменив номер дисплея и сеанс пользователя Xauthority

   x11vnc -display :1 -auth /run/user/1000/gdm/Xauthority  -rfbauth ~/.vnc/passwd
1
ответ дан 1 February 2021 в 21:58

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

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