Xdmcp клиент для windows

Xming и удаленная работа с графическим терминалом Linux.

Подключение из Windows к графической подсистеме Linux Mandriva.

При обычном входе в систему Linux через графический терминал вы видите на своем экране приглашение, формируемое менеджером дисплея — Display Manager (далее DM ). Кроме обеспечения авторизации, DM также позволяет выбрать графическую оболочку, в которой вы будете работать (KDE, Gnome, Window Maker и т.п.) и, при определенных настройках, обеспечивает возможность удаленного подключения пользователей.

&nbsp &nbsp В настоящий момент в графической подсистеме ( X Window System или X11 ) используются три наиболее распространенных разновидности менеджеров дисплея. Это X Display Manager (xdm), Gnome Display Manager (gdm) и KDE Display Manager (kdm) . Самый простой — это xdm, более красивые и функциональные — это gdm и kdm. В последних версиях Linux Ubuntu используется lightdm — лёгкий дисплейный менеджер, основанный на HTML-подобном интерфейсе. Кроме этих, существуют и другие относительно редко используемые, дисплейные менеджеры, расширяющие возможности базового DM. В большинстве операционных систем семейства Linux, менеджер дисплея, используемый по умолчанию указывается в файле /etc/X11/default-display-manager .

В данной статье рассматриваются варианты настроек для менеджеров xdm , gdm и kdm . Настройки для LightDM рассматриваются в статье Удаленное подключение по локальной сети к графической подсистеме Linux Ubuntu

Какой именно менеджер дисплея используется в системе на данный момент, можно проверить с помощью команды ps при запущенной графической оболочке (уровень запуска 5):

В результате выполнения команды отобразится список процессов, одним из которых будет мененджер дисплея.

Для подключения из ОС Windows к графической подсистеме Linux через локальную сеть, Используется специальное программное обеспечение — X-сервер .
Один из наиболее популярных и бесплатных представителей — Xming X Server for Windows .

Для операционных систем семейства Windows XP/VISTA/7 можно воспользоваться самой распространенной стабильной версией 6.9.0.31 Скачать, (около 2 Мб). Более поздние версии Xming и дополнительные пакеты с поддержкой различных шрифтов, а также локализованную версию мастера Xlaunch найдете здесь:

sourceforge.net — раздел проекта Xming на sourceforge.net

Xming устанавливается на компьютере с операционной системой Windows, и позволяет с помощью специального мастера подключаться к рабочему столу Linux с использованием протокола XDMCP , или напрямую работать с отдельными графическими приложениями, запускаемыми на удаленной подсистеме, с использованием технологии перенаправления графического вывода X11 Forwarding . Использование XDMCP позволяет получить доступ к рабочему столу Linux и работать так же, как будто вы находитесь в среде графической подсистемы Linux, а X11 Forwarding позволяет работать с отдельными графическими приложениями, не используя рабочий стол, что дает заметный выигрыш в быстродействии.

Кроме установки пакета Xming на компьютере с Windows, как правило, потребуется выполнение некоторых несложных настроек демона SSH и менеджера дисплея на компьютере с Linux. В качестве Linux будет рассматриваться Mandriva . Для выполнения настроек потребуются права пользователя root

Подключение к рабочему столу Linux с использованием XDMCP.

Менеджеры дисплея (DM) могут настраиваться на поддержку X Display Manager Control Protocol (XDMCP) — протокола, обеспечивающего удаленное подключение графических терминалов (X-терминалов) к графическому серверу (X-серверу). Настроенный на удаленную работу менеджер дисплея, принимает входящие подключения на UDP порт 177 (по умолчанию) сетевого интерфейса локальной сети. Проверить, готов ли менеджер к удаленным подключениям, можно командой:

# netstat -na или netstat -na | grep 177

Если UDP порт 177 не слушается системой, значит удаленное подключение с использованием протокола XDMCP невозможно и необходимо выполнить настройки используемого менеджера дисплея (Display Manager). В принципе, не исключено использование для подключения нестандартного номера порта, вместо udp/177, что также задается настройками DM.

Читайте также:  Просмотр svg для windows 10

Настройка менеджера xdm (Mandriva).

Переходим в каталог /etc/X11/xdm и редактируем файл конфигурации xdm-config . Для разрешения удаленного подключения закомментировать строку:

