Назад | Перейти на главную страницу

Xvnc4, запущенный из xinetd, отображает только пустой серый экран X

Я пытаюсь настроить Ubuntu 10.10, чтобы любой мог подключиться к порту 5900 и получить приветствие от менеджера входа в систему gdm. Для этого я добавил запись vnc в / etc / services и запускаю Xvnc4, используя этот файл конфигурации xinetd:

service vnc
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = nobody
  server = /usr/bin/Xvnc
  server_args = -geometry 1000x700 -depth 24 -broadcast -inetd -once -securitytypes None
}

Такого рода работы ... Я могу запустить несколько сеансов на порт 5900, и я получаю X-экран. Проблема в том, что у меня только пустой серый экран X без запущенных приложений.

Я знаю, что когда вы запускаете vncserver из командной строки, он будет искать в вашем каталоге ~ / .vnc / ваши файлы passwd и xstartup, и я думаю, что я хочу поместить "gnome-session" в файл xstart. Однако какой файл xstartup? Работающий пользователь - это «никто», у которого, очевидно, нет каталога ~ / .vnc /. Я попробовал файл /root/.vnc/xstartup и файл ~ scott / .vnc / xstartup, и не похоже, что их вообще читали.

Я изменил службу xinetd vnc так, чтобы она «стягивала» Xvnc4. Я просмотрел все «открытые» строки и не понял, какой файл он пытался прочитать для xstart.

Кто-нибудь может помочь? Мне просто нужен терминальный сервер, на котором пользователю предоставляется экран входа в систему gdm.

Вам необходимо запустить его от имени пользователя, сеанс VNC которого вы хотите запустить. Вам также, вероятно, потребуется установить $HOME так что он может найти .vnc каталог. Попробуйте что-нибудь вроде этого:

service vnc
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = someuser
  server = /usr/bin/env
  server_args = HOME=/home/someuser /usr/bin/Xvnc -geometry 1000x700 -depth 24 -broadcast -inetd -once -securitytypes None
}

Возможно, вам также понадобятся другие параметры среды; наверное source ~/.bash_profile в xstartup, и вам также может потребоваться установить $USER явно.