Сервер был разработан для замены существующего XDM. По сравнению со своим предшественником, KDM предоставляет дополнительные возможности, наиболее важными из которых являются список Session Type, в котором пользователи могут выбирать диспетчер окон или среду рабочего стола, и кнопка Quit (или Shutdown), позволяющая завершать выполнение локального X-сервера (при удаленном выполнении) или останавливать работу всей системы (при локальном запуске). Окно регистрации, отображаемое посредством KDM, показано на рис. 14.2.
KDM использует те же конфигурационные файлы, что и XDM, поэтому рекомендации по обеспечению удаленного доступа, изложенные в предыдущем разделе, подходят и для KDM. Кроме того, в KDM предусмотрены дополнительные средства настройки по сравнению с XDM. Соответствующие опции указываются в файле kdmrc, расположение которого зависит от дистрибутивного пакета. Чаще всего он находится в каталоге /opt/kde2/share/config или /usr/share/config. В этом файле содержатся средства управления размером окна регистрации, стилем интерфейса и другими параметрами отображения данных. Одной из наиболее важных является опция SessionTypes. Она определяет тип пользовательского сеанса, в частности диспетчеры окон для выбора. Если вы добавляете сеанс в список, вы также должны учесть его в файле Xsession или Xsession.d, находящемся в каталоге /etc/X11 или /etc/X11/xdm. К сожалению, разобраться в структуре файла достаточно трудно, кроме того, эта структура изменяется в зависимости от дистрибутивного пакета. Для добавления сеанса служит переменная SESSION либо другая переменная с подобным именем. В состав некоторых пакетов входит инструмент chksession, который автоматически учитывает диспетчер окон или среду рабочего стола в конфигурации KDM или GDM. Чтобы это стало возможным, диспетчер окон или среда рабочего стола должны поставляться с соответствующими конфигурационными файлами. В большинстве случаев пользователю проще настроить окружение, отредактировав файл .xsession, находящийся в его рабочем каталоге. Для того чтобы система использовала этот файл, пользователь должен выбрать при работе с KDM специальный пункт под названием Default.
Подобно KDM, сервер GDM предоставляет пользователям возможность выбрать окружение рабочего стола, а также завершить работу локального компьютера или сеанс удаленного взаимодействия. Однако, в отличие от KDM, GDM использует собственные конфигурационные файлы, которые обычно хранятся в каталоге /etc/X11/gdm. Наиболее важным из них является файл gdm.conf.
Как и большинство систем, использующих серверы XDMCP, системы, включающие GDM, конфигурируются так, чтобы пользователи не могли регистрироваться с удаленных узлов. Чтобы отказаться от этого ограничения, надо изменить одну или две записи в разделе [xdmcp] файла gdm.conf. Строку Enable=0 следует заменить на Enable=1. Если вы хотите, чтобы GDM предоставлял X-терминалу список других компьютеров, работающих с XDMCP, вам надо заменить HonorIndirect=0 на HonorIndirect=1.
Если вы хотите, чтобы GDM был доступен для удаленных узлов, а локальный X-сервер не запускался, вам надо закомментировать строку, соответствующую локальным серверам в разделе [servers]. Как правило, в этом разделе находится следующая запись:
0=/usr/bin/X11/X
Эта запись указывает GDM на то, что X-сервер (программа /usr/bin/X11/X) должен быть запущен для управления первым X-сеансом. Если в начало этой строки будет включен символ комментариев, GDM не будет управлять локальным устройством отображения или запускать X-сервер.
Подобно KDM, GDM позволяет пользователю выбрать диспетчер окон или окружение рабочего стола. (В GDM для этого предназначено меню Session.) Для добавления или удаления сеансов надо создать соответствующие сценарии в каталоге /etc/X11/gdm/Sessions. По умолчанию обычно используется сценарий /etc/X11/xdm/Xsession. Вам необходимо отредактировать данный сценарий или создать новый, выполняющий подобные действия, реализовав в нем возможность загрузки другого диспетчера окон или окружения рабочего стола. В большинстве систем пользователь может настраивать среду посредством редактирования файла
Чтобы обеспечить запуск сервера XDMCP, надо настроить компьютер для работы с X Window и приема запросов на регистрацию. В большинстве дистрибутивных версий для этой цели зарезервирован уровень выполнения 5, но в некоторых случаях используются и другие уровни. Например, в версиях SuSE, предшествующих версии 7.2, регистрация с применением графического интерфейса производится на уровне 3, а в Slackware для этого используется уровень 4. В Debian и системах, созданных на ее основе, средства X Window выполняются на всех уровнях, допускающих работу нескольких пользователей.
Уровень по умолчанию задается с помощью специальной записи в файле /etc/inittab, которая выглядит приблизительно следующим образом:
id:5:initdefault:
Во многих дистрибутивных пакетах данной записи предшествуют комментарии, объясняющие ее назначение. Номер уровня содержится во втором поле; именно на этот уровень система переходит после загрузки. Если на компьютере установлены средства X Window, сервер XDCMP также будет загружен.
Для изменения уровня выполнения служит утилита telinit. Например, по команде telinit 5 происходит переход на уровень 5. Система будет находиться на указанном уровне до следующего вызова telinit либо до перезагрузки компьютера.
Если вы вносите изменения в конфигурацию сервера XDMCP, вам надо обеспечить, чтобы новая конфигурация была учтена при работе сервера. Сделать это вы можете, перейдя на уровень, обеспечивающий работу только в текстовом режиме, а затем вернувшись на уровень, допускающий выполнение X-программ. Для перехода на другой уровень используется утилита telinit. Кроме того, вы можете остановить работу сервера XDMCP, вызвав команду kill или killall, а затем запустить сервер снова. Для того чтобы сервер XDMCP повторно прочитал содержимое конфигурационных файлов, ему можно передать сигнал SIGHUP; в этом случае завершать работу сервера нет необходимости.
В каждом дистрибутивном пакете используется свой сервер XDMCP, но при желании вы можете переконфигурировать систему для работы с нужным вам сервером. Средства для выбора сервера XDMCP, используемые в различных версиях Linux, описаны ниже.
• prefdm. В некоторых дистрибутивных пакетах Linux, например, в системах Red Hat и Mandrake, для загрузки сервера XDMCP применяется сценарий с именем prefdm (он находится в каталоге /etc/X11). Для выбора среды рабочего стола и сервера XDMCP данный сценарий читает файл /etc/sysconfig/desktop. Обычно в этом файле содержатся значения KDE, GNOME и AnotherLevel, которые задают в качестве XDMCP-сервера соответственно KDM, GDM и XDM.
• Сценарии запуска SysV. В Debian и системах, созданных на ее основе, запуск сервера XDMCP осуществляется посредством сценария SysV, например /etc/init.d/xdm. Заменив или отредактировав этот файл, вы можете задать использование другого сервера XDMCP. Аналогичный способ применяется в системе SuSE, но тип сервера XDMCP, запускаемого с помощью сценария определяет значение переменной окружения DISPLAYMANAGER, которое задается в файле /etc/rc.config.