# Руководство &kdm;

&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
Иван Кашуков

    dolphin210@yandex.ru

Перевод на русский
2000 &Neal.Crook;
2002 &Oswald.Buddenhagen;
2003 &Lauri.Watts;
2003-03-01
0.05.02

Этот документ описывает &kdm;, Менеджер входа в систему &kde; (также используется термин Login Manager).

KDE kdm xdm display manager менеджер входа в систему

## Введение

&kdm; предоставляет возможность входа в систему через графический интерфейс. Система запрашивает логин (имя пользователя) и пароль, опознаёт пользователя и запускает сеанс. По многим параметрам &kdm; превосходит &xdm;, менеджер входа в систему X-сервера.

## Руководство по быстрому запуску

В этом руководстве подразумевается, что:

- Система Х-Window настроена и запускается из командной строки по команде `startx`.

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

Этот сценарий подходит во многих случаях, если один или несколько пользователей запускают компьютер и входят в предпочитаемую рабочую среду, и при этом не возникает сбоев.

Установка сеанса по умолчанию

- Создайте или откройте файл `~/.xinitrc`

  Если у вас уже есть работающий файл `~/.xinitrc`, переходите к следующему шагу.

- Добавьте в файл `~/.xinitrc` строку, запускающую выбранный вами оконный менеджер или оболочку, если такой строки там нет.

  Если эта оболочка -- &kde;, введите:

      startkde

  Что касается других оконных менеджеров или оболочек -- ищите аналогичную команду в их документации.

- Создайте ссылку с помощью команды

      ln -s ~/.xinitrc ~/.xsession

Теперь при вводе в командной строке команды ``startx``система будет запускать X-Window с сеансом &kde;. Далее, попытайтесь настроить систему на запуск &kdm;.

Войдите в систему как root и введите в командной строке ``kdm``.

Вы увидите окно входа в систему, более полно описанное в разделе .

Теперь при успешном входе пользователя в систему через kdm с выбранным сеансом "по умолчанию" будет запускаться &kde;.

Если вы хотите настроить другие учётные записи, повторите эту процедуру для каждой из них.

Это руководство по быстрому запуску затрагивает только установку и запуск. Если вы хотите более полно настроить &kdm;, например, чтобы в окне входа в систему не отображались имена пользователей, чтобы система предоставляла возможность выбора различных типов сеансов, и т. п., то читайте это руководство дальше.

## Окно входа в систему

Интерфейс &kdm; включает два диалоговых окна. Компоненты основного окна:

- Поле Имя пользователя -- для ввода имени пользователя.

- Поле Пароль - для ввода пароля.

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

- Список Сеанс предоставляет возможность запуска различных оконных менеджеров и оболочек, установленных в системе.

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

- По нажатию на кнопку Войти система проверяет имя пользователя и пароль и при отсутствии ошибок запускает сеанс выбранного типа.

- По нажатию на кнопку Очистить система удаляет текст из полей Имя и Пароль.

- Кнопка Выключить (может отсутствовать) выводит диалоговое окно Выключить.

- Кнопка Меню открывает меню со следующими пунктами:

  - На локальных мониторах - пункт Перезапустить Х-сервер. Останавливает запущенный Х-сервер и запускает заново. Используйте эту команду, если содержимое экрана выглядит ненормально.

  - На удалённых мониторах - пункт Закрыть соединение. Разрывает соединение с сервером XDMCP, к которому вы подключены. Если вы подключились к серверу, используя программу выбора хоста, вы снова увидите окно этой программы, иначе система перезагрузит Х-сервер и снова выведет окно входа в систему.

  - На локальных мониторах - пункт Режим консоли (может отсутствовать), при выборе которого система останавливает запущенный Х-сервер и переходит в текстовый режим входа в систему. Если за некоторое время вход не был осуществлён, будет вновь выведено графическое окно входа в систему. Чтобы использовать эту возможность, вам надо использовать синтаксис local@<console> в файле `Xservers` (см. комментарии в этом файле).

- Кнопка Выключить...(может отсутствовать) отображает диалоговое окно выключения компьютера.

Диалоговое окно Выключить предоставляет набор переключателей, позволяющих выбрать одну из следующих опций:

Выключить

  Выключить систему.

Перезапустить

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

Перезапустить Х-сервер

  Остановить и снова запустить Х-сервер. Обычно вам следует использовать эту опцию, если вы перед этим изменили конфигурацию Х11.

Режим консоли

  Останавливает Х-сервер и переводит систему в текстовый режим. Это достигается переводом системы на уровень 3. Обычно эту опцию следует использовать системным администраторам перед обновлением или перенастройкой Х11.

