Перейти к содержанию

7.3 Настройка менеджера дисплеев (Configuring a Display Manager)

Для сдачи экзамена LPIC-1/Linux+ вам также необходимо знать, как настраивать менеджер дисплеев (display manager) и среду рабочего стола (desktop environment). В этой части главы вы научитесь это делать. Рассматриваются следующие темы:

  • Опробование сред рабочего стола
  • Управление менеджером дисплеев

Начнём с того, как пробовать различные среды рабочего стола в Linux.

Опробование сред рабочего стола (Trying Out Desktop Environments)

Как упоминалось ранее, компоненты оконного менеджера и среды рабочего стола, используемые вашей системой Linux, являются модульными. Вы можете опробовать различные оконные менеджеры и среды рабочего стола, чтобы выбрать наиболее подходящий. Для этого выполните следующие действия:

  1. С помощью утилиты rpm (или другого средства установки пакетов) установите оконные менеджеры или среды рабочего стола, которые хотите опробовать.
  2. По завершении установки выйдите из системы. На экране входа в систему вы должны увидеть пункт Session Type (Тип сеанса). При его выборе отображается список оконных менеджеров и сред рабочего стола, установленных в системе (рис. 7-10). Выберите нужный оконный менеджер или среду рабочего стола.

Рис. 7-10. Выбор менеджера рабочего стола на экране входа в систему.

Рис. 7-10. Выбор менеджера рабочего стола.

После этого система загрузится с выбранным оконным менеджером или средой рабочего стола. Если результат вас устраивает, вы можете сделать изменение постоянным. Если ваша система загружается на уровне выполнения 3 по умолчанию и вы запускаете графический интерфейс командой startx, вам нужно найти скрытый файл сценария .xinitrc в домашнем каталоге пользователя (с помощью ls -a). Откройте этот файл в текстовом редакторе и найдите строку exec $WINDOWMANAGER:

# finally start the window manager
#
unset WINDOW_MANAGER STARTUP
exec $WINDOWMANAGER
# call failsafe
exit 0

Замените $WINDOWMANAGER на имя нужного оконного менеджера или среды рабочего стола. Используйте следующие значения:

  • KDE: /usr/bin/startkde
  • GNOME: /usr/bin/gnome

Совет

Обратите внимание, что $WINDOWMANAGER ссылается на переменную окружения WINDOWMANAGER. Вместо того чтобы редактировать файл .xinitrc, можно просто задать значение переменной WINDOWMANAGER, указав путь к исполняемому файлу нужного оконного менеджера.

Сохраните файл и выполните startx.

Если ваша система по умолчанию загружается на уровне выполнения 5, внесите аналогичные изменения в файл .Xsession, .Xdefaults или .Xclients в вашем домашнем каталоге — в зависимости от того, какой из них используется вашим дистрибутивом.

Рассмотрим теперь, как настраивать менеджер дисплеев.

Управление менеджером дисплеев (Managing a Display Manager)

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

Для экзамена LPIC-1/Linux+ вам необходимо знать, как выполнять следующие операции с менеджером дисплеев:

  • Включение и отключение менеджера дисплеев
  • Настройка менеджера дисплеев
  • Настройка удалённого доступа к менеджеру дисплеев

Включение и отключение менеджера дисплеев (Enabling or Disabling the Display Manager)

Включить или отключить менеджер дисплеев можно с помощью сценария init. Конкретный сценарий зависит от используемого дистрибутива Linux. Во многих дистрибутивах, например в openSUSE, менеджер дисплеев управляется сценарием xdm из каталога /etc/init.d. В других дистрибутивах может использоваться менеджер дисплеев GNOME (gdm) или KDE (kdm). Для управления менеджером дисплеев вручную введите в командной строке /etc/init.d/init_script stop или start.

Совет

Для этих же целей можно также использовать rcxdm stop или rcxdm start.

