воскресенье, 20 декабря 2009 г.

Ubuntu, Gnome, Xsession, Xmonad

Я пару раз уже писал про .xsession и .xinitrc, в том числе и о том как например используя .xsession можно стартовать XFCE с xmonad в качестве менеджера окон. Поигравшись некоторое время с обычным убунтовским Gnome, все же захотелось старой доброй связки Gnome + Xmonad. Оказалось, что из убунтовского gdm традиционный пункт "Run XClient script", или что-то типа, пропал. Я так понимаю это какая-то новая версия gdm, потому что что-то подобное было(вернее не было) и в Fedora 11. На кой черт и кому понадобилось убирать то что работало годами, мне не понятно. В Федоре, кстати, Гном еще отказывался воспринимать переменную WINDOW_MANAGER, как указатель на дефолтный Гномовский window manager, но это другая история.

Как вернуть нужный пункт описано на launchpad. Нужно:
1. Создать, если не создана директорию /etc/X11/sessions
2. Создать в ней файл /etc/X11/sessions/Xsessions.desktop примерно вот такого содержания:

[Desktop Entry]
Name=Xsession
Comment=This runs ~/.xsession
Exec=/etc/X11/Xsession
После этого в меню выбора сессии gdm появится пункт "Xession", выбрав который вы вновь получите работоспособный $HOME/.xsession. Убунтовская сборка Gnome переменную WINDOW_MANAGER воспринимает нормально, xmonad запускается как и прежде.

Тоже самое на английском можно прочитать в xmonad'овской wiki.

Кстати, не знаю что в Ubuntu происходит при запуске /etc/X11/Xsession, но даже если просто запускать простой xterm, это занимает некоторое продолжительное время, и пользователь успевает полюбоваться на красивую убунтовскую заставку. sleep'ы они там что ли поставили :)

1 комментарий:

su6s комментирует...

задержка при первом запуске скорее всего связана с тем, что умолчальное системное приглашение содержит имя машины и домен. То есть используется /etc/hosts, а если там домен не прописан или прописан но неверно, то адрес не резолвится. Система ждет таймаут и уж что есть, то и показывает.