XDM

Что такое XDM?

Если проще, то XDM (X Display Manager) можно представить, как графическую замену стандартному входу в систему (login). На самом же деле он может значительно больше.

Обычно он запускается пользователем "root" (или скриптами загрузки системы) при включении машины, и предлагает пользователю графическое приглашение ко входу. После этого он управляет сессией работы пользователя с X - он запускает менеджер окон и приложения.

Это можно описать, как "простой вход в локальную систему". Так оно и есть по умолчанию во многих известных дистрибутивах Linux. Однако, XDM также может работать с удаленными X-серверами, и предоставлять приглашение ко входу в систему на удаленнных X-терминалах. Короче говоря, он не ограничен локальной машиной - он может управлять и другими машинами, подключенными к нему по сети.

XDM - очень мощная утилита, и этот документ лишь немного коснется его возможностей. Цель этого документа - донести до вас информацию о том, как настроить ваши X-терминалы и серверы приложений так, чтобы они могли связаться друг с другом. Более подробную информацию вы найдете в главе Разд. Ссылки.

Что такое X-терминал

Этот термин применяется во многих случаях, но самый простой вариант - это машина, подключенная к сети, у которой есть клавиатура, мышь и монитор, и она может запустить систему X windows для связи с сервером приложений, находящемся где-то в сети.

Существуют разные конфигурации "X-терминалов" разных уровней - начиная от полностью бездисковых терминалов, заканчивая мощными X-рабочими станциями.

Терминология

Перед тем, как мы продолжим, я должен разъяснить вам значение некоторых терминов, которые я буду использовать в этом документе. При разговорах об X немудрено запутаться в понятиях "сервер", "клиент" и т.п. Это особенно проявляется в случае, если вы собираетесь работать с X по сети, используя X-терминалы. В этом документе я буду употреблять следующие термины:

Бездисковый X-терминал

Это машина без локальных дисков, которая загружается через сеть при помощи сервера. Это значит, что она получает параметры сети, операционную систему, ее настройки и все приложения с сервера. После загрузки она представляет из себя "простой X-терминал" (см. ниже). Обычно эта система использует один или несколько протоколов удаленной загрузки: BOOTP, DHCP, TFTP и т.п. Подробнее о бездисковых станциях читайте в документах, перечисленных в главе Разд. Ссылки.

Простой X-терминал

Это машина, которая загружает операционную систему с локального диска, после этого запускает "X-сервер" и все. Далее каким-то образом на экране должно появиться приглашение ко входу в сервер приложений, который находится в другом месте сети.

Рабочая станция X

Она аналогична простому X-терминалу, за исключением того, что в ней можно войти в саму локальную машину, чтобы при необходимости у пользователя была возможность работы при отсутствии сети.

Сервер приложений

В этом документе, я буду называть "сервером приложением" машину, на которой работает X-сессия и X-приложения (на ней может не быть графической консоли, приглашения ко входу, и, возможно, экрана и клавиатуры вообще).

X-Сервер

Это машина с физической консолью (дисплей, клавиатура, мышь и т.п.), которая может предоставлять необходимые сервисы X-клиентам. Более подробно читайте в "HOWTO: Пользователь X", ссылка на который приведена в разделе Разд. Ссылки.

X-Клиент

Это приложение, которому для осуществления ввода-вывода требуется X-сервер.

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

В этом документе описаны несколько вариантов комбинаций элементов, перечисленных выше, а также описано, какую роль может играть xdm в настройке этих комбинаций.

Что может XDM?

XDM - это утилита, отвечающая за приглашение ко входу в систему, и инициализирующая их X-сессию. Это может быть как локальная сессия (в случае с рабочей станцией X), так и удаленная сессия работы с сервером приложений (в случае бездискового или простого терминалов).

Существуют два метода, которые могут привести к выдаче приглашения ко входу в систему:

Запрос X-сервера

Связь между XDM и настоящим "X-сервером" (машиной с настоящим экраном/клавиатурой/мышкой/и т.п.) производятся при помощи протокола XDMCP ('X display manager control protocol').

Это позволяет X-серверу посылать запросы на XDM-сервер, обычно говоря ему что-то типа "Тут кто-то хочет войти в систему - дайте мне приглашение ко входу".

Эта функция может принять одну из 3 форм:

  • Прямой запрос: X-сервер связывается с заданной с машиной, посылая запрос на получение приглашения ко входу на его дисплей.

  • Широковещательный запрос: X-сервер посылает общее сообщение по сети, и первый сервер, на котором запущен XDM, отвечающий на это сообщение, предоставляет X-серверу приглашение ко входу в сеть.

  • Косвенный запрос: X-сервер связывается с заданной машиной, но спрашивает у нее, какие другие машины с xdm она знает. Эта машина предоставляет пользователю для выбора список машин, и после этого X-сервер устанавливает соединение с выбранной машиной. Приглашение ко входу передается X-серверу уже по этому новому соединению.

Существуют еще несколько форм, но они не будут описываться здесь. Для этого обращайтесь к документации по XDM и XDMCP, ссылки на которые приведены в Разд. Ссылки.

Через XDM-сервер

Если у вас есть несколько машин (бездисковых или простых X-терминалов) с X-серверами, работающих с одним сервером приложений, то для реализации процедуры входа в этот сервер можно использовать XDM. В этом случае XDM сам связывается с каждым X-сервером и автоматически выводит на дисплей приглашение ко входу в сервер приложений.

В этом режиме работы файл "Xservers" содержит список машин (включая и локальную, если это необходимо), с которыми XDM должен связаться для выдачи на их экран приглашения ко входу.

Эта конфигурация (если в списке X-серверов нет удаленных машин) очень часто используется на X-рабочих станциях для того, чтобы выдать на экран приглашение ко входу на локальную машину.

Подобный способ требует того, чтобы права доступа X-сервера позволяли XDM сервера приложений устанавливать обратную связь к соответствующему дисплею.