落穂拾い

Gleanings in my life

xgl リベンジ

2006年09月19日 17時40分46秒 | Linux
VAIO Z1R/PではXglがうまく動作しなかったので、別のマシンでトライしてみた。

使用したのは VAIO Type S (1年前のモデル)で、Graphics Chip として nVIDIA GeForce 6200 TC を採用しているもの。

方針


Gentoo の Wikiをそのまま踏襲する。
ウィンドウマネージャーとしては、とりあえずデフォルトの compiz を採用する。

下準備



Xgl+Compizのインストールに必要なソフトウェアのインストール。

emerge subversion
emerge layman


laymanの設定



mkdir /usr/portage/local
mkdir /usr/local/layman
ln -s /usr/local/layman /usr/portage/local
layman -f
layman -a portage-xgl


リビジョン448をチェックアウトできた。

package.keywords, package.use の編集



下記を /etc/portage/package.keywords に追加。

# for xgl
dev-libs/glib			~x86
dev-python/pycairo		~x86
dev-util/git			~x86
gnome-base/gconf		~x86
gnome-base/libgnomeui		~x86
media-libs/glitz		~x86
media-libs/mesa			~x86
virtual/xft			~x86
x11-apps/xvinfo			~x86
x11-apps/mesa-progs		~x86
x11-base/xgl			~x86
x11-base/xorg-server		~x86
x11-drivers/xf86-input-keyboard	~x86
x11-drivers/xf86-input-mouse	~x86
x11-drivers/xf86-video-fbdev	~x86
x11-drivers/xf86-video-nv	~x86
x11-drivers/xf86-video-vesa	~x86
x11-drivers/xf86-video-vga	~x86
x11-libs/cairo			~x86
x11-libs/qt			~x86
x11-libs/libwnck		~x86
x11-libs/gtk+			~x86
x11-libs/libdrm			~x86
x11-misc/util-macros		~x86
x11-misc/xwinwrap		~x86
x11-proto/glproto		~x86
x11-wm/compiz			~x86

下記を /etc/portage/package.use に追加。

# for xgl
x11-libs/cairo                  glitz pdf
x11-wm/compiz                   gnome svg


Xgl, compizのインストール



emerge --oneshot --ask --verbose cairo 
emerge --oneshot --ask --verbose pango gtk+
emerge --ask --verbose --oneshot glproto libdrm
emerge --ask --verbose --oneshot mesa 
emerge --ask --verbose mesa-progs
emerge --ask --verbose xgl compiz
emerge -av nvidia-drivers


設定



下記は個人ユーザで設定する。
export GCONF_CONFIG_SOURCE="xml:merged:/etc/gconf/gconf.xml.defaults"
gconftool-2 --makefile-install-rule /etc/gconf/schemas/compiz.schemas


apps --> compiz --> general --> allscreens --> options
の active_plugins を確認。たくさん入っていることを確認する(decorationとか)。

テスト


ここも一般ユーザで実行する。

fontlist=`grep -i fontpath /etc/X11/xorg.conf | egrep -v "[:space:]*#" | sed "s/.+"(.+)"/1,/g" | xargs echo | sed "s/ //g" | sed "s/,$//"`
Xgl :1 -ac -accel glx:pbuffer -accel xv -fp $fontlist &
LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ DISPLAY=:1 compiz gconf &
DISPLAY=:1 gnome-window-decorator &
DISPLAY=:1 xterm

無事動いた!

gdmの設定



ここは root 権限で実行する。

/etc/X11/gdm/custom.confファイルの[daemon]セクションに下記を追記。

GdmXserverTimeout=30

次に /etc/X11/gdm/gdm.conf を編集する。

cd /etc/X11/gdm
cp gdm.conf gdm.conf.bak

次に gdmsetup を実行する。
「セキュリティ」タブの右下にある 「Xサーバの設定…」をクリックする。

新しく起動したウィンドウ内で、「起動するXサーバ」の一覧から「standard」
を選択し削除する。次に「追加と変更」ボタンをクリックし、そのまま「ok」
をクリックして、VT1のStandardエントリを新規作成する。

ウィンドウ右側の「サーバ設定」のコーナーで、「サーバ名」を適宜入力する。
ここでは「Xgl」としておく。「コマンド」は下記に変更する。これは nVIDIA
用の設定である。

/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv


ちなみに ATI 用は

/usr/bin/Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer


となるらしい(Gentoo の wiki 参照のこと)

以上で gdmsetup を終了させる。

そして再起動。

/etc/init.d/xdm restart


ログイン



とりあえずログイン。この状態ではウィンドウマネージャーは以前のまま。
自分の場合は、Gnomeで metacity を使っている状態のままである。

だが、Xサーバを Xgl に変更したことにより、キーボード設定がおかしくなるようだ。
日本語キーボードを指定すると、アルファベットが入力できず、全てカタカナ入力になってしまった。そこで、setxkbmapで設定し直す。

gdmを使って xsession ログインを採用しているので、~/.xsession の該当箇所に

setxkbmap -model jp106 -layout jp -option ctrl:swapcaps


を入れておく。

ウィンドウマネージャーの切替


metacity から compiz にウィンドウマネージャーを切り換える。
いろいろと方法があるが、ここでも Gentoo Wiki に従う。

/usr/local/bin/compizrc という名前で下記ファイルを作成。

#!/bin/bash
#
# Start compiz within gnome-session
#
if [ `ps -A -o comm | grep -c '^Xgl$'` == "1" ]; then
        DISPLAY=:1 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/
		    compiz --replace gconf &
        DISPLAY=:1 gnome-window-decorator &
        DISPLAY=:1 setxkbmap -model pc105 -layout jp -variant basic -option ctrl:swapcaps
fi

このファイルに実行許可を与えておく。

徐にこの compizrc を実行すれば、compiz に切り替わる。
ログインと同時に切り替えたければ、Gnomeセッションを編集し、起動時(ログイン時)にcompizrcを実行するようにすればよい。

compizの設定



gconf-editor で行う。apps->compizの中を適当に編集すればよい。
お世辞にも設定しやすいとはいい難い。
gset-compizは不十分なので使うな、というのが Gentoo Wiki の意見だが、gset-compiz をインストールするのも一興だろう。

落穂拾い



  • 動作はすこぶる軽快。
  • 見栄えも素晴しい。ウィンドウをドラッグして移動させるだけでも感動もの。
  • グラフィックスカードが対応していれば、インストールも容易い。
  • 充分実用的だが、通常のGnomeデスクトップに比べて便利になる訳ではない。飽くまで eye candy。
  • Xglを辞めて元のXorgのサーバに戻すには、/etc/X11/gdm/gdm.conf をバックアップファイルに戻して xdm を再起動する。その際、setxkbmap コマンドなどをコメントアウトするとか、Gnomeセッションから compizrc を除去するなどの処置を予めしておく必要がある。
  • カスタマイズがやりにくい。


Compizを Ubuntu の人が拡張したという compiz-quinnstorm を試してみる価値があるかもしれない。ちなみに、compiz と compiz-quinnstorm は同時にはインストールできない(ebuildがブロックされる)。

コメントを投稿