Если в сети не используется брандмауэр или маскирующий маршрутизатор, способный повлиять на обмен данными между клиентом и сервером, то каждый компьютер, на котором выполняется X-сервер, может быть использован как дисплей для любого X-приложения. Однако в некоторых случаях этого недостаточно; необходимо, чтобы X-сервер работал как локальный сервер удаленной системы, отображая ее окружение. Процедура регистрации, использующая Telnet, SSH или другой протокол удаленной регистрации, не всегда удобна для управления удаленной системой. Часто бывает удобнее работать с протоколом регистрации, входящим в систему X Window. Таким протоколом является XDMCP (X Display Manager Control Protocol — протокол управления диспетчером X-отображения). В состав большинства систем Linux входит программное обеспечение, необходимое для организации работы сервера XDMCP (сервер XDMCP располагается на том же компьютере, что и X-клиент), но, как правило, эти системы сконфигурированы так, что доступ к серверу XDMCP ограничен локальной системой. Если вы измените конфигурацию сервера, он будет обслуживать различные клиенты XDMCP (они располагаются на тех же компьютерах, что и X-серверы). Компьютер под управлением Linux можно также использовать как клиент XDMCP, но для этого надо модифицировать X-конфигурацию так, чтобы средства поддержки XDMCP представляли окно регистрации, генерируемое на удаленном компьютере.
Принцип действия XDMCP
В предыдущих разделах был рассмотрен принцип использования X-соединений, предполагающий применение протокола удаленной регистрации, например Telnet. Сервер Telnet располагался на том же компьютере, что и X-клиент; с его помощью пользователь регистрировался на удаленном компьютере, после чего устанавливалось X-соединение между клиентом и сервером. Сервер XDMCP успешно заменяет Telnet, SSH и другие протоколы удаленной регистрации, обеспечивающие взаимодействие в текстовом режиме. Когда пользователь обращается к удаленной системе с помощью Telnet, сервер Telnet регистрирует его и предоставляет текстовую оболочку. Средства XDMCP действуют подобным образом, но вместо текстовой оболочки сервер XDMCP инициирует процедуру регистрации X Window; при этом отображается окно для ввода пользовательского имени и пароля и загружается диспетчер окон, среда рабочего стола и другие компоненты графического интерфейса. Эти программы запускаются посредством X-соединения; XDMCP автоматически конфигурирует клиентскую и серверную программы, используя xauth
. Другими словами, XDMCP автоматизирует описанную ранее процедуру регистрации.
Сервер XDMCP применяется не только для установления X-соединений. Он также обеспечивает обращение системы Linux к X-серверу при загрузке. Отображаемое при этом окно регистрации показано на рис. 14.2. Внешний вид окна зависит от конфигурации сервера XDMCP.
Рис. 14.2. В окне регистрации указываются пользовательское имя и пароль. В некоторых случаях пользователь может задать дополнительную информацию, например, указать среду рабочего стола и диспетчер окон
Настройка сервера регистрации для установления соединения
Для настройки сервера XDMCP используются конфигурационные файлы, которые обычно находятся в каталогах /etc
и /etc/X11
. Исходя из сообщений защиты, большинство дистрибутивных пакетов сконфигурировано так, что обращения к серверу возможны только с локального узла. Чтобы разрешить удаленную XDCMP-регистрацию, необходимо снять данные ограничения. Кроме того, надо обеспечить выполнение сервера XDMCP. В настоящее время в системе Linux используются три сервера XDMCP: X Display Manager (XDM) и более новые продукты — KDM (KDE Display Manager) и GDM (GNOME Display Manager).
XDM — наиболее простой среди серверов XDMCP; он был разработан раньше других продуктов подобного назначения. В отличие от GDM и KDM, XDM не связан с окружением рабочего стола Linux. Он дает возможность пользователям вводить имена и пароли, но не позволяет указывать дополнительные сведения, например задавать диспетчер окон. Для управления регистрационными параметрами пользователя служит файл .xsession
, расположенный в его рабочем каталоге. (Данный сценарий запускается из сценария Xsession
, который располагается в каталоге /etc/X11
или /etc/X11/xdm
.) Файл .xsession
, соответствующий конкретному пользователю, обычно заканчивается строкой, которая запускает диспетчер окон или среду рабочего стола. По завершении сценария (это происходит, когда пользователь выходит из системы, прекращая тем самым работу диспетчера окон) завершается X-сеанс и XDM прекращает удаленное взаимодействие, либо при использовании локального дисплея XDM повторно отображает приглашение для регистрации.