По нажатию кнопки Готово система выполняет выбранное действие, по нажатию кнопки Отмена вы возвращаетесь в основное диалоговое окно &kdm;.

## Настройка &kdm;

В этой главе предполагается, что &kdm; в вашей системе уже установлен, и вы просто хотите более полно настроить его.

При запуске &kdm; считывает настройки из каталога `$KDEDIR/share/config/kdm/` (возможно, в вашей системе это `/etc/kde3/kdm/` или `/etc/X11/kde3/kdm/` или какой-либо ещё).

Основной конфигурационный файл - &kdmrc;, он содержит ссылки на остальные файлы, которые могут находиться где угодно в системе, причём обычно это не вызывает проблем. Единственное исключение - ссылки на конфигурационные файлы уже установленного &xdm;. При установке &kdm; использует их, если находит уже установленный &xdm;.

&kdm; запускается перед входом в систему любого пользователя, он не связан с каким-либо одним пользователем. Поэтому невозможно иметь отдельные конфигурационные файлы для каждого пользователя, для всех используется один общий файл &kdmrc;. Конфигурация &kdm; может быть изменена только пользователями, имеющими права записи в файл`$`KDEDIR`/share/config/kdm/kdmrc` (обычно это системные администраторы, входящие в систему под именем root).

Вы можете просматривать файл &kdmrc;, использующийся в вашей системе, и настраивать &kdm;, редактируя этот файл. Также вы можете использовать графическую программу настройки, входящий в Центр управления KDE (выберите Системное администрирование Менеджер входа в систему), описанный в файлах помощи &kcontrol;.

Остаток этой главы посвящён настройке &kdm; через модуль &kcontrol;. В следующей главе описаны опции, доступные в файле &kdmrc;. Если вам необходимо настроить вход в локальный компьютер, вам достаточно модуля &kcontrol;. Если необходимо настроить удалённый вход в систему или запуск нескольких сеансов &kdm;, продолжайте чтение.

&Thomas.Tanghus; &Thomas.Tanghus.mail;
&Steffen.Hansen; &Steffen.Hansen.mail;
&Mike.McBride; &Mike.McBride.mail;
Иван Кашуков

    dolphin210@yandex.ru

Перевод на русский

### Модуль Менеджер входа в систему Центра управления KDE

В этом модуле вы можете настроить различные параметры &kdm;, менеджера входа в систему &kde;, а именно: его внешний вид, список пользователей, которым разрешается входить в систему, и пользователей, которым разрешается выключать компьютер.

Все настройки сохраняются в файле &kdmrc;, который изначально содержит много комментариев. Они помогут вам настроить &kdm;. При использовании модуля &kcontrol; комментарии из файла будут стёрты. Все доступные опции &kdmrc; описаны в .

Все опции, перечисленные в этой главе, связаны с соответствующими опциями в &kdmrc;. Все настройки, доступные в Центре управления, напрямую доступны в &kdmrc;, но не наоборот.

Этот модуль делится на несколько разделов: Внешний вид, Шрифт, Фон, Выключение Пользователи и Удобства.

Вы можете переключаться между разделами, используя закладки вверху окна.

Если вы запустили Центр управления KDE от имени обычного пользователя, нажмите кнопку Режим администратора. Система запросит у вас root-пароль.

#### Внешний вид

Здесь вы можете настроить внешний вид &kdm;, графического менеджера входа в систему из пакета &kde;.

Строка приглашения - это заголовок окна входа в систему. Использование этой настройки особенно удобно, если пользователи могут входить в несколько систем. Вы можете употреблять различные метки-заполнители (комбинации символов, которые программа заменит некоторым значением). Они описаны в файле &kdmrc;, в комментариях к опции `GreetString`.

При входе пользователя система может отображать в окне входа текущее время, логотип либо не отображать ничего. Сделайте выбор с помощью переключателей Область расположения логотипа. Это соответствует параметру `LogoArea` в &kdmrc;.

Если вы выбрали Показать логотип, вы можете указать изображение:

- Перетащите файл рисунка на кнопку рисунка.

- Нажмите на кнопку и выберите изображение с помощью диалогового окна.

По умолчанию выводится изображение `$`KDEDIR`/share/apps/kdm/pics/kdelogo.xpm`.

По умолчанию окно входа в систему расположено в центре экрана. Если вы выберете Указать, то сможете задать позицию левого верхнего угла окна входа в систему относительно левого верхнего угла экрана в полях X и Y соответственно. Эти настройки соответствуют параметрам `GreeterPosFixed`, `GreeterPosX` и `GreeterPosY` в &kdmrc;.

Стиль &kdm; можно настроить через опции Стиль GUI и Цветовая система:. Они соответствуют параметрам `GUI Style` и `ColorScheme` в &kdmrc; соответственно.

