Всё оказалось довольно просто: дисплейный менеджер LightDM умеет работать совместно с VNC-сервером, позволяя авторизоваться в системе и начать новый X-сеанс.
Установка и настройка VNC-сервера
Для начала устанавливаем пакет с VNC-сервером TightVNCServer:
# apt-get install tightvncserverВ файле конфигурации /etc/lightdm/lightdm.conf находим секцию VNCServer и приводим её к следующему виду:
[VNCServer] enable=true port=5900 width=1024 height=768 depth=8Смысл всех настроек очевиден:
- enable включает возможность подключиться к LightDM по протоколу VNC,
- port задаёт номер TCP-порт, на котором VNC-сервер будет ожидать подключений,
- width задаёт ширину экрана для VNC-сервера,
- height задаёт высоту экрана для VNC-сервера,
- depth задаёт глубину цвета для точки - 8 бит, 16 бит, 24 бита,
# /etc/init.d/lightdm restartТеперь LightDM будет ожидать подключений на TCP-порту 5900 и при подключении клиента будет запускать VNC-сервер. Узнать, какой VNC-сервер будет запускаться, можно при помощи следующей команды:
# update-alternatives --list vncserverВыбрать используемый VNC-сервер можно при помощи следующей команды:
# update-alternatives --config vncserverЕсли в системе установлен только один VNC-сервер, будет использоваться он. При удалении используемого VNC-сервера система переключится на использование другого.
Лучше использовать клиент наиболее совместимый с сервером. В нашем случае - это TightVNCViewer из пакета xtightvncviewer. VNC-сервер одновременно будет выступать в роли X-сервера, который будет взаимодействовать с LightDM. При подключении мы увидим обычный экран LightDM с указанным разрешением и глубиной цвета, в котором можно ввести имя пользователя и пароль для создания нового X-сеанса.
Установка и настройка RDP-прокси
Для подключения к компьютеру с VNC-сервером по протоколу RDP можно установить и настроить специальный прокси-сервер XRDP, который принимает подключения по протоколу RDP, а сам устанавливает подключения по протоколу VNC к VNC-серверу (на самом деле в данном случае соединения будет принимать LightDM, запуская для их обслуживания VNC-сервер). Прокси будет одновременно выступать в роли RDP-сервера и VNC-клиента.
Установим пакет с прокси:
# apt-get install xrdpПриведём файл конфигурации /etc/xrdp/xrdp.ini к следующему виду:
[globals] bitmap_cache=yes bitmap_compression=yes port=3389 crypt_level=low channel_code=1 [xrdp1] name=default lib=libvnc.so username= password= ip=127.0.0.1 port=5900На самом деле этот RDP-прокси может выступать и в роли RDP-клиента, может устанавливать подключения к произвольным компьютерам в сети, самостоятельно запускать X-серверы и использовать различные схемы аутентификации. В данном случае из файла конфигурации удалены все остальные варианты подключения и добавлен только один вариант с названием default, который позволяет подключиться к VNC-серверу, запущенному на том же компьютере, что и сам RDP-прокси. Подключение будет устанавливаться на TCP-порт 5900, а RDP-прокси не будет спрашивать у пользователя имя и пароль.
Теперь перезапустим прокси, чтобы настройки вступили в силу:
# /etc/init.d/xrdp restartТеперь можно подключаться к VNC-серверу при помощи обычного RDP-клиента из Windows. При этом можно не думать об установке VNC-клиента, который не всегда может оказаться под рукой во "враждебной" среде Windows :)
Вот снимок экрана при подключении по VNC при помощи Remmina:
6 комментариев:
Хорошо, дак как к открытому сеансу подключиться??
xtightvncviewer a.b.c.d:0 - не предлагать))
Позвольте я процитирую первый абзац этой заметки: "VNC-сервер можно использовать одним из двух способов: подключаться к уже открытому X-сеансу или открывать новый сеанс для каждого подключившегося пользователя. В этой заметке будет рассмотрен второй вариант, напоминающий режим работы терминального сервера."
Ответ на ваш вопрос находится за рамками этой статьи. Я не задавался этим вопросом, поэтому ответить мне нечего :)
> Хорошо, дак как к открытому сеансу подключиться??
x11vnc
Мы юзеры ленивые, сам в курсе, нам всё в одном подавай на блюдечке с золотой каёмочкой.
Статья радует, наконец-то можно будет нормально сидеть с Windows по RDP, с другой стороны отсутствие части про клиентское подключение через VNC слегка огорчает. Она бы не испортила, а дополнила статью, касающийся этой темы и упоминавшию загадочный клиентский режимчик. Вы бы сообщили, что ль, если она появилась, либо возникло желание написать, это было бы кстати. А нет и к чёрту, молчание знак молчания, спасибо хоть прошли, благо наблогах часто премодерация поставлена от лиха лютого а ля я.
Поясняю: у меня есть старый нетбук на Windows XP, по начинке и заложенной идее "тонкий клиент", дохлый жуть, также есть мощный изначально игровой компьютер с 16 ГБ памяти, с программой VMware Workstation, средством для работы виртуальных машин, когда внутри одной системы можно запустить любую иную, ведь пара гигабайт не жалко, однако , если мой прошлый выбор, невезучий Oracle VirtualBox (не устроил преотвратно сырой реализацией виртуальной видеокарты) давал знакомый RDP, то новая программа, увы, только VNC, в котором ни бум-бум. Я понимаю, она стоит дорого и для корпоративного использования, отлажена, универсальна и крута, но всё же, немного дезориентирует это всё... Такие вот дела.
Заранее спасибо и удачи вашему блогу!
P. S. Извиняюсь если два раза написал, стжу через Onion, он глючный зараза.
>отсутствие части про клиентское подключение через VNC слегка огорчает. Она бы не испортила, а дополнила статью, касающийся этой темы и упоминавшию загадочный клиентский режимчик. Вы бы сообщили, что ль, если она появилась, либо возникло желание написать, это было бы кстати.
Насколько я понимаю, вас интересует клиент VNC для Windows. К сожалению, описание подобных тривиальных вещей не в формате этого блога. Да и мне лень тратить на это время. Достаточно поискать через поисковик "VNC-клиент для Windows" - найдутся и ссылки, где его можно скачать и статьи, в какое поле ввода что указывать.
>А нет и к чёрту, молчание знак молчания, спасибо хоть прошли, благо наблогах часто премодерация поставлена от лиха лютого а ля я.
Комментарии разные бывают. Кому-то не лень ввести капчу только для того, чтобы добавить комментарий со ссылочкой на какой-нибудь сомнительный сайт. Кто-то пишет несодержательные комментарии в стиле "КГ/АМ" - не думаю, что стоит самому тратить на них время и тратить время читателей. Кто-то просит помочь им с проблемой и пишет свои контакты - не думаю, что стоит оставлять личные данные человека на всеобщее обозрение. Остальные комментарии, как правило, публикую.
опции "enable" нет, есть "enabled"
Отправить комментарий