<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kdm "<application>kdm</application>">
 <!ENTITY % addindex "IGNORE">
 <![ %addindex; [ <!ENTITY docindex SYSTEM "docindex.docbook"> ]]>
]>
<book lang="ru">
<bookinfo>
<title>Дисплейный менеджер (KDM)</title>
<authorgroup>
<author>
<firstname>Стеффен</firstname>
<surname>Хансен</surname>
<affiliation>
<address><email><ulink url="mailto:stefh@dit.ou.dk">stefh@dit.ou.dk</ulink></email></address>
</affiliation>
</author>
</authorgroup>
<date>9 июля 1998 </date>
<releaseinfo>Версия 0.5-1</releaseinfo>
<abstract>
<para>Этот документ описывает дисплейный менеджер KDE (KDM)</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>kdm</keyword>
<keyword>Russian</keyword>
<keyword>translation</keyword>
<keyword>Александр</keyword>
<keyword>Изьюров</keyword>
<keyword>русский</keyword>
<keyword>перевод</keyword>
<keyword>Alexander</keyword>
<keyword>Izyurov</keyword>
</keywordset>
</bookinfo>

<chapter id="vvedenie">
<title>Введение</title>

<para>Дисплейный менеджер KDE это замена xdm, 
дисплейному менеджеру X. Kdm может использоваться вместе с небольшой программой kdmdesktop, которая генерирует красивый фон. 
Kdm превосходит xdm в нескольких отношениях:
<itemizedlist>
<listitem>
<para>В Kdm выбор аргументов сессии происходит более дружественно (xdm не
сообщает пользователю, какие аргументы он может генерировать).</para>
</listitem>
<listitem>
<para>Окно Kdm может содержать кнопку ``Выключить'' (совсем как в диалоге входа в NT).</para>
</listitem>
<listitem>
<para>В Kdm могут показываться изображения пользователей системы (идея
украдена из диалога входа в IRIX).</para>
</listitem>
<listitem>
<para>Kdm смотрится гораздо лучше, чем xdm ;-)</para>
</listitem>
<listitem>
<para>Kdm можно настраивать в графической оболочке (в Центре управления
KDE)</para>
</listitem>
</itemizedlist>
</para>
</chapter>

<chapter id="ustanovka-i-nastroika-kdm">
<title>Установка и настройка kdm</title>

<sect1 id="ustanovka-kdm">
<title>Установка kdm</title>

<para>Посмотрите файл README! В нем сказано, как скомпилировать kdm. Но обычно
вам не нужно компилировать kdm самому, так как он является частью пакета kdebase
и компилируется вместе со всем остальным. Затем он устанавливается в ваш
каталог $KDEDIR/bin.</para>

<para><emphasis remap="bf">ПРИМЕЧАНИЕ:</emphasis> <literal remap="tt">make install</literal> уничтожит ваш старый <literal remap="tt">kdmrc</literal>.</para>

<para>Во время инсталляции устанавливается новая версия файла <literal remap="tt">Xsetup&lowbar;0</literal> . 
В частности, этот файл содержит строку
<screen>kdmdesktop
</screen>

для генерирования красивого фона (растровых изображений и цвета фона).
Обычно этот файл находится в каталоге конфигурации xdm 
<literal remap="tt">/etc/X11/xdm/XSetup&lowbar;0</literal> для Redhat и
<literal remap="tt">/usr/X11R6/lib/X11/xdm/XSetup&lowbar;0</literal> для S.u.S.E.
Если ваш KDEDIR - не /opt/kde, вам, возможно придется изменить путь к  kdmdesktop.</para>

<para>Если у вас установлена система PAM (что обычно для Red Hat 5 and 5.1), 
проверьте, чтобы в /etc/pam.conf были строки
<screen># xdm authorization
xdm    auth       required     pam_unix_auth.so
xdm    auth       required     pam_unix_acct.so
</screen>

и добавьте их, если их нет.</para>

<para>Теперь пора тестировать kdm. Переведите вашу систему на runlevel (функциональный уровень),
который не запускает xdm. Загляните в файл <literal remap="tt">/etc/inittab</literal> 
и найдите строки:
<screen># default runlevel
id:3:initdefault:
</screen>