С помощью списка выбора внизу вы можете указать язык для строки приглашения, что соответствует параметру `Language` в &kdmrc;.

#### Шрифт

Здесь вы можете выбрать шрифты, которые будут использоваться в окне входа в систему. Для этого могут быть использованы только общедоступные шрифты.

Вы можете выбрать, какой вид шрифта следует заменить: Приглашение, Ошибка или Текст. Когда вы нажмёте на кнопку Изменить шрифт..., появится диалоговое окно, в котором вы сможете задать новый шрифт.

- Шрифт типа Текстиспользуется во всех случаях, кроме указанных ниже.

- Шрифт ошибки используется, если вход в систему завершился неудачно.

- Шрифт приглашения используется в заголовке окна (строка приглашения).

Установите флажок Использовать сглаживание шрифтов, если вы хотите, чтобы шрифты окна входа в систему имели более плавные очертания.

#### Фон

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

На вкладке Фон вы можете настроить цвета фона и указать используемый эффект. На вкладке Обои можно выбрать рисунок фона и его расположение.

Чтобы изменить цвета фона по умолчанию, нажмите любую из кнопок цвета и выберите новый цвет.

В списке выбора над этими кнопками вы можете выбрать используемый эффект. Результат отображается на мониторе вверху окна. Доступны следующие эффекты:

Однотонный

  В этом режиме цвет, выбранный с помощью кнопки Цвет 1, займёт весь фон.

Узор

  Чтобы использовать этот режим, вам надо выбрать два цвета (используя кнопки Цвет 1 и Цвет 2).

  Чтобы выбрать узор, нажмите на кнопку Настройки. Выберите узор в диалоговом окне и нажмите Применить. &kde; установит выбранный узор, раскрашенный цветами, которые вы выбрали. Чтобы добавить другие узоры, см. Фон: установка, удаление и изменение узоров.

Фоновая программа

  Если вы выберете этот пункт, &kde; будет использовать внешнюю программу для создания фона. Это может быть любая программа на ваш выбор. Для получения информации по этой опции см. Фон: Использование внешней программы.

Горизонтальный градиент

  В этом режиме вы выбираете два цвета, используя обе кнопки цвета. &kde; создаст фон, используя плавный переход между цветами, которые заданы опциями Цвет 1 (выводится у левого края экрана) и Цвет 2 (у правого края).

Вертикальный градиент

  В этом режиме вы выбираете два цвета, используя обе кнопки цвета. &kde; создаст фон, используя плавный переход между цветами, которые заданы опциями Цвет 1 (у верхнего края экрана) и Цвет 2 (у нижнего края).

Пирамидальный градиент

  При этом режиме вы выбираете два цвета, используя обе кнопки цвета.&kde; создаст фон, используя используя плавный между цветами, которые заданы опциями Цвет 1 (по углам экрана) и Цвет 2 (в центре).

Крестообразный градиент

  При этом режиме вы выбираете два цвета, используя обе кнопки цвета.&kde; создаст фон, используя плавный переход между цветами, которые заданы опциями Цвет 1 (в каждом углу экрана) и Цвет 2 (в центре). Итоговая фигура будет отличаться от пирамиды.

Эллиптический градиент

  При этом режиме вы выбираете два цвета, используя обе кнопки цвета. &kde; создаст фон, используя используя плавный между цветами, которые заданы опциями Цвет 1 (в центре экрана) и Цвет 2 (по типу овала).

Кнопка настройки понадобится, если вы выбрали опцию Фоновая программа или Маска. При нажатии на кнопку появится окно настройки.

Обои

Чтобы выбрать фоновый рисунок, перейдите на закладку Обои. Там вы сможете выбрать картинку с помощью списка выбора Обои или через диалоговое окно Обзор...

Шесть способов отображения обоев:

Без обоев

  Отображаются только фоновые цвета.

В центре

  Рисунок будет отображаться по центру экрана. Фоновые цвета займут всё свободное место.

Черепицей

  Копии рисунка заполнят весь рабочий стол. Первый рисунок будет расположен в верхнем левом углу экрана.

Черепицей от центра

  Копии рисунка заполнят весь рабочий стол. Первый рисунок будет расположен в центре экрана.

По центру с масштабированием

  Рисунок будет помещён в центр экрана и увеличен под размер рабочего стола. Пропорции рисунка не изменятся, поэтому он не будет искажён.

На весь рабочий стол

  Рисунок будет растянут по всей площади рабочего стола.

#### Выключение

Разрешить выключать компьютер

Используйте этот список, чтобы выбрать пользователей, которым разрешено выключать компьютер.

