# Підручник з &kdm;

&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
Юрій
Чорноіван

    yurchor@ukr.net

Переклад українською
2000
&Neal.Crook;
2002
2007
&Oswald.Buddenhagen;
2003
&Lauri.Watts;
&FDLNotice;
2007-12-07
0.06.00

У цьому документі описано &kdm;, засіб для керування дисплеями у &kde;. &kdm; також відомий як Менеджер входу до системи.

KDE
kdm
xdm
засіб керування дисплеєм
засіб керування стільницею
засіб керування входом до системи

## Вступ

У &kdm; вбудовано графічний інтерфейс, який надає вам змогу входити до системи. За допомогою цього інтерфейсу ви можете вказати назву облікового запису (login або ім’я користувача) і пароль. &kdm; виконує розпізнавання користувача і запускає сеанс. &kdm; за багатьма параметрами переважає &xdm;, X Display Manager.

## Довідник початкового рівня

Це довідник початкового рівня для користувачів, система яких задовольняє таким вимогам:

- X налаштовано, а команда `startx` виконується з командного рядка без помилок.

- Кожен з користувачів типово використовує лише один менеджер вікон або стільничне середовище, і не змінює свій вибір дуже часто або під час зміни просто хоче змінити один текстовий файл, у якому фіксуватиметься його вибір.

Цього алгоритму буде достатньо для більшості середовищ, де один користувач або декілька користувачів у звичайному режимі завантажують комп’ютер і входять до свого улюбленого стільничного середовища.

### Як встановити типовий сеанс

1. Створіть або відкрийте файл з назвою `~/.xinitrc`

   Якщо у вас вже є файл `~/.xinitrc`, який працює, перейдіть до наступного кроку

2. Якщо такого рядка це не існує, додайте рядок до файла `~/.xinitrc`, який запускатиме ваш улюблений засіб для керування вікнами або стільничне середовище.

   Щоб це був &kde;, вам слід ввести:

       startkde

   Щоб дізнатися правильну команду для інших засобів для керування вікнами або стільничних середовищ, перегляньте документацію.

3. Створіть символічне посилання такою командою:

       ln -s ~/.xinitrc ~/.xsession

Після виконання всіх попередніх дій команда ``startx``, віддана з командного рядка, має запустити X з сеансом &kde;. Наступним нашим завданням буде спробувати у дії &kdm;.

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

Ви маєте побачити вікно входу до системи, докладніший опис якого можна знайти у розділі .

Введення вашого звичайного імені користувача і пароля у відповідні поля разом з вибором сеансу `Типовий` повинні відкрити сеанс &kde; для вашого користувача.

Якщо вам потрібно налаштувати все і для інших користувачів, вам слід повторити описану вище процедуру для кожного з них.

Ці початкові настанови стосувалися лише встановлення і запуску. Можливо, вам захочеться налаштувати &kdm;, наприклад, сховати назви облікових записів системи, дозволити подальші сеанси тощо. Будь ласка, уважно прочитайте решту цього підручника, щоб дізнатися як налаштувати всі потрібні функції.

## Вікно входу до системи

Інтерфейс користувача &kdm; складається з діалогових вікон. У головному діалоговому вікні містяться:

- Віджети, що надають вам змогу автентифікуватися. Якщо обрано "класичний" метод автентифікації, ними будуть:

  - Поле Користувач:, у яке ви маєте ввести ім’я вашого користувача.

  - Поле Пароль:, в яке ви маєте ввести ваш пароль.

- (Необов’язково) список, пунктами якого є імена з графічними зображеннями (наприклад, цифровими фотографіями) всіх користувачів. Натискання запису цього списку рівнозначне введенню імені користувача у поле Користувач:.

- (Необов’язково) область праворуч або над областю автентифікації, яку можна використати для показу статичного зображення або аналогового годинника.

- Кнопка Увійти, яка наказує програмі перевірити пару значень користувач-пароль і спробувати запустити сеанс обраного типу.

