加藤(大阪)です。 Tue, 2 Jun 2009 00:37:14 +0900 付 Daisuke SUZUKIさんのメールより: > >「このままこの設定を使用しますか」と表示されるダイアログが出た > > きりで、40 秒以上(数分)待っても復帰せず、フリーズします。 > > フリーズではなく、metacity が落ちて、compizおよびgtk-window-decorator > が動いていないという状態ですね。 (「自動起動するアプリ」から compiz と emerald を削除し) もう一度この状態 を調べてみました。 仮想コンソール(1)に降りて、top を ユーザー名指定(-U name)で起動して置い て、X 画面に戻り、「視覚効果」を「通常に」しました。 画面が一度デスクトップに何もない(素の壁紙だけが表示されている)状態にフ ラッシュして、復帰後、「このままこの設定を使用しますか」ダイアログが表示 されました (前回と同じ状態です)。 ここで再度仮想コンソール(1)に降りて、top 画面を見た所、 gnome-appearance-properties 起動後、 compiz --ignore-desktop-hints glib gconf ccp --replace gtk-window-decorator が起動していました (この時点では metacity は落ちています)。 その後、規定時間が経過したと思われる頃に、 metacity --replace が起動しました。 ここで本来なら compiz が metacity に置き換わる筈なのでしょうが、compiz も gtk-window-decorator も生き続けています。 これが、自分が「フリーズ」と表現した時の状態です。 どうやら compiz を終了させるのに失敗しているようで、仮想コンソール(2) で 試した所、なぜか killall や pkill (オプションなし)では compiz が殺せませ んでした。 $ kill -kill PID で compiz を強制終了させ、X に戻ると、metacity が働いた 状態で、gnome-appearance-properties ウィンドウが、「視覚効果」- なし、に 復帰していました (gtk-window-decorator は、まだ生きています)。 > compiz-gtk の実行で失敗しているようなので、手で実行してみてもらっても > いいですか? > compiz-gtk --replace X でターミナルを起動し、$ compiz-gtk --replace を実行した所、画面がフ ラッシュ → ウィンドウ装飾なしの状態になり、gnome-appearance-properties が起動していない事を除けば、前と同じ状態になりました。 (metacity --replace はしばらく待っても起動しません) 仮想コンソール(2) で、$ kill -kill compiz-PID、$ metacity -d :0.0 & を実 行すると、metacity に復帰しました。 この時ターミナルには、 (process:11317): GLib-WARNING **: g_main_context_prepare(): main loop already active in another thread 強制終了 と、表示されています (11317 は compiz の PID です)。 > gtk-window-decorator & > compiz ccp --replace & これは正常に compiz に切り替わりました。 $ metacity --replace & で、metacity に復帰しますが、gtk-window-decorator プロセスはまだ生きてい ます。 > おそらく、LIBGL_ALWAYS_INDIRECT=1 compiz --replace で動かすと > うまく動かないのではないかと思います。 gtk-window-decorator を殺し、もう一度 metacity か生きている状態で、 $ LIBGL_ALWAYS_INDIRECT=1 compiz --replac を実行した所、これも正常に compiz に切り替わりました。 お話しの通り、ウィンドウ装飾を有効にするには、compiz 実行後に、 $ gtk-window-decorator & を実行する必要がありましたが。 > emerald は gtk-window-decorator の代わりにウインドウ装飾を担当します。 > 廃止はしませんが、デフォルトでは使いません。 了解しました。今後は gtk-window-decorator で試します。 > ドライバ依存ですが、隠蔽するために compiz-gtk script を wrapper として > 使っています。ちゃんと fallback しないといけないんですが、うまく動いて > いないようです。調べておきます。 compiz-gtk を拝見し、こちらの環境で調べた所、 DIRECT → "Yes", ISSW → 0, HAVETFP → 3 で、runCompiz $@ は実行されてるようでした。 compiz-gtk を ~/bin/compiz-gtk.mine にコピーし、試してみましたが、そのま までは勿論動かず、いろいろやってみると、 - exec compiz --ignore-desktop-hints glib gconf ccp $@ + exec compiz --ignore-desktop-hints gconf ccp $@ と、'glib' をはずし $ ~/bin/compiz-gtk.mine --replace & を実行すると、とりあえずは compiz に切り替わりました。 $ metacity --replace & で、正常に metacity に戻りました。 修正した ~/bin/compiz-gtk.mine を /usr/bin/compiz-gtk に書き戻すと、「外 観を設定」で、視覚的効果の各項目の切り替えが可能になりました。 ログアウト → 再ログインしても、前回の設定は反映されています。 ('glib' をはずした影響については、良く理解出来ていません) > # 現状安定してまともに compiz が動く環境は実はあまり多くなく、 > # nvidia-180.x系 か、intel 系、R300までの ATI といったあたりになっています。 > # このあたりは他の distribution でも大きくはかわりません。 173.14.18 でも compiz が動く事はこちらでは確認出来ました。 'glib' (compiz の plugin?) の件を別途解決して頂ければ、Vine で compiz が使えるユーザーが増えるのではないかと思います。 よろしくお願いします。 -- 加藤 雅 <mkato@xxxxxxxxxxxxx> http://add10.hp.infoseek.co.jp/rox/ http://www2.odn.ne.jp/add10/fluxbox/