Значение после id: - номер функционального уровня по умолчанию, который сильно 
зависит от поставщика ,
и всегда хорошо объяснен в комментариях этого файла. Функциональный уровень c графическим входом (xdm)
для наиболее распространенных комплектов следующий:
<itemizedlist>
<listitem>
<para>5 для Red Hat 3.x, 4.x и 5.x, LST</para>
</listitem>
<listitem>
<para>4 для Slackware</para>
</listitem>
<listitem>
<para>3 для S.u.S.E. 4.x and 5.x</para>
</listitem>
</itemizedlist>
</para>

<para>Теперь попробуйте запустить kdm из командной строки вашей любимой оболочки:
<screen>&gt; kdm -nodaemon
</screen>

Если вы увидите диалог входа kdm и сможете войти в систему, все замечательно.
Основная причина возможного отказа  - динамический загрузчик не находит динамических
библиотек  Qt или KDE. Когда все заработает, можно заменить xdm на kdm. Это опять
же зависит от системы.
<itemizedlist>
<listitem>
<para>в Redhat отредактируйте <literal remap="tt">/etc/inittab</literal>, найдите xdm
и замените на kdm (укажите полный путь). </para>
</listitem>
<listitem>
<para>в S.u.S.E. отредактируйте файл <literal remap="tt">/sbin/init.d/xdm</literal>, добавив
первые строки
<screen>. /etc/rc.config
DISPLAYMANAGER=kdm
export DISPLAYMANAGER
</screen>
</para>
</listitem>
<listitem>
<para>для остальных вариантов системы все должно быть как в Redhat, но в этом я
не очень уверен.</para>
</listitem>
</itemizedlist>

Для всех вариантов системы, которые я знаю, нужно изменить функциональный уровень (runlevel) в файле
/etc/inittab (на 5 в Redhat, 3 в S.u.S.E. как указано выше, или в комментариях в
самом файле inittab).
Если у вас имеются только бинарные файлы библиотек KDE, убедитесь, что kdm установлен там, где
это предполагают библиотеки. Это обычно /opt/kde/bin.
Если вам не хочется изменять inittab, вы можете переименовать xdm в xdm.bak 
и сделать символическую ссылку xdm на kdm.
Kdm читает общие установки дисплейного менеджера из конфигурационных файлов xdm
и специфичные для kdm из файла
&dollar;KDEDIR/share/config/kdmrc. Kdmdesktop тоже читает kdmrc.</para>
</sect1>

<sect1 id="raznye-menedzhery-okon-i-kdm-vybor-menedzher">
<title>Разные менеджеры окон и kdm (выбор менеджеров окон)</title>

<para>Если вам нужно использовать разные менеджеры окон или вы просто хотите время от времени менять один на другой,
вы можете воспользоваться программой выбора менеджера, встроенной в 
kdm. 
Она позволяет вам выбирать менеджер окон из списка.
Для этого опять придется изменить некоторые файлы конфигурации.
Сначала нужно изменить файл <literal remap="tt">Xsession</literal> (он находится в
<literal remap="tt">/etc/X11/xdm/</literal> в  Redhat и <literal remap="tt">/usr/X11R6/lib/X11/xdm/</literal> в
S.u.S.E.), чтобы передавать через него параметры. Для этого найдите строку <literal remap="tt">'exec
$startup'</literal> и замените ее на <literal remap="tt">'exec &dollar;startup " &dollar;@"'</literal>
(без') Теперь можно создать или изменить /etc/xinitrc или  /.xinitrc
так, чтобы он запускал нужный менеджер окон. Приведенный ниже скрипт может запускать
три разных менеджера окон. Вы можете добавить еще, если хотите. Не забудьте скопировать
ваш файл <literal remap="tt">.xinitrc</literal> в <literal remap="tt">/etc/skel</literal>, чтобы он автоматически создавался
для каждого нового пользователя при его регистрации.
<screen>#!/bin/bash
#
# .xsession/.xinitrc
#
# выбор менеджера окон
#

defaultwm=kde
#Установить менеджер окон равным $1, если он был задан
windowmgr=${1:-$defaultwm}

#запустить нужный менеджер окон
case ${windowmgr} in
  kde|kwm|kdestart)
	WINDOWMANAGER=startkde
	;;
  fvwm|fvwm2)
	WINDOWMANAGER=fvwm2
	;;

  fvwm95)
	WINDOWMANAGER=fvwm95
	;;

  *)    WINDOWMANAGER=windowmgr   # default for unknown wm's