Поскольку менеджер дисплеев управляется сценарием init, с помощью команды chkconfig можно контролировать, будет ли он загружаться при старте системы. Например, чтобы отключить автоматическую загрузку менеджера дисплеев xdm при загрузке системы, введите chkconfig xdm off. Убедиться в том, что он отключён, можно командой chkconfig xdm -l. Пример:

ws1:/ # chkconfig xdm off
ws1:/ # chkconfig xdm -l
xdm        0:off   1:off   2:off   3:off   4:off   5:off   6:off

Чтобы настроить автоматическую загрузку менеджера дисплеев при старте системы, введите chkconfig xdm on. Снова выполните chkconfig xdm -l, чтобы убедиться, что менеджер дисплеев настроен на автоматический запуск на уровне выполнения 5:

ws1:/ # chkconfig xdm on
ws1:/ # chkconfig xdm -l
xdm        0:off   1:off   2:off   3:off   4:off   5:on    6:off

Настройка менеджера дисплеев (Configuring the Display Manager)

Настройка менеджера дисплеев производится путём редактирования соответствующего конфигурационного файла:

  • xdm: /etc/X11/xdm/xdm-config
  • LightDM: менеджер дисплеев LightDM настраивается с помощью нескольких файлов:
    • /usr/share/lightdm/lightdm.conf.d
    • /etc/lightdm/lightdm.conf.d
    • /etc/lightdm/lightdm.conf

Примечание

В этой главе мы сосредоточимся на настройке менеджера дисплеев LightDM.

  • kdm: менеджер дисплеев KDE основан на xdm и обычно использует его конфигурационные файлы. Однако в некоторых дистрибутивах настройки kdm хранятся в /etc/kde/kdm или /etc/X11/kdm. В этом случае для большинства изменений конфигурации используется файл kdmrc в одном из этих каталогов.
  • gdm: /etc/X11/gdm

При работе с LightDM важно помнить, что все его конфигурационные файлы объединяются для формирования итоговой конфигурации. Ключевой момент состоит в том, что файлы применяются в порядке, указанном выше.

Конфигурация LightDM по умолчанию хранится в файлах каталога /usr/share/lightdm/lightdm.conf.d/. Эти файлы генерируются системой и не должны редактироваться напрямую. Вместо этого следует создавать файлы переопределения с нужными изменениями в каталоге /etc/lightdm/lightdm.conf.d/. (Как вариант, изменения можно также вносить в файл /etc/lightdm/lightdm.conf.) Если одинаковые параметры содержатся в нескольких файлах, применяется значение из последнего обработанного файла, а остальные переопределяются. Например, чтобы переопределить тип сеанса по умолчанию (заданный в /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf), можно создать файл /etc/lightdm/lightdm.conf.d/50-myconfig.conf и указать в нём нужные параметры.

LightDM использует концепцию гритера (greeter) — по сути, это пользовательский интерфейс для взаимодействия с LightDM. Например, в дистрибутиве Ubuntu по умолчанию используется гритер Unity. Настроить поведение LightDM и выбор гритера можно с помощью конфигурационных файлов LightDM. В частности:

  • Можно сменить гритер LightDM. Для этого создайте соответствующий файл в /etc/lightdm/lightdm.conf.d/ и укажите имя файла гритера (с расширением .desktop) из каталога /usr/share/xgreeters. Используйте следующий синтаксис:

    [SeatDefaults]
    greeter-session=file_name
    
  • Можно отключить вход гостевых пользователей. По умолчанию LightDM позволяет войти в систему как гость. Из соображений безопасности эту возможность можно отключить. Создайте соответствующий файл в /etc/lightdm/lightdm.conf.d/ и добавьте в него следующие строки:

    [SeatDefaults]
    allow-guest=false
    
  • Можно скрыть список пользователей. Многие гритеры LightDM по умолчанию отображают список учётных записей. Из соображений безопасности это можно отключить. Создайте соответствующий файл в /etc/lightdm/lightdm.conf.d/ и добавьте следующие строки:

    [SeatDefaults]
    greeter-hide-users=true
    
  • Можно разрешить ввод имени пользователя вручную. По умолчанию гритер Unity не позволяет вводить имя пользователя вручную при входе в систему. Это поведение можно изменить, создав соответствующий файл в /etc/lightdm/lightdm.conf.d/ со следующими строками:

    [SeatDefaults]
    greeter-show-manual-login=true
    
  • Можно изменить тип сеанса по умолчанию в LightDM, явно указав файл сеанса. Такие файлы имеют расширение .desktop и располагаются в /usr/share/xsessions. Создайте соответствующий файл в /etc/lightdm/lightdm.conf.d/ и добавьте следующие строки:

    [SeatDefaults]
    user-session=file_name
    