- Кнопка Меню, яка відкриває меню дій з такими пунктами:

  - (Необов’язково) елемент Тип сеансу, за допомогою якого можна вибрати тип сеансу (стільничне середовище, засіб для керування вікнами), який слід розпочати. Щоб дізнатися як налаштувати різні типи сеансів, прочитайте розділ .

  - (Необов’язково) елемент Метод автентифікації, який надає змогу перемикатися між різними методами автентифікації, на зразок класичного користувач+пароль, картки пам’яті, біометрії тощо. Насправді, розпізнавання проводитиметься за допомогою комбінації модулів PAM і відповідних модулів графічної оболонки (діалогових додатків). Див. .

  - (Необов’язково на локальних дисплеях) елемент Перемкнути користувача... для перемикання між локальними сеансами, запущеними на різних віртуальних терміналах цього комп’ютера.

  - (Необов’язково на локальних дисплеях) елемент Перезапустити сервер X, за допомогою якого можна завершити роботу поточного сервера X, запустити новий і знову показати діалогове вікно входу до системи. Цим елементом можна скористатися, якщо зображення на дисплеї з якоїсь причини спотворено.

  - (Необов’язково на віддалених дисплеях) елемент Закрити з'єднання, за допомогою якого можна закрити з’єднання з сервером &XDMCP;, до якого ви зараз приєднані. Якщо ви обрали цей сервер за допомогою засобу для вибору вузлів, ця дія поверне вас до засобу для вибору, у іншому випадку дія призведе до повернення сервера X до початкового стану і повторного відкриття діалогового вікна входу до системи.

  - (Необов’язково на локальних дисплеях) елемент Віддалений вхід, за допомогою якого можна відкрити діалогове вікно вибору вузлів, де буде показано список серверів &XDMCP;, на які можна входити віддалено.

  - (Необов’язково на локальних дисплеях) елемент Консольний режим, за допомогою якого можна припинити спробу входу до графічного режиму і залишитися у консолі. Див. і .

  - (Необов’язково) елемент Вимкнути..., за допомогою якого можна відкрити діалогове вікно Вимкнути.

У діалоговому вікні Вимкнути розташовано набір кнопок, за допомогою яких можна виконати такі дії:

Вимкнути комп'ютер

  Завершити роботу системи у контрольованому режимі, коли всі компоненти будуть готові до вимикання живлення.

Перезапустити комп'ютер

  Завершити роботу системи і перезавантажити її. У системах, де використано Lilo або Grub, буде показано додатковий спадний список, у якому ви зможете обрати операційну систему, яку буде використано для перезавантаження.

Спланувати...

  Якщо увімкнено цей параметр, ви можете скористатися ним, щоб отримати доступ до діалогового вікна вимикання з додатковими параметрами. Детальніше про це можна дізнатися з розділу .

Натискання кнопки Скасувати поверне вас до головного діалогового вікна &kdm;.

## Налаштування &kdm;

У цій главі ми припускаємо, що у вашій системі вже встановлено і запущено &kdm;, а ви просто хочете змінити у якийсь спосіб його поведінку.

Під час запуску &kdm; ця програма читає налаштування з теки `$`KDEDIR`/share/config/kdm/` (цією текою може бути тека `/etc/kde4/kdm/` або якась інша у вашій системі).

Головним файлом налаштувань є файл &kdmrc;; цей файл посилається на всі інші файли, які може бути розташовано у будь-яких інших місцях вашої системи — але зазвичай таке розкидання налаштувань не має сенсу з очевидних причин (виключенням є випадок, коли посилання робиться на файли налаштування вже встановленого &xdm; — але під час встановлення нового &kdm; програма імпортує параметри з файлів налаштувань вже встановленого &xdm;).

Оскільки &kdm; має бути запущено до входу до системи будь-якого з користувачів, програму не пов’язано з жодним певним користувачем. З цієї причини неможливе існування окремих файлів для кожного з користувачів — для всіх користувачів файл &kdmrc; однаковий. Звідси випливає, що налаштування &kdm; можуть змінювати лише користувачі, які мають доступ на запис до `$`KDEDIR`/share/config/kdm/kdmrc` (зазвичай, список таких користувачів обмежується адміністраторами системи, які увійшли від імені користувача root).

Ви можете переглядати файл &kdmrc;, що зараз використовується на вашій системі, і ви можете налаштовувати &kdm;, змінюючи цей файл. Крім того, ви можете скористатися графічним інструментом налаштування, який входить до складу Центра керування (сторінка Адміністрування системи Менеджер реєстрації).

