compiz-fusionでVista風に

内容でかくなったから別ページで。
現状ページ消せなくても管理者に頼めばなんとかしてくれるはずー。消さないけど。

0.はじめに

始めのセクションくらい嫁。

0.1 注意

compiz-fusionはまだ開発中で、むやみにアップデートしたりすると「これがうごかねえ」「設定消えた」とかあるらしいです。
また、そうでなくてもかなり不安定で、メモリリークやプラグインが突然おかしな動きをする(タイトルバー真っ黒とか)ことも多々あります。
メモリリークでメモリ使用量がやばいときはcompiz --replace &しなおすと減る感じ。
プラグインが変な動きをした場合は、それをいったん無効にして、再度有効にするとうまいかも。

0.2 必要なもの

  • Linux(Ubuntu feistyで動作確認しました)
  • 3Dが動くグラボ
  • Xのドライバ(ATIかnVidiaなら用意されてる、intelとかオンボなのはシラネ、ぐぐれ)
  • Wine、もしくはWindows(わざわざ君は再起動するのかね?)
  • ResourceHacker(Wine上かWindows上で実行します)
  • gimp
  • できればインターネット環境(apt-getとかやってるし...誰かに落として焼いてもらってもいいけど。)
  • できればImageMagick(のconvertコマンド)
  • できればWindowsVista(これがあれば完璧、でも本家から素材を取ってくることについて本末転倒感は否めない)

1.compiz-fusionを入れる

あたりまえだよネー
ubuntuユーザーは
TechBlog - How to: Enable compiz-fusion in Ubuntu Feisty
http://kevin.vanzonneveld.net/techblog/article/enable_compizfusion_in_ubuntu_feisty/
を参照するとうまいかも。ATIとnVidia両方対応?
libcompizconfig-backend-gconfは入れなくてもよい(すると~/.config/compiz/に設定ファイルが書かれるようになる、後でこの形式に変更可能だが...)
gconf使うとなんか微妙な挙動を示すときがある(設定の値の型があわないとか言い出す)。が、flat-file(上に書いたやつ)でも微妙な挙動を示したような記憶がある...

2.emeraldをもってくる

上のページに従ってればtuxfamily.orgのレポジトリを追加している。そこにemeraldが置いてあるので普通にapt-get install emeraldすればおk。
下のテーマを使うときに必要。

3.テーマを持ってくる

Vista-Linux GNOME-Look.org
http://www.gnome-look.org/content/show.php/Vista-Linux?content=42875
VistaQの方。これだけでVistaっぽくなる。
emerald-theme-managerで設定してください。(テーマ選ぶと変わるはずなのに手元ではemerald再起動しないと変わらねー)
Ultra Slim VistaQ (Above Button op.) Beryl-Themes.org
http://www.beryl-themes.org/content/show.php/Ultra+Slim+VistaQ+%28Above+Button+op.%29?content=59492
こんなテーマもありましたが、Slimなのはいいけど何か違う気がします。

4.emerald-theme-managerで

エメラルドの設定タブのところの

  • ボタンをフェードし点滅させる をOFF
  • タイトルバーをダブルクリックしたときのオプション Maximize/Restoreを推奨(好きなのどぞ)
  • Compiz Decoration Blur Type をAll decorationに(重要)

    と設定します。

5./usr/bin/compizをちょっといじる

最後あたりにある

       *)
               build_args
               build_env
               set_config_plugin
               #start_decorators    ←これをこんな感じにコメントアウトにする。
               start_compiz
       ;;

これをやらないと、ウィンドウ装飾のコマンドにemeraldと設定してもgtk-window-decoratorが後に起動して、わざわざemeraldを起動し直さなければならなくなる。(compiz起動時にオプションでなんとかなるとは思うけどめんどくさかった)
/usr/binなのでSuperUserで編集しないとダメだYO!

2007/9/19追記
compiz -c emeraldといったように-c emeraldとつけても大丈夫だった。
けどccsmで設定したのを起動するようにするべきだとは思うんだよなぁ...

6.とりあえずccsmで設定を済ませてしまおう

