2009年10月2日金曜日

GDM から選択できるセッションを増やす

新しくインストールした E16 を GDM から選択できるようにする。

GDM の設定ファイルには "/usr/share/gdm/defaults.conf" と "/etc/gdm/gdm.conf" があり、一般ユーザーは後者を変更するようになっているようである。

GDM が認識するセッション(.desktop ファイル)は、"/usr/share/gdm/defaults.conf" の中の "[daemon]" セクションにある "SessionDesktopDir" に指定されているパス内にあるものに限られる。この変数には、デフォルトでは "/usr/share/gdm/BuiltInSessions/:/usr/share/xsessions/:/etc/dm/Sessions/" が指定されている。

一方 E16 セッション用のファイル(e16.desktop) は "/usr/local/share/e16/misc/" にインストールされ、"/usr/local/share/xsessions/" にシンボリックリンクが作成される。そのため、このままの設定では、GDM は E16 のセッションを認識できない。

そこで "/etc/gdm/gdm.conf" 内の "[daemon]" セクションに "SessionDesktopDir" を以下のように定義する。

最後に、設定ファイルが変更されたことを GDM に通知する必要がある。それには以下のコマンドを実行する。

# gdmflexiserver --command="UPDATE_CONFIG daemon/SessionDesktopDir"

このあとログアウトすると、GDM のセッション選択パネルに E16 が追加され、選択できるようになっている。

これで、E16 を選択すれば、めでたく E16 が立ち上がる . . . はずなのだが、当初は以下のメッセージが出て、E16 が立ち上がらなかった。(画面の都合により改行)

gdm[3969]: WARNING: session_child_run: セッション・ファイル
"e16" の中に Exec 行がありません。代わりにフェイルセーフの
GNOME を起動します

しかしいくら "e16.desktop" を見直してみても間違っていないように見える。マシンを再起動してみても効果がなかった。そこでいったんシャットダウンし、翌日再び同じことをやってみたところ、なんと正常にログインできてしまった。どうしてこうなったのか、原因は不明。

2009年10月3日追記
当初おかしくなったのは、再起動したつもりで、やはりしていなかったためかもしれない。E17 をインストールした時も、再起動しないと同じ現象が発生した。この時はコールドブートして直った。

0 件のコメント:

コメントを投稿