Решту цієї глави присвячено опису налаштування &kdm; за допомогою модуля Центра керування, а у наступній главі описано параметри самого файла &kdmrc;. Якщо ви виконуєте налаштування лише для локальних користувачів, модуля Центра керування буде цілком достатньо, щоб задовольнити ваші потреби. Якщо ж вам потрібно налаштувати віддалений вхід до системи або запуск декількох сеансів &kdm;, вам все ж слід уважно прочитати наступну главу.

&Thomas.Tanghus; &Thomas.Tanghus.mail;
&Steffen.Hansen; &Steffen.Hansen.mail;
&Mike.McBride; &Mike.McBride.mail;

### Модуль засобу для входу до системи &kcontrolcenter;

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

Всі параметри, налаштовані за допомогою цього модуля, буде записано до файла налаштувань &kdmrc;, у початковій формі якого є багато коментарів, що допоможуть вам у налаштуванні &kdm;. Використання цього модуля &kcontrolcenter; вилучить ці коментарі з файла. Всі доступні параметри &kdmrc; описано у главі .

Параметри, список яких наведено у цій главі, тісно пов’язані з своїми еквівалентами у &kdmrc;. Всі параметри, доступ до яких можна отримати за допомогою модуля Центра керування, можна змінити і безпосередньо у &kdmrc;, але не навпаки.

З метою впорядкування цих параметрів, модуль поділено на декілька розділів: Вигляд, Шрифт, Тло, Вимикання, Користувачі і Зручність.

Перемикатися між розділами можна за допомогою вкладок, розташованих згори вікна.

Якщо ви не увійшли до системи від імені адміністративного користувача, вам слід натиснути кнопку Режим адміністратора.... Система запитає вас про пароль адміністратора. Введення правильного пароля надасть вам доступ до зміни параметрів у цьому модулі.

#### Вигляд

За допомогою цієї сторінки ви можете змінити зовнішній вигляд &kdm;, графічного засобу &kde; для входу до системи.

Привітання: — це заголовок вікна входу до системи. Встановлення привітання особливо корисне, якщо з вашим комп’ютером будуть з’єднуватися багато серверних користувачів. У привітанні можна використовувати різні заповнювачі, які, разом з відповідними ключами, описано у розділі `GreetString` глави, присвяченої &kdmrc;.

Ви можете вказати, що на панелі входу слід показувати поточний системний час, логотип або нічого особливого. Зробити свій вибір можна за допомогою перемикачів поряд з міткою Ділянка логотипа:. Цей вибір визначає значення параметра `LogoArea` у &kdmrc;

Якщо ви оберете варіант Показувати логотип, ви зможете обрати відповідне зображення у такий спосіб:

- Скинути файл зображення на кнопку зображення.

- Натиснути кнопку зображення і вибрати нове зображення з діалогового вікна вибору зображення.

Якщо ви не вкажете логотипа, буде показано типовий логотип, який визначається файлом `$`KDEDIR`/share/apps/kdm/pics/kdelogo.xpm`.

Зазвичай, панель входу розташовується на екрані по центру. Якщо ви бажаєте змінити це розташування, ви можете скористатися параметрами полів з міткою Позиція:. Ви можете вказати відносне розташування (у відсотках до розмірів екрана) центра вікна входу, відповідні значення відносно верхнього лівого кута екрана позначено мітками X: і Y: respectively. Ваш вибір визначає значення ключа `GreeterPos` у &kdmrc;.

Тоді як стиль &kde; залежить від параметрів, встановлених користувачем, що увійшов до системи, стиль, який використовує &kdm;, можна налаштувати за допомогою параметрів Стиль інтерфейсу: і Схема кольорів:. Встановлені вами значення відповідатимуть ключам `GUIStyle` і `ColorScheme` у &kdmrc;, відповідно.

Внизу розташовано спадний список вибору мови вашої панелі входу до системи, ваш вибір відповідає параметру `Language` у &kdmrc;.

#### Шрифт

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

За допомогою спадного списку ви можете вибрати один з трьох різних стилів шрифтів (Загальний:, Помилки:, Привітання:). Натискання кнопки Вибрати... відкриє діалогове вікно, у якому ви зможете вибрати нові характеристики стилю шрифту.

- Загальний шрифт використовуватиметься у всіх інших місцях вікна входу.

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

- Шрифт Привітання — це шрифт, який буде використано для заголовка (рядка привітання).

