x11vnc + xdmcp

Автор scofield, марта 31, 2014, 13:46:25

« предыдущая - следующая »

scofield

марта 31, 2014, 13:46:25 Последнее редактирование: марта 31, 2014, 14:23:38 от scofield
Добрый день.

Установил x11vnc . Хотелось бы настроить xdmcp, т.е.  перенастроить локальный XDMCP-сервер так, чтобы он помогал X-серверу, встроенному в VNC, обеспечить недостающую многопользовательскую аутентификацию.

И на выходе получить : пользователь подключается к серверу видит окно авторизации. так что с компьютером могут работать сколько угодно пользователей.

xubuntu 13.10

Cогласно данной статье
http://www.ibm.com/developerworks/ru/library/os-multiuserloginsvnc/

xinid.conf

Спойлер

service vnc
service vnc
{
   disable     = no
   socket_type = stream
   protocol    = tcp
   wait        = no
   user        = nobody
   server      = /usr/bin/x11vnc
   server_args = -safer -nopw  -once -viewonly -display :0
   type        = UNLISTED
   port        = 5900
}
[свернуть]


Cтартую сервис xinetd

Спойлер

root@scofield-HP:~# /etc/init.d/xinetd start
* Starting internet superserver xinetd                                  [ OK ]
root@scofield-HP:~#
[свернуть]


При этом на клиентской машине "Unsuppoted protocol"

scofield

марта 31, 2014, 14:49:59 #1 Последнее редактирование: марта 31, 2014, 14:56:56 от scofield
Сделал xinetd.conf таким
Спойлер

service x11vnc
{
   disable     = no
   socket_type = stream
   protocol    = tcp
   wait        = no
   user        = root
   server      = /usr/bin/x11vnc
   server_args = -inetd -o /var/log/x11vnc.log -display :0
   type        = UNLISTED
   port        = 5900
}
[свернуть]


Подключается , но на экране сессия текущего пользователя . а не окно авторизации.
И что  думаю , что дело в этой строчке :
-auth-display :0

destruct™

марта 31, 2014, 16:05:27 #2 Последнее редактирование: марта 31, 2014, 16:19:09 от destruct™
не берусь утверждать, но из конфига видно что указан конкретный юзер, вернее root. я бы создал группу пользователей remote, налепил бы пользователей, и для них разрешил бы в конфиге (вместо user = root вписал бы group = remote) думаю это было бы правильнее)


UPD. всё вышесказанное лирика) читаем Настройка XDMCP-сервера на этой страничке и думаю многое проясняется)

scofield

в настройки lightdm.conf добавленно только :


[Xdmcp]
enable=true


Клиентский ПК лучает рабочий стол текущего пользователя.
Необходимо получить форму авторизации.

Для  того чтоб это сделать нужно править конфиг lightdm или xinetd ?

destruct™

Внимательнее читаем)
Цитировать-query localhost. Этот параметр указывает, что сервер VNC X должен проверять систему localhost на аутентификацию XDMCP.

Конфиг выходит примерно такой:
Код (xinetd.conf) Выделить
service  x11vnc
{
   disable     = no
   socket_type = stream
   protocol    = tcp
   wait        = no
   user        = nobody
   server      =  /usr/bin/x11vnc
   server_args = -inetd -o /var/log/x11vnc.log -once -query localhost -securitytypes=none
   type        = UNLISTED
   port        = 5900
}

можно ещё ограничить кол-во сессий
Код (lightdm.conf) Выделить
[xdmcp]
Enable=true
MaxSessions=10

Выполняем /etc/init.d/lightdm restart И проверяем)

scofield

ПРи попытке подключения имеем :

Спойлер

>>> sending remote command: "qry=localhost" via X11VNC_REMOTE X property.
error: could not connect to an x11vnc server at :0.0  (rc=1)

[свернуть]

destruct™

марта 31, 2014, 19:42:13 #6 Последнее редактирование: марта 31, 2014, 19:50:09 от destruct™
а в логе /var/log/x11vnc.log что пишется?

а если добавить -display :0
server_args = -inetd -o /var/log/x11vnc.log -display :0 -once -query localhost -securitytypes=none

scofield

Вот это и пишется , в обоих случаях :

Спойлер

>>> sending remote command: "qry=localhost" via X11VNC_REMOTE X property.
error: could not connect to an x11vnc server at :0  (rc=1)
[свернуть]

destruct™

марта 31, 2014, 21:30:34 #8 Последнее редактирование: марта 31, 2014, 21:32:51 от destruct™
у меня железяка никак тесты на себе не выдержит, потому остаётся только ждать наших гуру, чтоб посоветили куда более наглядно, чем единственно верный вариант - курить мануал. смотрим lightdm и xinetd man. или гуглим чонить типа этого.

scofield

lightdm.conf
Спойлер

[SeatDefaults]
autologin-guest=false
autologin-user-timeout=0
autologin-session=lightdm-autologin
greeter-session=lightdm-gtk-greeter
user-session=xubuntu
xserver-allow-tcp=true

[XDMCPServer]
enabled=true
[свернуть]


gedit /etc/xinetd.d/vnc

Спойлер

service  x11vnc
{
   disable     = no
   socket_type = stream
   protocol    = tcp
   wait        = no
   user        = scofield
   server      =  /usr/bin/x11vnc
   server_args = -once             
   type        = UNLISTED
   port        = 5900
}

[свернуть]



и по данной статье http://white55.ru/xubuntu.html