- Никому: никто не сможет выключить компьютер с помощью &kdm;, для этого необходимо будет войти в систему.

- Каждому: любой пользователь может выключить компьютер с помощью &kdm;.

- Только root: перед выключением компьютера &kdm; запросит пароль root.

Вы можете отдельно настроить, каким пользователям разрешено выключать компьютер с консоли и используя удалённый доступ.

Команды

Используйте эти поля, чтобы задать команды выключения.

По умолчанию для выключения системы используется команда `/sbin/halt`, для перезагрузки -- `/sbin/reboot`.

Если переключатель Показать опции загрузки включён, &kdm; при перезагрузке предоставит опции Lilo. Вам необходимо будет указать каталог программы `lilo` и каталог map-файла lilo. Замечание: эта опция доступна не для всех операционных систем.

#### Пользователи

Здесь вы можете выбрать способ представления пользователей в окне входа в систему.

Вы можете полностью отключить список пользователей в &kdm; с помощью переключателя Показывать пользователей. Возможные варианты:

Показать список

  Показывать только выбранных пользователей.

  Не показывать пользователей. Это наиболее безопасный выбор, так как взломщику необходимо будет подбирать как имя пользователя, так и пароль. Этот выбор также предпочтителен, если в системе довольно много пользователей.

Обратить выделение

  Вам необходимо будет создать список пользователей, которые не будут отображаться, все остальные пользователи будут видны.

Пользователей можно сортировать как по имени, так и по системным UID, т. е. задать диапазон UID пользователей, которые будут отображаться в списке. По умолчанию пользователи с ID меньше 1000 (обычно системные пользователи или демоны) и больше 6500 в окне входа в систему не отображаются.

Вы можете включить опцию Сортировать пользователей, чтобы сортировать пользователей в списке по алфавиту. Если опция отключена, пользователи будут выведены в порядке, в котором они перечислены в файле паролей. &kdm; будет также дополнять имя пользователя при вводе, если включить Автодополнение

Если ваш выбор - показывать пользователей, в окне входа в систему будет выведен список пользователей с выбранными рисунками. Перед входом пользователь выбирает имя/рисунок и вводит пароль.

Если вы используете изображения, связанные с пользователями, вы можете настроить эти изображения.

Здесь вы можете указать источник изображений пользователей для KDM. "Административный" означает системный каталог, эти изображения можно видеть ниже. "Пользовательский" означает, что KDM будет использовать файл $HOME/.face.icon. Два параметра в середине позволяют определить порядок предпочтения, если доступны оба источника.

Если вы решите не показывать пиктограммы пользователей, окно входа в систему будет выглядеть более традиционно. Чтобы войти в систему, пользователям необходимо будет ввести имя и пароль. Этот выбор предпочтителен, если на вашем компьютере много пользователей.

#### Удобства

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

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

##### Автоматический вход в систему

Автоматический вход в систему позволяет входить в систему без пароля. Его можно установить переключателем Разрешить автоматический вход в систему.

Вы можете выбрать учётную запись, используемую для автоматического входа в систему, из списка Пользователь:.

##### Вход без пароля

Вы можете позволить пользователям входить в систему без указания пароля (флажок Разрешить вход без пароля).

Под этим переключателем находится список пользователей системы. Чтобы включить беспарольный вход для отдельных пользователей, установите флажок рядом с их именами. По умолчанию эта опция отключена для всех пользователей.

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

Вы также можете задать, какой пользователь будет выбран при запуске &kdm;. По умолчанию указан пункт Никого, но вы можете выбрать Предыдущий, чтобы &kdm; было выведено имя последнего пользователя, входившего в систему, также вы можете указать конкретного пользователя, который всегда будет выбран в списке. &kdm; может устанавливать фокус в поле ввода пароля, так что когда перед вами будет окно входа в систему &kdm;, вы сразу сможете вводить пароль.

Автоматический вход в систему после сбоя Х-сервера позволит вам войти в систему, пропустив процедуру регистрации, после сбоя Х-сервера.

&kdmrc-ref;

## Настройка системы для использования &kdm;

В этой главе подразумевается, что в вашей системе уже установлена система X Window и вам нужно только настроить графический вход в систему.

### Установка &kdm;

Уровень запуска по умолчанию определяет, загружается ваш компьютер в режиме терминала (текстовой консоли) или в графическом режиме входа в систему. Уровень запуска устанавливается программой /sbin/init и задаётся в конфигурационном файле `/etc/inittab`. В разных системах &UNIX; (и различных дистрибутивах &Linux;) эти параметры различаются, но начало файла `/etc/inittab` выглядит приблизительно так:

    # Default runlevel. The runlevels used by RHS are:
    # 0 - halt (Do NOT set initdefault to this)
    # 1 - Single user mode
    # 2 - Multiuser, without NFS
    # 3 - Full multiuser mode
    # 4 - unused
    # 5 - X11
    # 6 - reboot (Do NOT set initdefault to this)

    id:3:initdefault:

Все строчки этого отрывка, кроме последней, являются комментариями. Комментарии показывают, что уровень 5 используется для работы в X11, а уровень 3 - для работы в многопользовательском режиме без X11 (режим консоли). Последняя строка устанавливает уровень запуска по умолчанию равным 3. Если в вашей системе используется графический вход в систему (например, с использованием &xdm;), уровень запуска по умолчанию равен уровню, заданному для X11.

Уровень запуска с графическим входом в систему (&xdm;) в наиболее распространённых дистрибутивов &Linux; принимает значения:

- 5 для &RedHat; 3.х и более поздних и для &Mandrake;

- 4 для Slackware

- 3 для &SuSE; 4.х и 5.х

Первое, что необходимо сделать при настройке системы - убедиться, что вы можете запустить &kdm; из командной строки. Если это работает, вы сможете так настроить систему, чтобы &kdm; автоматически запускался при перезагрузке.

Чтобы проверить &kdm;, вам надо перевести систему на уровень, при котором &xdm; не запускается автоматически. Для этого введите команду:

    /sbin/init 3

Вместо числа `3` введите номер уровня, соответствующего режиму консоли (если это не 3).

Если в вашей системе используются подключаемые модули аутентификации (PAM), что довольно часто встречается в современных системах &Linux; и Solaris, вам необходимо проверить, допускает ли конфигурация PAM вход в систему через `xdm`. Если ранее вы успешно входили через &xdm;, вам не надо вносить изменений в конфигурационные файлы PAM, чтобы использовать &kdm;: `/etc/pam.conf` или `/etc/pam.d/xdm`. Информация по настройке PAM не входит в это руководство, но PAM распространяется с исчерпывающей документацией (см., например, `/usr/share/doc/pam*/html`).

Теперь, чтобы проверить работоспособность &kdm;, введите следующую команду:

    kdm -nodaemon

Если в результате выводится диалог входа в систему &kdm; и вы можете войти, всё отлично. Сбой обычно происходит, если программе не удаётся найти или подключить разделяемые библиотеки &Qt; или &kde;. Если у вас установлен двоичный дистрибутив библиотек &kde;, убедитесь, что библиотеки могут обнаружить &kdm;; попытайтесь настроить соответствующие переменные окружения так,чтобы они указывали на библиотеки &kde; и &Qt;.

Например:

    export
    KDEDIR=/opt/kde
    export
    QTDIR=/usr/lib/qt2
    export
    PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
    export
    LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib

Если все попытки безуспешны, попытайтесь запустить &xdm;, чтобы убедиться, что вы не столкнулись с более серьёзной проблемой конфигурации Х.

Если &kdm; успешно запускается, вы можете заменить &xdm; на &kdm;. Напомним, что шаги, которые необходимо проделать, зависят от дистрибутива.

- &RedHat;: откройте файл `/etc/inittab` и замените в нём xdm на &kdm; (включая все пути к файлам).

      x:5:respawn:/usr/X11/bin/xdm -nodaemon

  и замените на:

      x:5:respawn:/opt/kde/bin/kdm

  Что заставить `init`(8) запустить &kdm; когда система перейдёт на уровень 5. Замечание: &kdm; не нуждается в данном случае в опции `-nodaemon`.

- &Mandrake;: уровень запуска X11 в `/etc/inittab` вызывает сценарий оболочки `/etc/X11/prefdm`, который предоставляет возможность выбора из нескольких оконных менеджеров, в том числе &kdm;. Убедитесь, что пути к файлам указаны верно.

- &SuSE;: добавьте в начало файла `/sbin/init.d/xdm` строки:

      . /etc/rc.config
      DISPLAYMANAGER=kdm
      export DISPLAYMANAGER

- Для FreeBSD, отредактируйте `/etc/ttys` и найдите строку наподобие этой:

      ttyv8   "/usr/local/bin/kdm -nodaemon"  xterm   off secure

  и замените её на:

      ttyv8   "/usr/local/bin/kdm -nodaemon"  xterm   on secure

- Для большинства остальных дистрибутивов подходит один из вышеприведённых вариантов.

На этой стадии вы можете проверить работу &kdm;. Для этого переведите систему на уровень запуска, при котором автоматически запускается &kdm;. Выполните команду:

    /sbin/init 5

Вместо числа `5` введите номер уровня, на котором происходит запуск Х11 (если это не 5).

