Иллюстрированный самоучитель по RedHatLinux



         

Файл .Xclients


Вероятно, при изучении файла xinitrc вы заметили, что пользователь может заменить установки глобального файла Xclients собственными, записанными в файле .Xclients его исходного каталога. В среде Red Hat после запуска Х-сервера программа xinit запускает исходные клиенты при помощи этих файлов.

Данный файл, как и файл xinitrc, - это сценарий оболочки, подчиняющийся всем правилам составления таких сценариев. Чтобы понять, для чего используется Xclients, рассмотрим стандартный файл Xclients из предварительной версии Linux Red Hat 7.1 (как и в предыдущем примере, строки пронумерованы для удобства).

1: #!/bin/bash

2: # (с) 1999, 2000 Red Hat, Inc.

3: # есть ли у пользователя стандартная оболочка

4: PREFERRED=

5: if [ -f /etc/sysconfig/desktop ]; then

6:

if [ -n "'grep -i GNOME /etc/sysconfig/desktop'" ] ; then

7: PREFERKED=gnome-session

8: elif [ -n "'grep -i KDE /etc/sysconfig/desktop'" ]; then

9 : PKEFERRED=startkde

10: elif [ -n "'grep -i AnotherLevel /etc/sysconfig/desktop'" ] ; then

11: PREFERRED=AnotherLevel

12: .fi

13: fi

14: if [ -n "$PKEFERRED" -a "$PREFERRED"

i=

"AnotherLevel" ] && \

15: which $PREFERRED >/dev/null 2>&1; then

16: PREFERRED='which $PREFERRED'

17: exec $PREFERRED

18: fi

19: t Если мы добрались сюда, то либо необходим AnotherLevel либо

20: # файл оболочки отсутствует и переменная PREFERRED не установлена.

21: if t -z "$PREFERRED" ] ; then

22: GSESSION=gnome-session

23: STARTKDE=startkde

24: # по умолчанию запускается GNOME.

25: if which $GSESSION >/dev/null 2>&1; then

26: exec 'which $GSESSION'

27: fi

28: # если GNOME не установлен, пробуем КОЕ.

29: if which $STARTKDE >/dev/null 2>&1; then

30: exec 'which $STARTKDE'

31: fi

32: fi

33: # В конце концов пробуем AnotherLevel

34: # TheNextLevel оставляет эти файлы нетронутыми.

35: rm -£ gHOME/Xrootenv.0




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