Ви також можете поставити позначку у полі Вживати шрифти зі згладжуванням, якщо бажаєте, щоб шрифти діалогового вікна входу було згладжено.

#### Тло

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

#### Вимкнути

Дозволити вимикати систему

Цим спадним списком можна скористатися для визначення тих користувачів, яким буде дозволено завершувати роботу системи:

- Нікому: завершувати роботу комп’ютера за допомогою &kdm; не зможе ніхто. Щоб завершити роботу, вам слід буде увійти до системи і виконати відповідну команду.

- Всім: завершувати роботу комп’ютера за допомогою &kdm; зможуть всі користувачі.

- Тільки адміністратору: перед завершенням роботи за допомогою &kdm; слід буде ввести пароль користувача root.

Ви можете окремо налаштувати список користувачів, яким буде дозволено виконувати команду завершення роботи, Локально: і Віддалено:.

Команди

Цими полями для введення тексту можна скористатися для точного визначення команд завершення роботи.

Типовим значенням команди Зупинити: є `/sbin/halt`. Типовим значенням команди Перевантажити: — `/sbin/reboot`.

Якщо у полі Показувати параметри завантаження поставлено позначку, під час перезавантаження &kdm; запропонує вам обрати параметри засобу керування завантаженням lilo. Щоб скористатися цією можливістю, вам слід правильно вказати шлях до вашої програми `lilo` і файла карти lilo. Зауважте, що цей параметр доступний не на всіх операційних системах.

#### Користувачі

На цій сторінці ви зможете змінити спосіб, у який користувачам буде показано вікно входу.

Повністю вимкнути список користувачів у &kdm; можна у розділі Користувачі. Ви можете обрати такі пункти:

Показувати список

  Показувати лише користувачів, яких ви оберете у списку поряд

  Якщо у цьому полі не буде позначки, списку користувачів показано не буде. Це значення параметра є найбезпечнішим, оскільки у такому випадку нападнику слід буде вгадати як назву облікового запису так і пароль. Цьому значенню слід також віддавати перевагу у випадку, коли ваш список користувачів є досить невеликим або навпаки величезним.

Зворотній вибір

  Надає вам змогу обрати список користувачів, облікові записи яких не буде показано: у списку будуть лише всі інші користувачі.

Окрім вибору користувачів за іменем, ви можете скористатися Системними UID, щоб вказати діапазон чинних UID, які буде показано у списку. Типово не буде показано користувачів з ідентифікаторами, меншими за 1000, якими часто є системні користувачі або користувачі фонових служб, і користувачів з ідентифікаторами, більшими за 65000.

Ви також можете позначити поле Упорядкувати користувачів, щоб список користувачів було впорядковано за абеткою. Якщо впорядкування буде вимкнено, список буде побудовано за порядком входження користувачів до файла паролів. Крім того, &kdm; буде автоматично доповнювати імена користувачів, якщо ви увімкнете параметр Автозаповнення.

Якщо ви увімкнете показ списку користувачів, у вікні входу буде показано зображення (які ви зможете обрати) для списку користувачів. Якщо хтось захоче увійти до системи, він (або вона) зможе вибрати свого користувача або зображення, ввести свій пароль і отримати доступ до системи.

Якщо ви увімкнете показ зображень користувачів, ви зможете налаштувати джерело таких зображень.

Тут ви можете налаштувати адміністративне зображення для всіх користувачів системи. Залежно від порядку, обраного вище, користувачі отримуватимуть змогу змінювати ваш вибір.

Якщо ви не захочете показувати список користувачів, вікно входу до системи набуде традиційнішого вигляду. Щоб увійти до системи, користувачам потрібно буде ввести своє ім’я користувача і пароль. Цьому способу слід надавати перевагу, якщо у цього комп’ютера багато користувачів.

#### Зручність

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

Будь ласка, сім разів все зважте перед використанням цих параметрів. Всі параметри з вкладки Зручність можуть завдати серйозного удару по безпеці вашої системи. З практичної точки зору, ці параметри слід використовувати лише у середовищах не критичних з точки зору безпеки, наприклад, для особистих комп’ютерах вдома.

##### Автоматичний вхід

Автоматичний вхід надасть будь-кому доступ до певного облікового запису вашої системи без проходження процедури розпізнавання. Ви можете увімкнути автоматичний вхід до системи за допомогою параметра Дозволити автоматичну реєстрацію.

