Файл .xinitrc
Xinit - специальная программа запуска Х-сервера и исходной программы-клиента (например, диспетчера окон). По умолчанию startx проверяет наличие файла .xinitrc в исходном каталоге пользователя и запускает с этим файлом программу xinit. Если файл .xinitrc пользователя обнаружить не удается, программа xinit запускается с системным файлом xinitrc (в Linux Red Hat 7.1 - /etc/Xll/xinit/xinitrc). Если и системный файл найти не удается. то после запуска Х-сервера xinit открывает только окно xterm.
Файл xinitrc (или . xinitrc) - это выполняемый сценарий оболочки. Подробнее оболочки описаны в гл. 16, а сейчас мы рассмотрим стандартный файл из версии Linux Red Hat 7.1 и его функции. Строки пронумерованы для удобства: в реальном файле они не нумеруются.
9: # объединение параметров по умолчанию
10: if [ -f "$sysresources" ] ; then
13: if[ -f "$userresources" ] ; then
17: if [ -f "$sysxlcbmap" ]; then
18: setxkbmap 'cat "$sysxkbmap"
22 : setxkbmap 'cat "$useirxktomap" '
25: if [ -z "$XKB_IN_USE" -a ! -L /etc/Xll/X ] ; then
26: if grep ' Л ехес.*/Xsun' /etc/Xll/X > /dev/null 2>&1 && [ -f /etc/Xll/XF86Config ]; then
35: if [ -z "$XKB_IN_USE" ] ; then 36: if [ -f "$sysmodmap" ] ; then
40: xmodmap "$usermodmap"
41: fi
44: # Пользователь может запускать собственные клиенты. Если нет,
46: # запуск всех системных-скриптов xinitrc.
47: for i in /etc/Xll/xinit/xinitrc.d/* ; do
49: "$i"
50: fi
69: fi
Приведем описание команд файла.
1. Строки 3—8. Указывается расположение файлов, которые понадобятся при выполнении сценария.
Примечание
Файл ресурсов System X, заданный в строке 6 как sysresources, расположен в каталоге /etc/xil/xdm/xresources в Red Hat Linux 7.1. Если необходимо задать этот файл, как общепринятое умолчание для X Windows (см. ниже) измените строку 6 так, чтобы она отражала действительное положение файла.
2. Строки 10—12. Если существует глобальный файл Xresources, то он используется. Х-ресурсы рассмотрены в следующем параграфе.
3. Строки 13—-15. Если существует файл пользователя . Xresources в его исходном каталоге, то он используется путем объединения его параметров с текущими значениями.
4. Строки 17—20. Если существует глобальный файл сопоставления кодов, то он используется.
5. Строки 21—24. Если у пользователя есть файл сопоставления кодов, то он используется.
6. Строки 25—33. Эти строки не используются, поскольку сервер Sun X в вашей системе не используется.
7. Строки 34—43. Если имеют место конфликты между пользовательскими и системными файлами сопоставления кодов X Window, то задается файл определения клавиатуры.
8. Строки 47—51. Эти строки отрабатывают все сценарии, расположенные в каталоге /etc/X11/xinit/xinitrc.d/.
9. Строки 52—69. Запуск первых клиентов после запуска Х-сервера. Сценарий проверяет наличие у пользователя файла .Xclients. Обнаруженный файл запускается и запускает, в 1 свою очередь, указанные клиенты. Если файл .Xclients не обнаружен, выполняется поиск и запуск пюбального файла Xclients. Если и он не найден, то запускается некоторый стандартный набор программ, среди которых xclock, окно xterm, Web-браузер и, если имеется, диспетчер окон fVwm2 или twm.