Глава 7. Настройка системы для использования kdm

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

Установка 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 для Red Hat® 3.х и более поздних и для Mandrake

  • 4 для Slackware

  • 3 для SuSE® 4.х и 5.х

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

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

/sbin/init 3

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

Если в вашей системе используются подключаемые модули идентификации (PAM), что довольно часто встречается в современных системах Linux® и Solaris™s, вам необходимо проверить, допускает ли конфигурация PAM вход в систему через xdm. Если ранее вы успешно входили через xdm, вам не надо вносить изменений в конфигурационные файлы PAM, чтобы использовать kdm: /etc/pam.conf или /etc/pam.d/kde. Информация по настройке 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/qt4
export 
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH
export 
LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib

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

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

  • Red Hat®: откройте файл /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   "/opt/kde/bin/kdm"  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 согласуются, и что скрипты запуска системы не перезаписывают их каким-либо образом.