Добрый день.
Установил x11vnc . Хотелось бы настроить xdmcp, т.е. перенастроить локальный XDMCP-сервер так, чтобы он помогал X-серверу, встроенному в VNC, обеспечить недостающую многопользовательскую аутентификацию.
И на выходе получить : пользователь подключается к серверу видит окно авторизации. так что с компьютером могут работать сколько угодно пользователей.
xubuntu 13.10
Cогласно данной статье
http://www.ibm.com/developerworks/ru/library/os-multiuserloginsvnc/ (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"
Сделал
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
не берусь утверждать, но из конфига видно что указан конкретный юзер, вернее root. я бы создал группу пользователей remote, налепил бы пользователей, и для них разрешил бы в конфиге (вместо user = root вписал бы group = remote) думаю это было бы правильнее)
UPD. всё вышесказанное лирика) читаем Настройка XDMCP-сервера на этой (http://www.ibm.com/developerworks/ru/library/os-multiuserloginsvnc/) страничке и думаю многое проясняется)
в настройки lightdm.conf добавленно только :
[Xdmcp]
enable=true
Клиентский ПК лучает рабочий стол текущего пользователя.
Необходимо получить форму авторизации.
Для того чтоб это сделать нужно править конфиг lightdm или xinetd ?
Внимательнее читаем)
Цитировать-query localhost. Этот параметр указывает, что сервер VNC X должен проверять систему localhost на аутентификацию XDMCP.
Конфиг выходит примерно такой:
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
}
можно ещё ограничить кол-во сессий
[xdmcp]
Enable=true
MaxSessions=10
Выполняем
/etc/init.d/lightdm restart
И проверяем)
ПРи попытке подключения имеем :
Спойлер
>>> sending remote command: "qry=localhost" via X11VNC_REMOTE X property.
error: could not connect to an x11vnc server at :0.0 (rc=1)
а в логе /var/log/x11vnc.log что пишется?
а если добавить -display :0
server_args = -inetd -o /var/log/x11vnc.log -display :0 -once -query localhost -securitytypes=none
Вот это и пишется , в обоих случаях :
Спойлер
>>> sending remote command: "qry=localhost" via X11VNC_REMOTE X property.
error: could not connect to an x11vnc server at :0 (rc=1)
у меня железяка никак тесты на себе не выдержит, потому остаётся только ждать наших гуру, чтоб посоветили куда более наглядно, чем единственно верный вариант - курить мануал. смотрим lightdm и xinetd man. или гуглим чонить типа этого (http://www.asozykin.ru/administration/vnc-xdmcp).
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 (http://white55.ru/xubuntu.html)