Наконец, в файле `/etc/inittab` укажите значение опции initdefault, равное уровню, на котором происходит запуск X11.

Перед внесением изменений убедитесь, что при возникновении проблем вы сможете запустить систему заново. Вам необходим загрузочный диск, поставляемый вместе с операционной системой, или специальный загрузочный диск, такой как `tomsrtbt`. Пренебрегая этим советом, вы подвергаете опасности систему.

Это чаще всего касается изменений следующей строки:

    id:3:initdefault:

на

    id:5:initdefault:

При перезагрузке системы вы увидите графический диалог входа в систему &kdm;.

Наиболее вероятная причина сбоя на этом этапе состоит в том, что оболочка, используемая после перезагрузки, отличается от той, которую вы тестировали из командной строки. Если вы пытаетесь совместно использовать две версии KDE, убедитесь для каждой из них, что переменные окружения `PATH` и `LD_LIBRARY_PATH` согласуются, и что скрипты запуска системы не перезаписывают их каким-либо образом.

## Поддержка нескольких оконных менеджеров

&kdm; способен находить некоторые оконные менеджеры и окружения рабочего стола. При установке нового менеджера или окружения в диалоговое окно Тип сеанса будет автоматически добавлен соответствующий пункт.

Если вы установили менеджер, который &kdm; не поддерживает, вам нужно проверить, находится ли соответствующее приложение в одном из каталогов, перечисленных в переменной `PATH`, и что во время установки файл не был переименован.

Если это не помогло, добавьте новый тип сеанса вручную.

Типы сеансов определены в файлах .desktop из `$`KDEDIR`/share/apps/kdm/sessions`. Вы можете создать в этом каталоге файл `.desktop` с подходящим именем. Пример файла:

    [Desktop Entry]
    Encoding=UTF-8  UTF-8 применяется всегда,
    опцию можно опустить
    Type=XSession XSession применяется всегда,
    опцию можно опустить
    Exec=имя_приложения Передаётся
    команде evalоболочки Bourne'а
    TryExec=executable name Поддерживается, но не
    является необходимым
    Name=имя_в_списке_сеансов

Есть три очень важных типа сеансов:

По умолчанию

  По умолчанию -- тип сеанса &kdm; -- это &kde;, но администратор может это изменить.

Другой

  "Другой" -- тот который запускается при через ~/.xsession пользователя, если этот файл существует.

Безопасный

  Безопасный - очень простой тип сеанса, и используется только для целей отладки.

Чтобы добавить тип сеанса, скопируйте файл .desktop в каталог файлов настроек и отредактируйте его. Вместо того, чтобы удалять ненужный файл, вы можете скрыть его в списке, установив параметр Hidden=true. Для неизменяемых (перечисленных выше) типов сеансов файлов .desktop не существует, поэтому вы не можете изменить их таким способом. Теперь вы знаете, как добавлять новый тип сеанса.

## Использование &kdm; для удалённого входа в систему (через &XDMCP;)

&XDMCP; - это стандарт Open Group, X Display Manager Control Protocol (протокол удалённого управления менеджером рабочего стола Х). Он используется для установки сетевых соединений между различными системами.

&XDMCP; будет полезен в системах, где есть несколько пользователей, которые используют обычные рабочие станции, и есть мощный сервер, который может предоставить системные ресурсы для нескольких сеансов X. Таким образом, &XDMCP; позволяет пустить в дело старые компьютеры. Pentium или даже 486 с 16 Mb RAM достаточен для запуска X, а через XDMCP такой компьютер может запустить полноценный сеанс &kde;, используя ресурсы удалённого сервера. На сервере запуск дополнительных сеансов &kde; потребует совсем немного ресурсов.

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

## Дополнительные разделы

### Сокеты команд

Это расширение позволяет получить удалённый доступ к &kdm;. Эта возможность в первую очередь предназначена для использования &ksmserver; и &kdesktop; из запущенной сессии, но также может быть использована и другими приложениями.

Сокеты -- обычные &UNIX; сокеты, которые находяться в подкаталогах каталога определённого опцией `FifoDir`=.... Все сокеты названы `socket`, и права доступа к подкаталогам, в которых они находятся: `rw-rw-rw-`(0666). Это сделано потому, что некоторые операционные системы игнорируют права доступа к файлам сокетов.

Существует два типа сокетов: один глобальный (dmctl), и по одному на каждый дисплей (dmctl-<display>).

Владелец подкаталога глобальнокго сокета -- суперпользователь (root), а подкаталогов сокетов дисплеев -- пользователь запустивший текущую сессию (суперпользователь или другой вошедший в систему пользователь). Группа владельца может быть установлена опцией `FifoGroup`=, иначе -- группа суперпользователя(root). Права доступа подкаталогов -- rwxr-x--- (0750).