За допомогою списку з міткою Користувач: ви зможете обрати обліковий запис, який буде використано для автоматичного входу до системи.

Автоматичний вхід можна скасувати натисканням клавіші Shift одразу після того, як сервер X перемкнеться у графічний режим з наступним відпусканням клавіші після появи курсора &kdm; у вигляді клепсидри.

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

За допомогою цієї можливості ви можете дозволити певним користувачам входити до системи без паролів. Увімкнути цей параметр можна за допомогою позначки у полі з міткою Дозволити реєстрацію без пароля.

Під полем з міткою розташовано список користувачів системи. Увімкнути вхід без пароля для окремих користувачів можна за допомогою позначки у полі навпроти назви відповідного облікового запису. Типово, цю можливість вимкнено для всіх користувачів.

Ще раз попереджаємо вас: цей параметр слід використовувати лише у безпечному середовищі. Якщо ви вмикаєте його на системі, доступ до якої досить просто можуть отримати сторонні особи, вам слід потурбуватися про те, щоб без пароля до системи могли входити лише користувачі зі значними обмеженнями у правах на користування системою, наприклад, користувач guest.

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

Параметр Автоматично реєструватися після краху сервера X надасть вам змогу оминати процедуру розпізнавання, якщо ваш сервер X несподівано завершив роботу у аварійному режимі.

&kdmrc-ref;

&theme-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:

Всі рядки у цьому уривку, окрім останнього, є коментарями. У коментарях сказано, що рівень запуску (runlevel) 5 використовується для X11, рівень запуску 3 використовується для режиму з декількома користувачами без X11 (консольного режиму). Останній рядок вказує на те, що типовим рівнем запуску у системі є 3 (консольний режим). Якщо ваша система використовує графічне вікно входу до системи (наприклад, за допомогою &xdm;), її типовим рівнем запуску буде рівень запуску, вказаний для X11.

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

- 5 у &RedHat; 3.x і пізніших версіях, та у &Mandrake;

- 4 у Slackware

- 3 у &SuSE;. 4.x і 5.x

Перш ніж починати налаштування вашої системи, слід переконатися, що ви можете запустити &kdm; з командного рядка. Якщо все працює нормально, ви можете змінити налаштування вашої системи так, щоб &kdm; запускався автоматично кожного разу, коли ви перезавантажуєте вашу систему.

Щоб перевірити &kdm;, вам спершу слід перевести вашу систему на рівень запуску, де не запущено &xdm;. Щоб зробити це, виконайте команду на зразок цієї:

    /sbin/init 3

Замість цифри `3` вам слід вказати відповідний рівень запуску (runlevel) консольного режиму у вашій системі.

Якщо ваша система використовує Змінні Модулі Розпізнавання (Pluggable Authentication Modules або PAM), що є звичним для сучасних систем &Linux; і &Solaris;, вам слід перевірити, чи дозволяють ваші налаштування PAM вхід до системи за допомогою служби з назвою `kde`. Якщо ви раніше успішно користувалися &xdm;, вам немає потреби вносити будь-які зміни до ваших налаштувань PAM з метою використання &kdm;. `/etc/pam.conf` or `/etc/pam.d/kde`. Інформація щодо налаштування PAM не належить до предметів цього довідника, а сам PAM постачається з повною документацією (пошукайте її у `/usr/share/doc/*pam*/html/`).

Тепер, час перевірити &kdm; ось такою командою:

    kdm -nodaemon

Якщо ви побачили перед собою діалогове вікно входу &kdm; і вдало увійшли до системи, все гаразд. Неприємностей слід головним чином очікувати від того, що ваш компонувальник у режимі реального часу не зможе знайти спільних бібліотек &Qt; або &kde;. Якщо у вас бінарний дистрибутив бібліотек &kde;, переконайтеся, що &kdm; встановлено туди, де знаходяться потрібні бібліотеки &kde;, а також спробуйте встановити системні змінні, які вказуватимуть на ваші бібліотеки &kde; і &Qt;.

Приклад:

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

Якщо вас все ж переслідують невдачі, спробуйте запустити &xdm;, щоб переконатися, що помилки не викликано серйознішими проблемами у налаштуваннях X.

