セッション管理がとても便利だという人は多い。でも、ときどきセッション管理が先走って、たのんでもいないことをしてくれたりする。たとえば弟にいじられてめちゃくちゃになったときの設定を保存しちゃうとか。もし GNOME のインストールがちゃんとしていれば、設定をデフォルトに戻すのは一瞬だ。
まず、X を完全に終了させよう。セッション管理を使っていれば、足あとメニューから Log out を選べば終了できる。これがだめなら、 control と alt をいっしょにおしながら、 backspace キーを押そう。これでもまだダメで、XDM か GDM のログインプロンプトが出てきたら、テキストログインに移行して(多くのシステムでは control-alt-F1 だけれど、わからなければ自分のシステムのドキュメンテーションを見てくれ!)、別のユーザ名でログインして、xterm でsu を使ってくれ。これは最後の手段。
そうしたら、 X から出て設定を削除しよう。これには ‾/.gnome/session ファイルを削除する。こんど X を起動するか、あるいは GDM でログインしたら、デフォルトのウィンドウマネージャとパネル、gmc 、ヘルプブラウザだけが立ち上がる。
セッション管理を使っているとき、セッション管理がセッションを見つけられないとそうなるんだよ。まず、セッション管理の設定をリセットしてみた? やりかたは すぐ上に)あるよ。これでダメなら、gnome-session がdefault.session ファイルを見つけられずに困ってるということだ。 gnome-core バージョン 1.03 以降では、このファイルは $prefix/share/gnome にあるはず。それ以前のバージョンだと、 $prefix/share にある。もしこのファイルがなければ、たぶん gnome-core をインストールしなおしたほうがいい。
これはおもて見よりはむずかしい問題だ。というのも、使ってる GNOME のバージョンで変わってくるからだ。いちばん簡単なのは、コントロールセンター のウィンドウマネージャ設定を使うことだ。これがなぜか失敗したときのやり方を、以下に挙げよう。
gnome-core バージョン 1.03 以前では、ウィンドウマネージャはそれを default.wm というファイルに書いておくことで選ばれた。このファイルのシステムデフォルトは、 $prefix/share/gnome か、 $prefix/share ディレクトリにあるはず。どっちかに default.session ファイルがあるだろう。
ユーザ独自の default.wm は、 ‾/.gnome ディレクトリに入れておくといい。default.wm ファイルの中身はこんな具合だ:
[Default] WM=なんたら |
ここで なんたら の部分は、自分の使いたいウィンドウマネージャを書いておく。システムデフォルトを変えたければ、 default.session ファイルも変えておく必要があるかもしれない。
gnome-core バージョン 1.04 以降では、ずっと簡単になる。環境変数 WINDOW_MANAGER で好きなウィンドウマネージャを指定してから、X を起動すればいい。この変数が設定されていなければ、 GNOME はスクリプトを実行して、適当にウィンドウマネージャを選んでくれる。あるいは古いバージョンと同じように ‾/.gnome/default.wm ファイルを編集してもいい。
GNOME のアイコンはほとんどが PNG 形式の画像で、これが libpng と Imlib 画像ライブラリを使って表示される。困ったことに、Imlib のこの部分はえらくわがままで、ご機嫌ななめだとゴミを表示してくれる(真っ黒な四角は、きれい目のゴミだ)。
この原因はいくつかある。いちばんよくあるのが、libpng がこわれているか、ないか、いかれてるかだ。もし libpng のバージョンが 1.0.2 なら、まずまちがいなくこわれてる。バージョン 1.0.1、または 1.0.3 以降しか使っちゃダメ。ないかどうかはすぐわかる。 "libpng.so" や "libpng.so.2" というファイルがなくて、ダイナミックライブラリを使ったシステムを使っているなら、libpng はないので、どっかで見つけてきてインストールすること。いかれてるかどうか見るには、 "libpng.so" や "libpng.so.2" が複数あったりしないか調べて、もしたくさんあったら、全部消してから、正しいのをインストールしなおすこと。
もう一つの可能性として、ぼくのマシンの一つ(AMD5x86 プロセッサで RedHat を使い、egcs を使用)で起きたケースがある。glib や imlib を使うときに最適化をかけると、ここで述べたような問題が起きる (imlib は PNG コードをロードするときに、glib の gmodule 部分を使う)。この 2 パッケージは、最適化のスイッチなしでコンパイルしてみて。それでなおるかもしれない。ぼくの知る限りでは、これはコンパイラのバグで、 GNOME のバグではない。