The K Desktop Environment

Вперед Назад Содержание

2. Установка и настройка kdm

2.1 Установка kdm

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

ПРИМЕЧАНИЕ: make install уничтожит ваш старый kdmrc.

Во время инсталляции устанавливается новая версия файла Xsetup_0 . В частности, этот файл содержит строку

kdmdesktop
для генерирования красивого фона (растровых изображений и цвета фона). Обычно этот файл находится в каталоге конфигурации xdm /etc/X11/xdm/XSetup_0 для Redhat и /usr/X11R6/lib/X11/xdm/XSetup_0 для S.u.S.E. Если ваш KDEDIR - не /opt/kde, вам, возможно придется изменить путь к kdmdesktop.

Если у вас установлена система PAM (что обычно для Red Hat 5 and 5.1), проверьте, чтобы в /etc/pam.conf были строки

# xdm authorization
xdm    auth       required     pam_unix_auth.so
xdm    auth       required     pam_unix_acct.so
и добавьте их, если их нет.

Теперь пора тестировать kdm. Переведите вашу систему на runlevel (функциональный уровень), который не запускает xdm. Загляните в файл /etc/inittab и найдите строки:

# default runlevel
id:3:initdefault:
Значение после id: - номер функционального уровня по умолчанию, который сильно зависит от поставщика , и всегда хорошо объяснен в комментариях этого файла. Функциональный уровень c графическим входом (xdm) для наиболее распространенных комплектов следующий:

Теперь попробуйте запустить kdm из командной строки вашей любимой оболочки:

> kdm -nodaemon
Если вы увидите диалог входа kdm и сможете войти в систему, все замечательно. Основная причина возможного отказа - динамический загрузчик не находит динамических библиотек Qt или KDE. Когда все заработает, можно заменить xdm на kdm. Это опять же зависит от системы. Для всех вариантов системы, которые я знаю, нужно изменить функциональный уровень (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 из файла $KDEDIR/share/config/kdmrc. Kdmdesktop тоже читает kdmrc.

2.2 Разные менеджеры окон и kdm (выбор менеджеров окон)

Если вам нужно использовать разные менеджеры окон или вы просто хотите время от времени менять один на другой, вы можете воспользоваться программой выбора менеджера, встроенной в kdm. Она позволяет вам выбирать менеджер окон из списка. Для этого опять придется изменить некоторые файлы конфигурации. Сначала нужно изменить файл Xsession (он находится в /etc/X11/xdm/ в Redhat и /usr/X11R6/lib/X11/xdm/ в S.u.S.E.), чтобы передавать через него параметры. Для этого найдите строку 'exec $startup' и замените ее на 'exec $startup " $@"' (без') Теперь можно создать или изменить /etc/xinitrc или  /.xinitrc так, чтобы он запускал нужный менеджер окон. Приведенный ниже скрипт может запускать три разных менеджера окон. Вы можете добавить еще, если хотите. Не забудьте скопировать ваш файл .xinitrc в /etc/skel, чтобы он автоматически создавался для каждого нового пользователя при его регистрации.

#!/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

Вперед Назад Содержание