VNC через xinetd не запускается vncserver

В Debian Lenny, используя TightVNC 1.3.9, я могу настроить сервер VNC вручную, используя

vncserver -query localhost -once -geometry 1024x768 -depth 16 :1

Но тогда, как я прочитал, это лучший вариант, я использую xinetd со следующей конфигурацией:

 service vnc-1024x768x16
  {
    protocol = tcp
    socket_type = stream
    wait = no
    user = nobody
    server = /usr/bin/vncserver
    server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16
  }

У меня есть открытый порт 5901 для подключения к серверу. С первым способом (только vncserver) мне удается успешно подключиться к моему серверу.

Но с xinetd я просто не могу подключиться.

Внешне я вижу, что порт 5901 открыт и даже эта служба VNC доступна. Глядя на журнал VNC, сгенерированный для:1 дисплея, я ничего не нашел.

На самом деле, я думал, что проблема была в xinetd, но у меня есть другие службы, настроенные с ним (например, telnet и ftp), и я могу использовать их правильно.

Так что теперь я заблудился с этим, что еще я не рассматриваю с сервисом VNC через xinetd? Где я могу найти журналы или полезную информацию, чтобы получить представление об этих проблемах?

Есть идеи?

Спасибо за прочтение...


ОБНОВЛЕНИЯ (ноябрь-29-10):

-Менедж, чтобы получить отображение X, но без экрана входа в систему или терминала для запуска каких-либо команд путем изменения

user = my_user_name
server = /usr/bin/Xvnc
server_args = -inetd -once -geometry 1024x768 -depth 16 -rfbauth=/home/my_user_name/.vnc/passwd

этот сервер Xvnc является другой программой VNC (не Xtightvnc, который я предпочитаю...). Имя пользователя изменилось, поэтому я могу использовать свой файл аутентификации, хранящийся в файле passwd

Если я запускаю Xvnc вручную с дополнительным параметром -query localhost (и без -inetd), я получаю экран входа! Но с Xvnc очень запаздывает... с Xtightvnc я получаю более быстрое соединение...

Как бы то ни было, установив параметр -query localhost в файле конфигурации xinted.d, я снова ничего не получаю, ни экран дисплея X, ни экран входа в систему, ни терминал...

Насколько я понимаю, -query localhost позволяет мне использовать XDCMP для экрана входа или терминала, но он не работает с xinetd.d

И побочная проблема: теперь я получаю сообщение

XDMCP fatal error: Session declined Maximum number of open sessions from your host reached

Так что я не могу сделать больше тестов прямо сейчас... Google немного узнал, что это о количестве максимально разрешенных сеансов XDMCP. Но я только нашел, как увеличить это число, и сейчас мне нужно просто знать, как убить текущие XDMCPsessions, какие-нибудь идеи?

Еще раз спасибо!

1 ответ

Решение

Ну, я думаю, мне удалось получить компромиссное решение для этого:

используя следующую конфигурацию, я могу получить экран входа в систему:

service vnc-1024x768x16
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = user_name
  server = /usr/bin/Xvnc
  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 -rfbport=5901 -rfbauth=/home/user_name/.vnc/passwd
  disable = no
}

Глядя на этот урок, я вижу, что решение похоже. Я даже заметил, что они не используют vncserver, как я искал (так как я использую vncserver для запуска VNC-сервера вручную, без xinetd).

Глядя на справочную страницу vncserver, они говорят, что на самом деле эта программа является оберткой для Xvnc. Однако, когда я запускаю только vncserver, он вызывает программу с именем Xtightvnc, а не Xvnc.

Изменение строки 'server' в приведенной выше конфигурации для вызова Xtightvnc вместо Xvnc не дает мне соединения, поэтому мне все равно придется продолжить работу с Xvnc.

Другая большая разница, которую я заметил между использованием Xtightvnc и Xvnc, заключается в том, что последний устанавливает довольно медленное соединение, поэтому я все же предпочитаю Xtightvnc...

К настоящему времени я могу справиться с этим немного лучше, но любые дальнейшие идеи тоже приветствуются...

Кстати, я обнаружил, что Xvnc на самом деле является RealVNC для моей машины, а не TightVNC, как мне хотелось бы, думаю, мне придется больше узнать о том, как правильно перенаправлять вещи, а также о том, как использовать Xtightvnc, как я желаю...

Спасибо за прочтение...

так же, как колофон... Наконец-то я заставил Xtightvnc работать. Эта проблема? В строке конфигурации xinetd server_args не принимает символ '=' для присвоения значения параметрам!:D итоговый результат таков:

service vnc-1024x768x16
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = user_name
  server = /usr/bin/Xvnc
  server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 -rfbport 5901 -rfbauth /home/user_name/.vnc/passwd
  disable = no
}

Мне также пришлось изменить программную ссылку Xvnc, которая указывала на Xvnc4 (realvnc), чтобы она наконец указала на Xtightvnc...

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