Hned na úvod bych chtěl upozornit, že jsem majitelem distribuce Gentoo, a tak jsou všechny postupy v článku dělány na míru pro ni, ale věřím, že pro vás nebude problém aplikovat je na vaši distribuci.
Podmínky úspěšné instalace jsou v podstatě dvě. První je mít modulární X.org, což znamená stáhnout si X.org verze 7.0.0 a vyšší. Druhou je, ještě před instalací, provést aktualizaci vašich balíčků.
Poté si musíme stáhnout prográmek gconf-editor, který je v současné době jediný, který umožňuje nastavit parametry grafických vymožeností, které Xgl nabízí. Je dobré jej nainstalovat i v případě, že nepoužíváte GNOME. Provedeme to příkazememerge gconf-editor.
Dalším nástrojem, který budeme potřebovat, je subversion. Ten také stáhneme (emerge subversion). Poté se přemístíme do adresáře /usr/local a pod uživatelem root provedeme následující příkaz: svn co http://svn.xgl-coffee.org/xgl-coffee/trunk xgl-coffee. Ten nám zajistí stažení balíčků potřebných pro běh Xgl. Nyní je ještě třeba editovat soubor /etc/make.conf a přidat do něj řádek PORTDIR_OVERLAY="/usr/local/xgl-coffee".
Nyní je třeba odmaskovat některé balíčky, bez tohoto bychom nemohli využívat jejich nejnovější verze. Přidejte tedy do /etc/portage/package.keywords následující řádky:
x11-proto/glproto ~x86 media-libs/mesa ~x86 media-libs/glitz ~x86 x11-base/xgl ~x86 x11-wm/compiz ~x86 ***deprecated x11-wm/compiz-quinnstorm ~x86 x11-wm/compiz-vanilla ~x86 x11-libs/cairo ~x86 sys-apps/man ~x86 x11-misc/util-macros ~x86 >=x11-libs/libwnck-2.14 ~x86 x11-misc/xwinwrap ~x86
Nyní ještě přidáme tři řádky do /etc/portage/package.unmask:
media-libs/mesa media-libs/glitz x11-libs/libwnck
Nyní provedeme následující příkazy:
emerge -vla cairo emerge -vla pango gtk+
Do /etc/portage/package.use přidáme následující dva řádky:
x11-wm/compiz-quinnstorm gnome svg x11-wm/compiz-vanilla gnome svg
Nyní provedeme příkaz emerge -av glproto a potéemerge -av mesa xgl compiz-vanilla (pokud chcete mít k dispozici i nestandardní pluginy, můžete místo vanilla použít quinnstorm).
Uf, konečně máme instalaci hotovu. Nyní si popíšeme, jakým způsobem spouštět Xgl a jak ho nastavit. Následujícími třemi příkazy si spustíme Xgl server a v něm gconf.
Xgl :1 -ac -accel glx:pbuffer -accel xv LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib DISPLAY=:1 compiz gconf DISPLAY=:1 gconf
V gconfu jdeme do apps -> compiz -> general -> allscreens -> options -> active_plugins. do nějž cvičně přídejte následující hodnoty: gconf, decoration, wobbly, fade, switcher, move, resize, place, minimize, cube, rotate, zoom, scale (je důležité zachovat pořadí).
Nyní již máme Xgl nakonfigurované, ukončete jej tedy. Nyní si vytvoříme startovací skript pro naše Xgl. Vytvořte si tedy soubor startxgl a vepište do něj následující řádky:
#!/bin/bash Xgl :1 -ac -accel glx:pbuffer -accel xv & sleep 3 DISPLAY=:1 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib compiz gconf & sleep 3 DISPLAY=:1 xmodmap /usr/share/xmodmap/xmodmap.us & sleep 2 DISPLAY=:1 gnome-window-decorator & sleep 3 DISPLAY=:1 /usr/libexec/gnome-settings-daemon & DISPLAY=:1 nautilus -n -sync & sleep 3 DISPLAY=:1 gnome-panel & sleep 1 DISPLAY=:1 xrdb ~/.Xresources sleep 1 DISPLAY=:1 setxkbmap -model pc104 -layout "us,cz" -option "grp:shift_toggle" sleep 3 DISPLAY=:1 psi &
Nyní si tyto příkazy rozebereme. Všechny řádky s příkazem sleep nám zajišťují, že systém vždy určitou chvíli počká, než začne provádět další příkaz. Myslím, že první čtyři řádky není třeba komentovat, zastavme se tedy u pátého řádku. Možná jste si toho již všimli, možná ne, ale když pod Xgl budete něco psát a nechtíc zmáčknete nějakou kombinaci kláves jako například Shift+Backspace, tak se Xgl vypne. To je dáno špatným rozložením klávesnice, to opravíme příkazem xmodmap. Gnome-window-decoratot, gnome-settings-daemon, nautilus a gnome-panel jsou čistě GNOME aplikace a myslím, že vám je jejich funkce jasná. Xrdb je aplikace, která načte naše resources ze souboru .Xresources z našeho domovského adresáře. Setxkbmap nám nastaví česko-anglické rozložení klávesnice a jeho přepínámí pomocí současného stisknutí obou shiftů. Psi je aplikace, kterou spouštíme ihned po startu, není ničím významná, jenom ji zde uvádím, abyste viděli, jak by asi mělo vypadat spouštění aplikací po startu.