Изменения в настройках менеджера дисплея вступают в силу только при его перезапуске, поэтому, после редактирования конфигурационных файлов необходимо или перезагрузиться, или перезапустить графическую подсистему, например выполнив, с обычного терминала, под root-ом последовательно команды

init 3 — перейти на уровень запуска 3 (без графической подсистемы)

init 5 — перейти на уровень запуска 5 (с графической подсистемой).

Для перезапуска текущего менеджера дисплея в Linux Mandriva ( Mageia ) можно использовать команду:

service dm restart

Для перезапуска менеджера дисплея lightdm в Linux Ubuntu:

service lightdm restart

Настройка менеджера kdm Linux Mandriva).
Переходим в каталог /usr/share/config/kdm и редактируем файл kdmrc . На самом деле kdmrc — это ссылка на
/etc/alternatives/kdm4-config
, который, в свою очередь является ссылкой на реальный файл конфигурации

В секции [Xdmcp] строку Enable=false меняем на:
Enable=true
Перезапускаем графическую подсистему.

В последних версиях KDE, настройки по умолчанию задают режим запуска X-сервера без ожидания TCP подключений ( не слушается TCP порт 6000 ). Это легко проверяется командой netstat -na | grep 6000 и при необходимости, вносятся изменения в конфигурационный файл /usr/share/config/kdm/kdmrc . Для разрешения приема входящих соединений, параметр ServerArgsLocal= нужно оставить пустым. По умолчанию, ServerArgsLocal=-nolisten tcp , что приводит к запуску X-сервера с запретом на удаленное подключение.

Настройка менеджера gdm Linux Mandriva.
При стандартной установке Mandriva Linux 2010 Spring, менеджер дисплея gdm не инсталлируется, однако, в составе дистрибутива имеется, и при необходимости, может быть установлен. Для разрешения удаленного подключения с использованием XDMCP, нужно перейти в каталог /etc/X11/gdm и подредактировать файл custom.conf . В секции [xdmcp] строку Enable=false меняем на:
Enable=true
Перезапускаем графическую подсистему или перезагружаемся и проверяем, слушается ли порт udp/177.

Устанавливаем Xming, и запускаем приложение Xlaunch. Для использования XDMCP необходимо выбрать режим работы в одном окне :

Выбираем сессию с использованием XDMCP:

Указываем IP-адрес или имя компьютера с ОС Linux, к которому необходимо подключиться:

Следующий экран служит для определения дополнительных параметров сессии и его пока можно оставить без изменений. Жмем кнопку «Далее» и, если все сделано правильно — перед нами приглашение менеджера дисплея Linux.
Достоинством выше описанного способа удаленной работы с Linux, является то, что вы получаете экран с полноценным рабочим столом и работаете так, как будто подключились к системе локально. Недостаток — снижение производительности удаленной системы, и как следствие, более медленная работа с приложениями.

Удаленная работа с использованием X11 Forwarding.

Перенаправление графического вывода удаленной подсистемы (X11 Forwarding) позволяет работать напрямую с графическими приложениями без использования рабочего стола Linux. Если количество нужных для работы приложений невелико, то такой способ предпочтительнее, поскольку позволяет снизить степень использования ресурсов удаленной системы и позволяет получить более высокое быстродействие, по сравнению с технологией, основанной на использовании XDMCP. При перенаправлении графического вывода, ( X11 forwarding ) Xming, используется в качестве X-сервера, работающего поверх вашего рабочего стола Windows, с запускаемыми на удаленной системе с ОС Linux графическими приложениями. Кроме Xming, в данной технологии используются клиент и сервер SSH. Клиентская часть — на компьютере с ОС Windows, сервер — на компьютере с Linux. Разработчики Xming с некоторых пор, включили клиентское программное обеспечение для реализации X11 Forwarding в состав инсталляционных пакетов (Standart PuTTY и Portable PuTTY). Однако, в ранних версиях инсталляционных пакетов Xming (версии 6.9.0.5) его еще не было. В данной статье рассматриваются примеры с использованием PuTTY версии 0.60, бесплатного SSH — клиента для Windows, который можно скачать здесь

Читайте также:  Tp link ub4a linux

Инсталляция не требуется. Просто скопируйте исполняемый файл putty.exe в каталог с установленным Xming или любой другой по вашему выбору.