Поля команды отделены знаками табуляции (\t), поля списков -- пробелами, поля выделенные символами -- знаками \s.

Комманды оканчиваются переводом строки (\n).

Тоже самое относится и к возвращаемым значениям. Так ответ при успешном завершении -- ok, возможно перед нм будет запрашиваемая информация. Если при выполнении возникла ошибка -- ответ будет в стиле eerno (⪚ perm, noent, &etc;), предваряемый более подробным пояснением.

Глобальные комманды

`login` `дисплей`(now | schedule) пользователь пароль [аргументы сессии]

  Позволяет войти пользователю в систему с определённого дисплея. Если указан параметр now, все ранее запущенные и ещё активные сессии закрываются. Аргументы сессии -- строка в стиле printf, для заполнения файла .dmrc. Для НЕ перечисленных значений -- используются значения по умолчанию.

Команды для дисплея

`lock`

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

`unlock`

  Имеет обратное значение по отношению к команде `lock`, и снова становиться возможным автоматически заходить в систему.

`suicide`

  Текущая сессия принудительно закрывается. Автоматический вход в систему запрещён, но отложенная команда "login" разрешена.

Команды для всех сокетов

`caps`

  Возвращает все возможности сокета:

  kdm

    идентифицирует kdm, некоторые другие менеджеры дисплеев таже поддерживают этот протокол

  list, lock, suicide, login

    Соответствующий список поддерживаемых команд

  bootoptions

    Поддерживаются: команда `listbootoptions` и опция `=` к команде `shutdown`

  shutdown <список>

    Команда `shutdown`(выключить) разрешена и доступна для следующих пользователей (пользователи перечисленны в списке). * -- означает все зарегистрированные пользователи.

  nuke <список>

    Ускоренное выключение доступно следующим пользователям перечисленным в списке.

  nuke

    Ускоренное выключение доступно всем

  reserve <число>

    Зарезервированные дисплеи сконфигурированы, и некоторое их число уже доступно.

  `list` [all | alllocal]

    Возвращает список открытых сессий. По умолчанию возвращаются все активные сессии. Если определён параметр all также перечисляются и пассивные сессии. Если определён параметр alllocal, все пассивные сессии перечисляются, но исходящии удалённые сессии неуказываются.

    Каждая запись соответствующая сессии представляет разделённый запятой набор:

    - Дисплей или (tty)имя консоли

    - имя локальной консоли (vt) или имя локальной сессии

    - Имя зашедшего пользователя, это поле пусто для пустых или пассивных сессий и для исходящих удалённых сессий.

    - Тип сессии или <remote> для исходящий удалённых сессий, пусто для пассивных сессий.

    - Поле флагов:

      - `*` для дисплеев принадлежащих опрашиваемому сокету.

      - `!` для сессий которые не могут быть закрыты через опрашиваемый сокет.

    Новые поля могут быть добавлены в будущем.

  `reserve` [задержка в секундах]

    Запустить резервный экран входа в систему. Если никто не зарегистрировался и не вошёл в систему через определённое время (задержка в секундах -- по умолчанию одна минута) то дисплей снова уничтожается. Когда сессия на этом дисплее закрывается, то дисплей также уничтожается.

    Разрешено только для сокетов локальных дисплеев и для глобальных сокетов.

  `activate` (vt|display)

    Переключиться на определённый виртуальный терминал (VT). Виртуальный терминал может быть определён непосредственно (⪚ vt3) или с помощью использующего его дисплея (⪚:2).

    Разрешено только для сокетов локальных дисплеев и для глобальных сокетов.

  `listbootoptions`

    Список доступных загрузочных опций.

  `shutdown` (reboot | halt) [=bootchoice] (ask|trynow|forcenow|schedule|start (-1|end (force|forcemy|cancel))))

    Послать запрос на выключение системы, или перезагрузку или на останов/выключение питания.

    Операционная система загружаемая после перезагрузки может быть определена из списка возвращаемого командой `listbootoptions`

    Запросы на выключение с сокетов соответствующих отдельным дисплеям выполняются, когд текущие сессии на них закрываются. После запроса может появиться диалоговое окно спрашивающее подтверждение и/или аутентификацию.

    start -- время, когда выключение будет произведено. Если перед числом будет знак плюс, то добавляется текущее время. Ноль -- выключить немедленно.

    end -- время через которое выключение будет произведено, несмотря на то, что некоторые сессии ещё не закрыты. Если перед числом будет знак плюс, то добавляется текущее время. -1 -- означает бесконечность. Если время истекло и сессии не закрыты, то &kdm; выполнит одно из следующих действий:

    - cancel -- отменить выключение

    - force -- выключить несмотря ни на что

    - forcemy -- выключить активные сессии после предупреждения пользователей. Только для сокетов запущеных для каждого дисплея.

    start и end задаются в секундах с начала &UNIX; эпохи.

    trynow синоним для 0 0 cancel, forcenow синоним для 0 0 force и schedule синоним для 0 -1.

    ask -- если этот параметр указан, то делается немедленная попытка выключить дисплей, и если сессия активна, производиться соответствующий запрос пользователю.

  `shutdown cancel` [local|global}

    Отменяет отложенное выключение. Глобальные сокеты отменяют только что полученный (ожидающий) запрос на выключение, тогда как сокеты дисплеев отменяют первый запрос в очереди (буферизованный).

  `shutdown status`

    Выводит список с информацией о запросах выключения.

    Каждая строка -- набор разделённых запятой полей:

    - (global|local) -- отложенный (ожидающий), или буферизованный запрос. local может быть возвращён только сокетом дисплея.

    - (halt|reboot)

    - Запустить

    - end

    - ("ask"|"force"|"forcemy"|"cancel")

    - Идентификационный номер пользователя (UID), или -1 для глобального сокета.

    - ОС которая будет загружена после выклюения, или "-"

    Новые поля могут быть добавлены позже