Після того, як ви переконалися, що можете успішно запускати &kdm;, можна розпочати заміну &xdm; на &kdm;. Дії, які слід виконати, також залежать від вашого дистрибутива.

- У &RedHat; змініть файл `/etc/inittab`, знайдіть у ньому такий рядок:

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

  і замініть його на:

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

  Ця команда наказує `init`(8) викликати &kdm;, коли система перейде на рівень запуску 5. Зауважте, що для &kdm; не потрібно вказувати параметр `-nodaemon`.

- У Mandriva рівень запуску X11 у `/etc/inittab` викликає скрипт `/etc/X11/prefdm`, який налаштовано на вибір з декількох засобів керування дисплеєм, зокрема &kdm;. Переконайтеся, що всі записи шляхів збігаються зі шляхами у встановленій системі.

- У &SuSE; змініть файл `/sbin/init.d/xdm`, додавши у нього перший рядок:

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

- У FreeBSD змініть файл `/etc/ttys`, знайдіть у ньому рядок схожий на:

      ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

  і зробіть його подібним на:

      ttyv8   "/opt/kde/bin/kdm"  xterm   on secure

- Більшість інших дистрибутивів є різновидами вищеперелічених.

На цьому етапі ви можете випробувати &kdm; переведенням вашої системи на рівень, який має тепер запускати &kdm;. Щоб зробити це, виконайте команду на зразок наступної:

    /sbin/init 5

Замість цифри `5` вам слід вказати відповідний рівень запуску для X11 у вашій системі.

Останнім кроком буде зміна запису `initdefault` у файлі `/etc/inittab` з метою вказати відповідний рівень для X11.

Перш ніж вносити цю зміну, переконайтеся, що ви зможете перезавантажити вашу систему, якщо виникнуть проблеми. Врятувати систему може рятівний гнучкий диск або компакт-диск, що постачається з вашою операційною системою. За наслідки ігнорування цієї поради відповідатимете лише ви самі.

Це, зазвичай, включає зміну рядка:

    id:3:initdefault:

на

    id:5:initdefault:

Після перезавантаження вашої системи має з’явитися графічне вікно входу до системи &kdm;.

Якщо цей крок завершився невдачею, швидше за все проблема полягає у тому, що середовище, яке використовується під час завантаження відрізняється від того, яке ви використовували для випробувань з командного рядка. Якщо ви намагаєтеся отримати систему з двома співіснуючими версіями &kde;, зверніть особливу увагу на те, щоб параметри, які ви використали у ваших системних змінних `PATH` and `LD_LIBRARY_PATH`, були несуперечливими, і щоб скрипти запуску не перевизначали якимось чином ці змінні.

## Як встановити підтримку декількох засобів керування вікнами

Під час запуску &kdm; самостійно визначає найпоширеніші засоби для керування вікнами. Якщо встановити якийсь новий засіб, відповідний пункт автоматично з’явиться у головному діалоговому вікні &kdm; у підменю Тип сеансу.

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

Якщо програма є дуже новою і ще не підтримується &kdm;, додати новий тип сеансу все одно буде дуже просто.

Сеанси визначаються у файлах .desktop, що знаходяться у каталозі `$`KDEDIR`/share/apps/kdm/sessions`. Ви можете просто додати файл з відповідною назвою і суфіксом `.desktop` у цей каталог. Поля, які слід заповнити у файлі:

    [Desktop Entry]
    Encoding=UTF-8 Це поле завжди має значення UTF-8,
    його можна пропустити
    Type=XSession Це поле завжди має значення XSession
    його можна пропустити
    Exec=назва виконуваного файла Передається команді
    eval exec у оболонці Борна
    TryExec=назва виконуваного файла Підтримується,
    але не є обов’язковим
    Name=назва, яку буде показано у списку сеансів &kdm;

Існують також три магічні типи:

default

  Типовий сеанс &kdm;, зазвичай &kde;, але може бути змінений системним адміністратором.

custom

  Нетиповий сеанс: буде запущено ~/.xsession користувача, якщо такий файл існує.

failsafe

  Безпечний режим (failsafe) запустить типовий сеанс, це корисно з метою зневаджування.