Для организации X11 forwarding нам придется немного изменить настройки ssh-демона Linux. При стандартной установке Linux Mandriva никаких настроек делать не пришлось, но, на всякий случай, их все же не мешает проверить. Все действия требуют права root.

Переходим в каталог /etc/ssh и открываем конфигурационный файл демона SSH sshd_config . Для работы через X11 Forwarding в нем должна присутствовать незакомментированная строка

X11Forwarding yes

Чтобы изменения вступили в силу, демон ssh нужно перезапустить.

service sshd restart

После чего графическая подсистема Linux готова к использованию X11 Forwarding.

Настройка Putty.
Основные настройки можно оставить по умолчанию или в соответствии с вашими предпочтениями. Для работы с Xming в режиме перенаправления достаточно подправить только секцию SSH:

Разрешено X11 Forwarding и будет использоваться X-дисплей 0. Использовать 0-й номер дисплея не обязательно, важно, чтобы этот номер совпадал с номером дисплея, указанном при запуске Xming:

При запуске Xming , с помощью мастера Xlaunch , задается номер дисплея (при необходимости) и выбирается многооконный режим Multiple windows , остальное — как и при использовании подключения через XDMCP.

После запуска Xming, с помощью PuTTY подключаемся к Linux, и в командной строке запускаем нужное графическое приложение, например drakdisk — и на компьютере с Windows появляется окно управления дисками Mandriva Linux.

Если возникли проблемы с подключением к графической среде Linux.

При возникновении проблем с подключением, следует, в первую очередь, просмотреть журналы на стороне Linux и на стороне Windows. Xming, по умолчанию ведет журнал в каталоге %TEMP% зарегистрировавшегося пользователя. Имя файла журнала — Xming.0.log . Вместо «0» в имени могут присутствовать другие цифры. Ошибки, возникающие при старте Xming, фиксируются в файле Xming.log , находящемся в домашнем каталоге Xming (обычно — C:\Program Files\Xming\). Для диагностики на стороне Linux обычно достаточно записей в журнале /var/log/messages

Наиболее распространенной причиной при невозможности подключения по протоколу XDMCP являются следующие:

— не слушается порт udp/177, или слушается нестандартный порт, или слушается не на том сетевом интерфейсе
— подключение блокируется файерволлом
— менеджер дисплея отвергает удаленное подключение.

Последняя ошибка внешне выглядит следующим образом — Xming нормально запускается, нет никаких сообщений об ошибках, соединение не разрывается, но экран остается пустым («серая клетка»). В файле журнала периодически появляется запись :

winProcEstablishConnection — Hello
winProcEstablishConnection — Xdmcp enabled, waiting to start clipboard client until fourth call.
AUDIT: Thu Dec 30 12:37:57 2010: 2292 Xming: client 1 rejected from IP 192.168.0.101
Auth name: MIT-MAGIC-COOKIE-1 ID: -1

MIT-MAGIC-COOKIE-1 — это наиболее популярный протокол авторизации в X-Window, поскольку он самый простой. Для организации удаленного сеанса используется 128-битный ключ, который передается в виде простой текстовой строки. По умолчанию, данные авторизации хранятся в файле .Xauthority домашнего каталога пользователя и состоят из полей с именем компьютера, именем протокола авторизации (MIT-MAGIC-COOKIE-1) и 128-битного ключа. Просмотреть информацию о существующих записях можно с помощью команды xauth list

Обычно, при правильной настройке PuTTY, для исправления ситуации достаточно на стороне Linux добавить запись для IP-адреса компьютера с Windows в файл /etc/hosts

192.168.0.11 WINCOMP — для компьютера WINCOMP с IP-адресом 192.168.0.11

Если на компьютере с Windows существует несколько сетевых интерфейсов, то запись в файл hosts нужно добавлять для каждого из них.

Для отладки, или временного решения проблемы, можно в строку запуска Xming, добавить параметр -ac , отключающий контроль доступа к серверу ( disable access control restrictions )

Следующей, наиболее часто встречающейся проблемой, является случай, когда в сеансе пользователя, подключившегося к компьютеру с Linux с помощью PuTTY, выполняется переход в учетную запись суперпользователя root и уже из под нее запускается графическое приложение. Обычно запуск не выполняется и выдается сообщение об ошибке согласования протоколов авторизации:

Читайте также:  Не удаляется java windows 10

PuTTY X11 proxy: wrong authorisation protocol attemptedPuTTY X11 proxy: wrong authorisation protocol attemptedError: cannot open display: localhost:10.0

Возможно также сообщение об ошибке авторизации с использованием MIT-MAGIC-COOKIE-1 :

PuTTY X11 proxy: MIT-MAGIC-COOKIE-1 data did not matchPuTTY X11 proxy: MIT-MAGIC-COOKIE-1 data did not matchError: cannot open display: localhost:10.0

Причиной таких ошибок является либо отсутствие файла .Xauthority в домашнем каталоге /root , либо отсутствие в нем необходимых для авторизации записей. В качестве наиболее простого решения проблемы можно воспользоваться добавлением уже существующих и рабочих записей из профиля пользователя в профиль root ‘а. Для чего нужно:

под учетной записью пользователя выполнить команду:
xauth list
В результате отобразится информация подобная следующей:

computer1/unix:10 MIT-MAGIC-COOKIE-1 d6be173154bd0bbb4cec9588b097737a
computer2/unix:10 MIT-MAGIC-COOKIE-1 bbdf4a00c6bb558fa568bb21cfab9b1f

под учетной записью root добавить данные авторизации командой, например для computer2:

auth add computer2/unix:10 MIT-MAGIC-COOKIE-1 bbdf4a00c6bb558fa568bb21cfab9b1f

Чтобы не набирать все это вручную, можно использовать перенаправление вывода команды auth в текстовый файл и создание на основе полученного файла скрипта для добавления записей в профиль root ‘a:

— выполнить под учетной записью пользователя команду auth list > /tmp/magiccookies

под учетной записью root ‘а отредактировать файл /tmp/magiccookies , добавив в начало нужных строк auth add . Ненужные строки можно удалить. Добавить отредактированному файлу атрибут ”исполняемый” командой chmod +x /tmp/magiccookies и запустить его на выполнение.

Если в файле журнала ( Xming.N.log ) присутствует строка

XDMCP fatal error: Manager unwilling Host unwilling

то это означает, что возникли проблемы с доступом к удаленной системе, и наиболее вероятно, что отсутствует файл Xaccess , он пустой, или в файле нет настроек, разрешающих данное подключение. Для диагностики данной проблемы, проверьте конфигурационный файл вашего менеджера дисплея , определите место нахождения Xacess и проверьте его содержимое. Так, например, в конфигурационном файле менеджера kdm в Mandriva, указан путь к файлу Xaccess — /usr/share/config/kdm/Xaccess но сам файл отсутствует. Для решения проблемы можно создать его самостоятельно, с одной единственной строкой, содержащей символ звездочки ( * ) ( разрешено подключение всем ) или использовать файл от менеджера xdm , указав его путь в конфигурационном файле kdmrc секции [Xdmcp]

Более разумно, все же разместить файл управления доступом Xaccess в том же каталоге, где расположен конфигурационный файл менеджера дисплея ( DM ).

Иногда подключение не выполняется, и в файле журнала Xming, после информации об инициализации и используемых шрифтах, присутствует единственная строка

winDeinitMultiWindowWM — Noting shutdown in progress

Это сообщение записывается при завершении работы Xming , а тот факт, что между инициализацией и завершением работы нет никаких других событий, означает что от удаленного узла не было получено вообще никакого ответа. Более точную информацию о проблеме можно получить, используя снифферы, например tcpdump на стороне Linux, и tshark на стороне Windows. Для графической среды пользователя можно использовать бесплатный анализатор трафика Wireshark как в среде Linux, так и в среде Windows.

При изменении настроек в конфигурационных файлах на стороне Linux нужно перезапускать графическую подсистему, например выполнением команд:

init 3 — переход на уровень запуска 3 ( без графической оболочки )
init 5 — переход на уровень запуска 5 ( с графической оболочкой )

Вместо команды init можно пользоваться перезапуском используемого менеджера дисплея:

gdm-restart — перезапустить менеджер дисплея gdm
service dm restart — перезапустить менеджер дисплея, с использованием скрипта /etc/rc.d/init.d/dm .

Статьи по теме доступа к удаленным рабочим столам Linux и Windows:

Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети

Оцените статью