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-сервера
Связь между 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 сервера приложений устанавливать обратную связь к соответствующему
дисплею.