Щоб перевизначити тип сеансу, скопіюйте файл .desktop з каталогу data до каталогу config і змініть файл згідно до ваших потреб. Вилучення типових сеансів, що постачаються з програмою, можна виконати за допомогою їх затінення файлами .desktop, що містять рядок Hidden=true. Для магічних типів сеансів, зазвичай, не існує файлів .desktop, але &kdm; поводить себе так, начебто вони є, отже, ви можете перевизначити їх так само, як і інші типи. Здається, ви тепер знаєте, як додати новий тип сеансу. ;-)

## Використання &kdm; для віддаленого входу (&XDMCP;)

&XDMCP; — це стандарт Open Group, X Display Manager Control Protocol (Протокол керування засобами керування для дисплеїв X). Його використовують для встановлення з’єднань між віддаленими комп’ютерами у мережі.

&XDMCP; корисний у системах з багатьма користувачами, де є користувачі, які працюють за робочими станціями, і потужніший сервер, який може надати ресурси для запуску декількох сеансів X. Наприклад, &XDMCP; — це непоганий спосіб повторного використання старих комп’ютерів — Pentium або навіть 486 з 16 Мб RAM достатньо для запуску самого сервера X, а за допомогою &XDMCP; на такому комп’ютері можна запускати повноцінний сеанс сучасного &kde; з сервера. З боку сервера, після запуску одного сеансу &kde; (або іншого середовища) запуск наступних вимагатиме незначних додаткових ресурсів.

Але надання згоди на інший спосіб входу до вашого комп’ютера, звичайно ж, призводить до додаткових ризиків у сфері безпеки. Вам слід запускати цю службу, лише якщо вам потрібно дозволити віддаленим серверам X запускати сеанси входу до системи на вашому комп’ютері. Користувачам з одним комп’ютером під керуванням &UNIX; цей режим ніколи не знадобиться.

## Додаткові питання

### Гнізда команд

Це можливість, яку ви можете використовувати для віддаленого керування &kdm;. Її здебільшого призначено для використання з &ksmserver; і &kdesktop; у запущеному сеансі, але можна користуватися і іншими програмами.

Гнізда — це гнізда домену &UNIX;, які знаходяться у підкаталогах каталогу вказаного параметром `FifoDir`=. Підкаталог є ключем до адресації і забезпечення безпеки; всі гнізда мають назву файла `socket` і дозволи на цей файл `rw-rw-rw-` (0666). Це зроблено через те, що деякі системи не зважають на дозволи файлів гнізд.

Існує два типи гнізд: глобальний (dmctl) і для певного дисплея (dmctl-<дисплей>).

Власником підкаталогу глобальних гнізд є адміністративний користувач (root), власником підкаталогів для певного дисплея є користувач-власник поточного сеансу (root або користувач, що увійшов до системи). Встановити належність підкаталогів певній групі можна за допомогою параметра FifoGroup=, якщо параметр не вказано, групою буде група root. Дозволи на файли підкаталогів — rwxr-x--- (0750).

Поля команди відокремлюються знаками табуляції (\t), поля списку відокремлюються пробілами, символи пробілів у полях позначаються \s.

Команда завершується символом нового рядка (\n).

Те саме стосується і відповідей. Відповіддю на вдалу дію буде ok, яке за потреби супроводжується запитаною інформацією. Відповіддю на помилку буде слово у стилі errno (наприклад, perm, noent тощо), за яким слідує докладніше пояснення.

#### Глобальні команди:

