На днях подвернулась шабашка, нужно было срочно настроить терминальный сервер на linux, причем выбор протокола был сильно ограничен, т.к. использовать его предполагалось через тонкие клиенты, который поддерживают только RDP и XDMCP.
Сперва была неудачная попытка настроить все это дело через x11rdp, но не получилось (уже нашел причину), т.к. время поджимало, пришлось обратиться к старому, но не всеми забытому XDMCP. Как оказалось, даже в Ubuntu, которая активно выпиливает пережитки прошлого из своих дистрибутивов, удалось без танцев с бубном запустить терминальный клиент через XDMСP.
Настраивалось все на десктопе 14.04, с последними обновлениями.
Сперва нужно скопировать и распаковать файл lightdm.conf из /usr/share/doc/lightdm/lightgm.gz в /etc/lightdm, затем раскомментировать в нем строки:
[SeatDefaults]
user-session=ubuntu
xserver-allow-tcp=true
greeter-show-remote-login=true[XDMCPServer]
enabled=true
port=177
К сожалению Unity не работает через XDMCP, поэтому нужно установить другое DE, например gnome-flashback и затем прописать его как дефолтное значение, для этого замени строку user-session=ubuntu на user-session=gnome-flashback, вместо gnome-flashback можно вписать любое другое название из директории /usr/share/xsessions
без суффикса .desktop.
Ну и все, останется только перезагрузить дисплей менеджер:
service lightdm restart
И можно подключаться, сразу предупреждаю, если перезагружать DM из графической оболочки, то он остановиться, но не запуститься. Поэтому операцию нужно выполнять из нативной консоли (через Ctrl+Alt+F1)
Проверить слушается ли порт XDMCP можно с помощтю netstat:
netstat -tnlp