Рассмотрим теперь, как настроить менеджер дисплеев для поддержки удалённых X-терминалов.

Настройка удалённого доступа к менеджеру дисплеев (Configuring Remote Access to the Display Manager)

Многие организации используют системы тонких клиентов (thin client) для своих конечных пользователей. Тонкий клиент — это минималистичная компьютерная система, которая использует программное обеспечение X-сервера для подключения к удалённому X-серверу и запуска менеджера дисплеев через сетевое соединение. Это позволяет отображать на локальном мониторе тонкого клиента графический вывод, предоставляемый удалённым X-сервером через менеджер дисплеев. Такая архитектура позволяет организациям обеспечить полноценный графический рабочий стол всем пользователям, используя лишь небольшое количество высокопроизводительных систем с xdm и большее число недорогих тонких клиентов.

Примечание

Некоторые тонкие клиенты крайне минималистичны — на них может не быть жёсткого диска. Минимальная операционная система Linux и программное обеспечение X-сервера, необходимые для подключения к хосту xdm, встроены в микропрограмму тонкого клиента.

Для настройки удалённого доступа к менеджеру дисплеев на хосте xdm необходимо настроить его на прослушивание сети для приёма входящих запросов на подключение от программного обеспечения X-сервера на тонких клиентах. Эти запросы используют протокол управления xdm (XDMCP) на порту 177. Выполните следующие действия:

  1. Если на хосте запущен xdm или kdm, откройте файл /etc/X11/xdm/Xservers и найдите строку, начинающуюся с :0:

    :0 local /usr/X11R6/bin/X -nolisten tcp -br vt7
    

    Удалите параметр -nolisten tcp, сохраните изменения и перезапустите систему.

  2. Если на хосте запущен gdm, откройте файл /etc/X11/gdm/gdm.conf и установите значение параметра DisallowTCP= равным false.

  3. Если вы используете openSUSE, откройте файл /etc/sysconfig/displaymanager и внесите следующие изменения:

    DISPLAYMANAGER_REMOTE_ACCESS="yes"
    DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="yes"
    
  4. Откройте порт 177 в брандмауэре хоста xdm.

  5. Откройте файл /etc/X11/xdm/Xaccess на хосте xdm в текстовом редакторе. Этот файл используется для настройки контроля доступа для XDMCP-подключений.

    Чтобы разрешить удалённый доступ, добавьте запись для каждой удалённой системы тонкого клиента, которая будет обращаться к службе xdm на хосте. Можно добавить имя каждой системы по отдельности либо разрешить доступ для целого домена.

    Например, чтобы разрешить доступ к службе xdm для всех систем домена mydomain.com, нужно добавить в файл строку *.mydomain.com.

    Чтобы запретить конкретным тонким клиентам доступ к службе xdm на хосте, добавьте их имена в файл с восклицательным знаком. Например, чтобы запретить доступ хосту ws1.mydomain.com, нужно ввести в файл строку !ws1.mydomain.com.

Следующая тема, которую мы рассмотрим в этой главе, — настройка специальных возможностей.