[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: start



On Sun, 20 Feb 2005 23:38:23 +0300
Artem Chuprina <ran@ran.pp.ru> wrote:

> 
> Роднее все-таки в .xsession.  Мы же про Debian?

С этим файлом хорошо когда диспетчер дисплеев xdm, а например когда gdm
- замучаешся. kdm не пытал на эту тему. Ниже кидаю свои записки по
поводу xdm и gdm:


- выбор диспетчера дисплеев (xdm, gdm, kdm, wdm) можно делать через
        dpkg-reconfigure xdm

- Если запустить icewm не через xdm, а через kdm, то изменяться шрифты и фон

Порядок загрузки X в Debian:

1. Запускаются сценарии:
        /etc/rc2.d/S99kdm -> ../init.d/kdm
        /etc/rc2.d/S99xdm -> ../init.d/xdm
        и т.д.

        и при этом каждый проверяет что в файле:
                /etc/X11/default-display-manager
        там одна строчка указывающая кто основной (например: /usr/bin/X11/xdm).
        Тот кто считает эту строчку не своей, тот завершает свою работу, а
        другой запускает указанный исполняемый файл демоном.

2.

Если выбран xdm, то он:
        читает: /etc/X11/xdm/xdm-config
                и от туда берёт:
                DisplayManager*session:         /usr/X11R6/lib/X11/xdm/Xsession
                этот путь ссылка на файл /etc/X11/xdm/Xsession который
        запускает: /etc/X11/Xsession
                там определяются переменные для
                $HOME/.xsession, $HOME/.Xresources и др.
                читается /etc/X11/Xsession.options там есть
                allow-user-resources и allow-user-xsession
        запускаются сценарии из каталога /etc/X11/Xsession.d
        сценарий /etc/X11/Xsession.d/30xfree86-common_xresources
                подсоединяет пользовательские ресурсы из ~/.Xresources
        сценарий /etc/X11/Xsession.d/50xfree86-common_determine-startup
                ищет пользовательский сценарий ~/.xsession
                иначе пытается найти что-то из следующего списка:
                x-session-manager, x-window-manager, x-terminal-emulator
                этот кусок кода можно взять себе в .xsession
        сценарий /etc/X11/Xsession.d/90xfree86-common_ssh-agent
                определяет чем работать по ssh
        сценарий /etc/X11/Xsession.d/99xfree86-common_start
                делает exec переменной $STARTUP
                заполненной предыдущими сценариями

Если выбран gdm, то он:
        берёт языки из /etc/gdm/locale.conf
        читает ~/.dmrc (задуман общим с kde)
        запускаются сценарии из каталога /etc/X11/Xsession.d
        если сеанс gnome, то ищет ~/.gnomerc (/etc/X11/Xsession.d/55gnome-session_gnomerc), а
                ~/.xsession не запускается поскольку 50xfree86-common_determine-startup его не пытается найти,
                т.к. 20xfree86-common_process-args находит запускной файл менеджера сессий в параметрах
        .xsession будет запущен только в случае выбора в gdm сессии по умолчанию
                так что общие скрипты надо ложить в /etc/X11/Xsession.d/,
                а личные в .gnomerc или например в .icewm/startup и т.п.
        запуск умного переключателя клавиатуры для гнома удалось сделать только из настроек гнома -
                добавив скрипт в список запускаемых программ (~/.gnome2/session-manual не руками).
                Иначе запускался, но не работал.



Reply to: