Насколько я могу судить, 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?
Оказывается, проблема заключалась в том, что я не установил среду рабочего стола и использовал vncserver - ???
в пользовательском режиме. Сервер VNC пытался войти в систему как пользователь, запустивший его, вместо того, чтобы перейти к экрану входа в систему, и, очевидно, терпел неудачу, поскольку не было среды рабочего стола!
Итак, вам нужно либо установить среду рабочего стола, либо запустить VNC-сервер в сервисном режиме, чтобы получить экран входа в систему.
По умолчанию диспетчеры рабочего стола настроены не принимать соединения в сети. gdm
, похоже, лишен возможности, поэтому я использовал xdm
для соединений VNC. Если LightDM все еще может принимать соединения, вам необходимо включить его.
Каталоги будут другими, но шаги, которые я использую для xdm
, следующие:
Эти шаги взяты из моего сообщения в блоге на Удаленные рабочие столы с VNC и RDP .