設定しなくてもいいけど、ウィンドウ装飾のコマンドにemeraldと絶対に書いておこう!(もしかしたらgtk-window-decoratorって書いてあるかもしれないけど消してemeraldと書き直そう!)
あと、Blur Windowsを有効にしないとタイトルバーの後ろがボケないので注意。(emeraldで設定したのにボケなくて焦った)
反射を有効にするとなんかかっこよくなります。このイメージについては後でVistaから抜き出すことも可能です。超Vistaっぽくなるよ。

7.compizを起動してみる。

動作確認してあっても無視の方向で。

$ compiz --replace &

...ATIの人は悲しい感じかも。
そんなあなたに朗報です。

$ sudo apt-get install Xserver-xgl xnest  (パッケージ名違うかも、とにかくXglとxnestを入れる)

として、

$ Xgl :1 -ac -fullscreen -dpi 96 &
$ DISPLAY=:1 xterm

とかターミナルを出しておいてその中でcompiz --replace &すればうまくいく可能性があります。
上手くいかない人も一度Xを再起動してみよう。(うちのばあいX起動して初回だけ表示がうまくいく)
タイトルバーの後ろがボケてるかわからないときはxtermの中からもう1個xtermやらgnome-terminalを出して試してみよう!
この状態だとAlt+TabでXglと他のウィンドウを切り替えられたり悲しい状態ですが打開策は後にあります。

8.Vistaの壁紙と反射のイメージを取り出す

vistaが入っているパーティションをマウントして、

  • C:\Windows\Web\Wallpapers\img24.jpg
  • C:\Windows\Resources\Themes\Aero\aero.msstyles

を抜き出してきましょう。
img24.jpgは壁紙にそのままできます。

8.1 反射を取り出す

問題は反射のイメージです。

$ wine reshacker.exe aero.msstyles  (ResourceHackerとaero.msstylesがカレントにあるとして)

で、STREAMの850の1033を開きます。(10秒以上止まるけど、帰ってくるはず)
表示できたら、アクション→リソースをバイナリ形式で保存するを選んでhogehoge.pngとでも名前を付けて保存しておきます。(PNG形式です)
...俺のreshacker日本語化してある...本家の英語の使っている人はそれっぽいの選んでおいてください。
止まるのが嫌な人は、STREAMを選んだ時点でアクション→[STREAM]を保存するを選んで適当なところに保存するとrcファイルの他にData_1.binがでてきます。このData_1.binをhogehoge.pngなどに名前を変えれば同様に抜き出すことができます。rcファイルは消してもOK。
さて、保存したらもうResourceHackerには用が無いので閉じておきます。ありがとう、ResourceHacker!!
この抜き出せたファイル、ビューアで見るとなんかいろいろ混ざってます。ここから右上のでっかいやつを抜き出せば我々の大勝利です。
ImageMagickが入っている人は

$ convert hogehoge.png -gravity NorthEast -crop 802x604+0+0 vistaReflect.png

などとして抜き出すことができます...が、なんか位置情報も書かれるらしくgimpで開くとずれてます。TODO:だれか打開策!
gimpしか入ってない人は手作業で頑張ってください。ルーラーをドラッグしてつくれるガイドを利用するといい感じかも。

8.2 反射を強調する

そのまま設定すると悲しいくらい薄いので、gimpで修正します。
gimpで抜き出したファイルを開いて、(convertで抜き出した人は大変だけどずれを直して)、道具→色ツール→レベルを選び、チャンネルをアルファに設定し、右にある白い三角を左あたりにある黒いカタマリの右側ぎりぎりまで寄せます。すると、濃くなります。
修正したら適当にアルファチャネルつきpngで保存します。

9.反射イメージを設定する

もう山場は越えました。あとはccsmで反射のReflection Imageをさっき保存したイメージに設定して、反射を有効にするだけです。
疲れたよねー。

10.仕上げ

10.1 ATIユーザーへ

nVidiaユーザーはX上でそのまま動くらしいですが、ATIユーザーはXの上でXglをうごかして、その中でしか動かない状態です。(texture_from_pixmapうんたらといわれる)
これを上手くやり過ごすには、~/.xsessionに

Xgl :1 -ac -fullscreen -dpi 96 -br &

export DISPLAY=:1

#sh -c "sleep 5; compiz &" &
(sleep 5; compiz --replace &) &    # どっちでもいいのかな。
sh -c "sleep 5; kiba-dock &" &    # kiba-dock使ってる人だけ。

exec gnome-session

こんな感じで書いておくといい感じに動いてくれますが、終了を選んだときにシャットダウンや再起動が出なくなります。ログアウトして、ログイン画面からシャットダウン/再起動をしましょう。TODO:誰か打開策!
Xglの引数は

  • -ac:全ての接続を受け付ける:セキュリティホールだが付けないとXクライアントがつなげない...hint: xauth?
  • -fullscreen:全画面表示にする。無いと640x480くらいのちっちゃい画面になる。
  • -dpi 96:DPI設定。うちの場合これ付けないと文字がでかくなっちゃった。
  • -br:最初の背景を目がチカチカするあれから黒に変える。用は気分。

    です。

2007/12/24追記
https://wiki.ubuntulinux.jp/UbuntuTips/Desktop/3dDesktopBerylXgl?highlight=%28xgl%29によると、(なんでhttpsなんだろう)

Xgl :1 -fullscreen -ac -accel xv:pbuffer -accel glx:pbuffer &
DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
exec dbus-launch --exit-with-session gnome-session

とするとよいらしい。

手元では、上(元)のスクリプトのXgl、cookieとxauth、execを変更した

Xgl :1 -ac -fullscreen -dpi 96 -br &
export DISPLAY=:1
compiz --replace -c emerald &

cookie=$(xauth -i nextract - :0 | cut -d ' ' -f 9)
xauth -i add :1 . "$cookie"

exec dbus-launch --exit-with-session gnome-session

な感じに変更した。(cookieとxauthはバッククオートでひとつにできるはず?)
すると、gnomeの終了を選ぶとシャットダウンなど出てきて、さらにgtk2な見た目になっていい感じ。
ちなみに、-accel xv:pbuffer -accel glx:pbufferを付けると付けないとでは水効果やblur effectに差が出るかもしれない。

10.2 必要に応じて...

必要に応じて、以下の設定をするとよいでしょう。

  • Shift Switcherを有効にして、見え型タブのSwitcher modeを「めくる」に
    • 「xmodmap -e "add Mod4 = Super_L"」 をすると、Win+Tabでできるようになります。設定のSuperがWinキーに割り当てられます。~/.Xmodmapに書いておくとうまいかも。
  • 揺れるウィンドウをOFFにするとVistaっぽく、ONにするとぐんにょりプリンになって楽しくなります。
  • ImageLoadingカテゴリのTextを有効にするとShiftSwitcherでタイトルが出るようになります。(これ、ハマった)
  • compiz-fusion-plugins-unsupported?パッケージを入れている人は雪効果を付けると重くなります。雪のイメージを万札にするとリッチ!
  • アニメーションで開く/閉じるアニメーションをGlide2にして、Glide2の設定を位置=-0.05、角度=5.0にするとVistaっぽい開き/閉じ型になります。
  • さらに最小化をズームにするとさらにVistaっぽくなります。
  • ExtrasカテゴリのWindowPreviewsを有効にするとタスクバー?にポインタを当てたとき最小化されていなければプレビューがでます。

    他にもcompiz-fusionならではのエフェクトがたくさんあります。是非カスタマイズしてみてください。
    ヒント:3DキューブのSkydomeは、http://beryl-look.org/のSkydomeの"Spacedome"というのがおすすめ。

11.トラブルシューティング

最初にも書いたとおりcompiz-fusionは不安定です。よくある不具合と対処法を書いておきます。

  • メモリ使用量がいつの間にかやばい!
    • 上に書いてあります
  • タイトルバーとか枠が黒くてやばい!
    • 真っ黒でやばい!
      • blur windowsを再起動しましょう。
    • うっすら黒くて反射が消えててやばい!
      • 反射を再起動しましょう。
  • 3Dキューブを回転させるとたまに重いときがあってやばい!
    • 原因不明です。compizを再起動させるか、思い切ってXごと再起動しましょう。
  • 3Dキューブがのろくてやばい!
    • 3D windowsが有効になっているといろいろと不具合がでます。無効にするか諦めましょう。アップデートで直っているのを祈るのもありかな。

これくらいですかね。

ツッコミ欄

誤字脱字、うまい情報や間違い情報とか、スレ紹介でも大丈夫だよねー。

お名前:
  • HTML
  • PDF
RSS2.0 RSS1.0 Atom1.0