VineSeed ML アーカイブ



[VineSeed:17723] Re: upload: task-gnome, task-compiz

  • From: 加藤 雅 <mkato@xxxxxxxxxxxxx>
  • Subject: [VineSeed:17723] Re: upload: task-gnome, task-compiz
  • Date: Tue, 2 Jun 2009 21:05:12 +0900
加藤(大阪)です。

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/