k001
k001
:...

April 2032
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

k001 [userpic]
запуск компиза

Сегодня разбирался, как в Федора 8 запускается оконная среда. Почти что разобрался. У меня теперь работает это так:

1. Кто-то (gdm?) запускает бинарь /usr/bin/gnome-session из одноимённого пакета.

2. gnome-session запускает шелл-скрипт /usr/bin/gnome-wm (тоже из пакета gnome-session).

3. gnome-wm смотрит, что записано в переменную среды WINDOW_MANAGER. Если ничего, то смотрит, что в переменной /apps/gnome-session/rh/window_manager в GConf. Если что-то нашёл -- запоминает.

Если нет, то берёт дефолтный список из нескольких WM (sawfish sawmill enlightenment icewm wmaker fvwm2 qvwm fvwm twm kwm). Далее смотрит, есть ли на десктопе COMPOSITE extension, и добавляет в начало того списка ещё compiz и beryl, а потом безусловно metacity. Далее идёт по этому списку и ищет первый wm, который можно запустить, и запоминает.

Далее для выбранного WM выставляет флаги (для каждого -- свои). Далее, если это compiz, то безусловно запускает в фоне gtk-window-decorator, а если beryl -- то emerald. Ну и наконец уже запускает сам выбранный WM.

В моём случае, однако, в /apps/gnome-session/rh/window_manager прописаны слова compiz-manager.

4. compiz-manager -- это шелл-скрипт из одноимённого пакета. Он делает кучу проверок (поддерживается ли COMPOSITE extension, какая видеокарта, какой драйвер, какие библиотеки, сколько видеопамяти, какие фичи даёт GL драйвер. Если ему что-то кажется неправильным, то он запускает metacity в качестве фоллбека, а если всё хорошо -- то один из "декораторов" (emerald, gtk-window-decorator, kde-window-decorator) и наконец сам compiz.

Примерно вот так вот...

Comments

просто ужас какой-то, Xclients совсем стал немодным?

подозреваю, что и ~/.Xclients, и ~/.xinitrc работают тоже… where do you want to go today? :)

охренеть, больше нет слов:)

ЗЫ: ты так и не послал ппт :)

да я даже ноут специально для этого на работу принёс… но не открыл, а сейчас уже домой иду. из дома пришлю :) я помню

А теперь попробуем со свей этой херней взлететь )