esac

#
# загрузка ресурсов
#

if [ -f /usr/X11R6/lib/X11/Xmodmap ]; then
    xmodmap /usr/X11R6/lib/X11/Xmodmap
fi

if [ -f ~/.Xmodmap ]; then
    xmodmap ~/.Xmodmap
fi

if [ -f ~/.Xdefaults ]; then
    xrdb -merge ~/.Xdefaults
fi

if [ -f ~/.Xresources ]; then
    xrdb -merge ~/.Xresources
fi
# 
# запуск менеджера окон
#
exec $WINDOWMANAGER

</screen>
</para>
</sect1>
</chapter>

<chapter id="nastroika-kdm">
<title>Настройка kdm</title>

<para>Имеется программа с графическим интерфейсом для настройки kdm. Вы найдете ее
в меню K/Настройки/Приложения. С помощью этой программы вы можете настроить
некоторые параметры kdm (хранящиеся в kdmrc), но учтите, что kdm, как и xdm, требует точной
настойки, так что читайте дальше.</para>

<para>Настройки, специфичные для kdm, устанавливаются редактированием файла
"&dollar;KDEDIR/share/config/kdmrc". В kdmrc есть три раздела:</para>

<sect1 id="kdm">
<title>KDM</title>

<para>Параметры в этом разделе:
<screen>StdFont
FailFont
GreetFont
GreetString
SessionTypes
LogoPixmap
ShutdownButton
Shutdown
Restart
UserView
Users
NoUsers
SortUsers
GUIStyle
</screen>
</para>

<para>Краткое описание параметров:
<variablelist>
<varlistentry>
<term>*Font</term>
<listitem>
<para>строка описания шрифта следующего формата: Courier,12,5,iso-8859-1,50,0.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>GreetString</term>
<listitem>
<para>- заголовок окна входа в систему kdm.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SessionTypes</term>
<listitem>
<para>- разделенный ``;'' список аргументов сеанса. По
умолчанию -  <literal remap="tt">SessionTypes=kde;failsafe</literal>. Приведенный выше пример дополнительно
использует менеджеры окон fvwm2 и fvwm95.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>LogoPixmap</term>
<listitem>
<para>Измените этот параметр, если вам не нравится логотип.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>ShutdownButton, Shutdown and Restart</term>
<listitem>
<para>ShutdownButton определяет, в каких случаях
видна кнопка выключения и может принимать значения <literal remap="tt">All</literal>, <literal remap="tt">None</literal>,
<literal remap="tt">RootOnly</literal> and <literal remap="tt">ConsoleOnly</literal>. Shutdown и Restart - команды, которые следует
выполнить для выключения/перезагрузки. По умолчанию - <literal remap="tt">/sbin/halt</literal>
и <literal remap="tt">/sbin/reboot</literal>. All - кнопки выключения/перезагрузки доступны всем, None 
- никому, RootOnly - только привилегированному пользователю, если вы установите
ConsoleOnly, будут невозможны выключение/перезагрузка с удаленного терминала.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>UserView</term>
<listitem>
<para>Если этот параметр равен ``1'', окно kdm будет показывать
изображение для каждого пользователя.</para>
<para></para>
</listitem>
</varlistentry>
<varlistentry>
<term>Users</term>
<listitem>
<para>- разделенный ``;'' список имен пользователей, для которых будут установлены изображения. 
Если <literal remap="tt">UserView</literal> установлен равным 1, а параметра
<literal remap="tt">Users </literal>нет, kdm ищет пользователей в файле паролей. 
Выводятся изображения тех пользователей, у которых есть реальное имя, кроме входного
имени, домашний каталог и оболочка - остальное в файле паролей игнорируется. 
Kdm ищет в &dollar;KDEDIR/share/apps/kdm/pics/users/
портрет каждого пользователя. Если существует картинка Ваня.xpm, kdm
использует ее в качестве портрета пользователя Ваня, иначе kdm использует default.xpm.
Так что, если у вас есть маленькое фото каждого из пользователей вашей системы,
поместите их в &dollar;KDEDIR/share/apps/kdm/pics/users/ для развлечения при входе
в систему через kdm ;-) 
<emphasis remap="bf">NOTE:</emphasis> Kdm работает с картинками разного размера, но 
очень маленькие и очень большие картинки рядом могут выглядеть некрасиво.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>NoUsers</term>
<listitem>
<para>- разделенный ``;'' список имен пользователей, которых не надо
показывать. Используйте этот параметр, чтобы спрятать ``псевдопользователей'' 
вроде <literal remap="tt">sync</literal> и <literal remap="tt">shutdown</literal>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>SortUsers</term>
<listitem>
<para>- если этот параметр равен ``0'', список пользователей
отображается в том порядке, в котором он был прочитан KDE. 
По умолчанию список пользователей отображается в алфавитном порядке.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>GUIStyle</term>
<listitem>
<para>может быть либо <literal remap="tt">Motif</literal> либо <literal remap="tt">Windows</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="kdmdesktop">
<title>KDMDESKTOP</title>

<para>Этот раздел управляет фоном. Параметры:
<screen>BackgroundPicture
BackgroundColor
BackgroundPictureTile
BackgroundPictureCenter
FancyBackground
</screen>
</para>

<para>Первый - имя файла изображения (полный путь), второй - название цвета, остальные - 
логические значения (<literal remap="tt">0</literal> или <literal remap="tt">1</literal>). Заметьте, что
<literal remap="tt">FancyBackground=1</literal> выглядит замечательно, но работает <emphasis remap="bf">очень</emphasis> медленно.</para>
</sect1>

<sect1 id="locale">
<title>Locale</title>

<para>Этот раздел должен содержать только один параметр.</para>

<para><variablelist>
<varlistentry>
<term>Language</term>
<listitem>
<para>- язык, который будет использовать kdm. Параметр можно изменить
внутри KDE. Значения - обычные en/de/fr/da/ru и т.д.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
</chapter>

<chapter id="iuridicheskie-voprosy">
<title>Юридические вопросы</title>

<para>Kdm разработан на основе xdm, и что теперь с авторским правом? Kdm 0.1 написан
Матиасом Эттрихом, все следующие версии - Стеффеном Хансеном.
<literal remap="tt"><ulink url="mailto:stefh@dit.ou.dk">stefh@dit.ou.dk</ulink></literal></para>

<para>Kdm - свободное программное обеспечение. Я точно не знаю, каковы условия распространения, 
так как в нем много кода из xdm. В любом случае, заявляю:</para>

<para>Для kdm необходима библиотека Qt, авторские права на которую принадлежат Troll Tech AS.
Свободно распространяемые программы могут обычно использовать Qt бесплатно,
подробности находятся в файле README.QT. Каждому разрешено изменять kdm и
распространять то, что получится, при условии упоминания моего имени.</para>

<para>И, кстати: Kdm предоставляется без каких-либо гарантий,
включая гарантии внешнего вида, товарных свойств и пригодности для какой бы то
ни было цели.</para>

<para>Документация дополнена Грегором Цумштейном <literal remap="tt"><ulink url="mailto:zumstein@ssd.ethz.ch">zumstein@ssd.ethz.ch</ulink></literal>. Последнее
изменение 9 июля 1998 г.</para>

<para>Перевод на русский язык осуществил Александр Изъюров
<literal remap="tt"><ulink url="mailto:izyurov@infopro.spb.su">izyurov@infopro.spb.su</ulink></literal></para>
</chapter>
<![ %addindex; [ &docindex; ]]>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-general-insert-case: lower
End:
-->