Не удается заставить RealVNC работать с LightDM

Насколько я могу судить, GDM3 несовместим с RealVNC, поэтому я удалил его и установил LightDM. Однако теперь я никуда не могу попасть, когда пытаюсь подключиться к RealVNC.

То, что я сделал раньше, было запущено:

sudo -u localuser vncserver-virtual

... и он открыл сервер VNC на порту 5901, к которому я мог подключиться. Я все еще могу, но теперь отображается сообщение:

Xsession: unable to start X session --- no .xsession file, no .Xsession file, no session managers, no window managers, and no terminal emulators found; aborting.

Полагаю, мне нужно внести изменения в мой файл /etc/vnc/xstartup.custom , чтобы каким-то образом заставить X обнаруживать LightDM? Его текущее содержимое, похоже, сосредоточено вокруг GDM:

#!/bin/sh

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey

if [ -f /usr/bin/gnome-session ]; then
  # Some gnome session types won't work with Xvnc, try to pick a sensible
  # default.
  for SESSION in "ubuntu-2d" "2d-gnome" "gnome-classic" "gnome-fallback"; do
    if [ -f /usr/share/gnome-session/sessions/$SESSION.session ]; then
      DESKTOP_SESSION=$SESSION; export DESKTOP_SESSION
      GDMSESSION=$SESSION; export GDMSESSION
      STARTUP="/usr/bin/gnome-session --session=$SESSION"; export STARTUP
    fi
  done
fi

unset SESSIONBIN
XTERM_COMMAND="xterm -geometry 80x24+10+10 -ls"

if   [ -x /etc/X11/Xsession ]; then SESSIONBIN="/etc/X11/Xsession"
elif [ -x /etc/X11/xdm/Xsession ]; then SESSIONBIN="/etc/X11/xdm/Xsession"
elif [ -x /etc/X11/xinit/Xsession ]; then SESSIONBIN="/etc/X11/xinit/Xsession"
elif [ -x /etc/X11/gdm/Xsession ]; then SESSIONBIN="/etc/X11/gdm/Xsession gnome-session"
elif [ -x /etc/gdm/Xsession ]; then SESSIONBIN="/etc/gdm/Xsession gnome-session"
elif [ -x /etc/kde/kdm/Xsession ]; then SESSIONBIN="/etc/kde/kdm/Xsession"
elif [ -x /usr/dt/bin/Xsession ]; then
  XSTATION=1
  DTXSERVERLOCATION=local
  export XSTATION DTXSERVERLOCATION
  SESSIONBIN="/usr/dt/bin/Xsession"
elif [ -x /usr/dt/bin/dtsession ]; then SESSIONBIN="/usr/dt/bin/dtsession"
elif which twm > /dev/null 2>&1; then
  $XTERM_COMMAND &
  SESSIONBIN="twm"
fi

if [ "x${SESSIONBIN}" = "x" ]; then
  echo "No session located; just starting a terminal"
  $XTERM_COMMAND
  echo "Terminal closed with return code $?"
else
  echo "Starting session: $SESSIONBIN"
  $SESSIONBIN
  echo "Session terminated with return code $?"
fi

vncserver-virtual -kill $DISPLAY

Есть идеи, что мне нужно изменить, чтобы мой сеанс RealVNC подключился к LightDM?

0
27.02.2017, 14:02
2 ответа

Оказывается, проблема заключалась в том, что я не установил среду рабочего стола и использовал vncserver - ??? в пользовательском режиме. Сервер VNC пытался войти в систему как пользователь, запустивший его, вместо того, чтобы перейти к экрану входа в систему, и, очевидно, терпел неудачу, поскольку не было среды рабочего стола!

Итак, вам нужно либо установить среду рабочего стола, либо запустить VNC-сервер в сервисном режиме, чтобы получить экран входа в систему.

0
28.01.2020, 05:06

По умолчанию диспетчеры рабочего стола настроены не принимать соединения в сети. gdm , похоже, лишен возможности, поэтому я использовал xdm для соединений VNC. Если LightDM все еще может принимать соединения, вам необходимо включить его.

Каталоги будут другими, но шаги, которые я использую для xdm , следующие:

  • Отредактируйте / etc / X11 / xdm / xdm-config, чтобы закомментировать строку DisplayManager.requestPort. По умолчанию xdm настроен не прослушивать IP-соединения.
  • Отредактируйте / etc / X11 / xdm / Xaccess, чтобы раскомментировать строку, позволяющую любому хосту получить окно входа в систему. В качестве альтернативы вы можете просто добавить строку для чтения localhost.
  • Вы можете отредактировать / etc / X11 / xdm / Xsetup, чтобы раскомментировать строку xsetroot. xsetroot также можно использовать для создания фонового изображения или других эффектов.

Эти шаги взяты из моего сообщения в блоге на Удаленные рабочие столы с VNC и RDP .

-1
28.01.2020, 05:06

Теги

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