Существует два способа использовать сокеты:

- Подключиться к нему напрямую. Переменная окружения FifoDir длжна быть экспортирована с именем $`DM_CONTROL`; имя дисплейного сокета определяется как $`DISPLAY`.

- С помощью команды `kdmctl` (например в сценарии командной строки). Наберите `kdmctl` `-h` чтобы узнать остальные опции.

Далее пример bash сценария перезагрузиться в ОС FreeBSD:

    if kdmctl | grep -q shutdown; then
      IFS=$'\t'
      set -- `kdmctl listbootoptions`
      if [ "$1" = ok ]; then
            fbsd=$(echo "$2" | tr ' ' '\n' | sed -ne 's,\\s, ,g;/freebsd/I{p;q}')
            if [ -n "$fbsd" ]; then
          kdmctl shutdown reboot "=$fbsd" ask > /dev/null
            else
              echo "Загрузка FreeBSD невозможна."
            fi
      else
        echo "Недопустимая загрузочная опция."
      fi
    else
      echo "Невозможно перезагрузить систему."
    fi

## Дополнительные источники информации

Так как &kdm; происходит от &xdm;, возможно, будет полезным руководство xdm. По проблемам, связанным с Х-сервером, см. руководства X и startx. Если у вас есть вопросы по &kdm;, ответов на которые нет в этом руководстве, помните, что &kdm; распространяется в соответствии с лицензией GNU Public License. Вы всегда можете взглянуть на исходный код.

## Благодарности и лицензирование

&kdm; происходит от (и включает код) &xdm; (C) Keith Packard, MIT X Consortium.

Автор &kdm; 0.1 - Matthias Ettrich. Автор программы, которая входит в &kde; версий 2.0.х - Steffen Hansen. Некоторые новые свойства &kdm; из &kde; 2.1.x и фундаментальные изменения для версии из &kde; 2.2.х внесены Oswald Buddenhagen.

Права на остальные части кода &kdm; принадлежат их авторам и лицензируются в соответствии с условиями GNU GPL. Вы можете свободно изменять и распространять &kdm;, при условии, что имена авторов будут упомянуты.

Для &kdm; необходима библиотека Qt. Авторские права принадлежат Troll Tech AS.

Документация подготовлена:

- Steffen Hansen stefh@dit.ou.dk - автор

- Gregor Zumstein zumstein@ssd.ethz.ch - дополнение документации. Последнее изменение внесено 9 августа 1998 г.

- Neal Crook nac@forth.org - дополнения для KDE 2. Последнее изменение внесено 6 августа 2000 г.

- Oswald Buddenhagen ossi@kde.org - дополнение и редактирование документации для KDE 2.2. Последнее изменение внесено в августе 2001 г.

Авторские права на документацию принадлежат Steffen Hansen, Gregor Zumstein, Neal Crook and Oswald Buddenhagen. Этот документ также включает большие части страниц man для &xdm; - (C) Keith Packard.

&underFDL; &underGPL;

## Словарь

приглашение

  Приглашение - диалоговое окно входа в систему, т.е. часть &kdm;, с которой непосредственно работает пользователь.

энтропия

  Энтропия системы - мера её "непредсказуемости" (или информативности). Это понятие используется в алгоритмах генерации псевдослучайных чисел.