`login` `display` (`now` | `schedule`) `user` `password` [параметри_сеансу]

  вхід користувача на вказаному дисплеї. Якщо вказано `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> для вихідних віддалених сеансів, порожнє для пасивних сеансів.

    - Поле Flag:

      - `*` для дисплеїв, що належать до гнізда, звідки надсилається запит.

      - `!` для сеансів, які не можна припиняти з гнізда, звідки надсилається запит.

    У майбутньому може бути додано нові поля.

  `reserve` [`час очікування у секундах`]

    Запускає резервне вікно входу. Якщо ніхто не увійде протягом вказаного періоду часу (типово, однієї хвилини), дисплей буде знову вилучено. Якщо на дисплеї вже існує сеанс, дисплей також буде вилучено.

    Дозволено лише для гнізд локальних дисплеїв і глобального гнізда.

  `activate` (`vt`|`дисплей`)

    Перемикає на певний VT (віртуальний термінал). VT можна вказати або напряму (наприклад, `vt3`) або за дисплеєм, що його використовує (наприклад, `:2`).

    Дозволено лише для гнізд локальних дисплеїв і глобального гнізда.

  `listbootoptions`

    Показує список доступних параметрів завантаження.

    Значення, що повертається, складається з таких елементів:

    - Список параметрів завантаження (як його показано у самому &kdm;).

    - Типовий параметр завантаження.

    - Поточний параметр завантаження.

    Типовий і поточний параметри є індексами відрахованими від нуля у списку параметрів завантаження. Якщо один з них не встановлено, або він не придатний для визначення, його значенням буде -1.

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

    Надсилає запит на завершення роботи системи: перезавантаження або вимикання.

    Вибрати ОС для наступного завантаження можна зі списку, який повертає команда `listbootoptions`

    Запити на завершення роботи від гнізд певних дисплеїв виконуються, якщо існує поточний сеанс для цього дисплея. Такий запит може відкрити діалогове вікно з проханням підтвердження і/або автентифікації

    Параметр `start` визначає час за розкладом, коли слід здійснити завершення роботи. Якщо значення параметра починається з символу +, його буде додано до поточного часу. Нульове значення означає негайне завершення роботи.

    Параметр `end` визначає останній термін, коли можна виконувати завершення роботи, якщо активні сеанси продовжують працювати. Якщо значення параметра починається зі знаку +, його буде додано до часу start. -1 означає необмежене очікування. Якщо час end минув, а активні сеанси продовжують роботу, &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)

    - start

    - end

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

    - Числовий ідентифікатор користувача, який надіслав запит, -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 boot unavailable."
        fi
      else
        echo "Boot options unavailable."
      fi
    else
      echo "Cannot reboot system."
    fi

## Інші джерела інформації

Оскільки &kdm; є наступником &xdm;, ви зможете знайти корисну додаткову інформацію на сторінці довідки з xdm. Щоб усунути проблеми, пов’язані з X, спробуйте почитати сторінки довідки з X і startx. Якщо у вас виникли питання щодо &kdm;, відповіді на які ви не знайшли у цьому підручнику, скористайтеся тим, що &kdm; постачається за умов дотримання &GNU; General Public License: перегляньте вихідний код програми.

## Подяки і ліцензія

&kdm; є програмою, що походить від і містить код з &xdm; © Keith Packard, MIT X Consortium.

&kdm; 0.1 було написано &Matthias.Ettrich;. Пізніші версії, аж до &kde; 2.0.x, було написано &Steffen.Hansen;. Додавання нових можливостей для &kde; 2.1.x і значне переписування для &kde; 2.2.x було здійснено &Oswald.Buddenhagen;.

Авторські права на інші частини коду &kdm; належать його авторам, і ліцензуються згідно до умов &GNU; GPL. Будь-хто може змінювати &kdm; і поширювати отриману у результаті програму, але при цьому слід вказати імена всіх авторів програми.

Для роботи &kdm; потрібна бібліотека &Qt;, авторські права на яку належать Troll Tech AS.

Учасники написання документації:

- Документацію було написано &Steffen.Hansen; &Steffen.Hansen.mail;

- Документацію було розширено Gregor Zumsteinzumstein@ssd.ethz.ch. Останнє оновлення 9 серпня 1998 року

- Перегляд документації для &kde; 2 здійснено &Neal.Crook; &Neal.Crook.mail;. Останнє оновлення 6 серпня 2000 року.

- Розширили і переписали документацію для &kde; 2.2 і 4.0 &Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;. Останнє оновлення 7 грудні 2007 року

Авторські права на документацію належать &Steffen.Hansen;, Gregor Zumstein, &Neal.Crook; and &Oswald.Buddenhagen;. У цьому документі також використано великі шматки сторінки довідника з &xdm;, авторські права на який належать © Keith Packard. Документація щодо формату тем значною мірою запозичена з довідника з GDM, авторські права на який належать © Martin K. Petersen, George Lebl, &RedHat;, Inc. і Sun Microsystems, Inc.

&underFDL;

## Глосарій

привітання

  Привітання — це діалогове вікно входу до системи, тобто частина &kdm;, яку бачить користувач.

ентропія

  Ентропією системи називається міра її непередбачуваності. Ентропію використовують під час створення псевдовипадкових чисел.