Linuxのデスクトップは、エンドユーザーにとっては安定した環境だ。しかし、どんなに安定した環境であっても、ときには問題が起こる。問題が起きたときに、それを解決する方法を知っておくのはいいことだ。しかしどこから始めるべきだろうか?ログファイルの数もデスクトップの種類も数多くある中で、問題を抱えるLinuxマシンを直すのに最善の方法は何だろうか。
もちろん、Linuxのデスクトップ環境は現在変動期にあり(GNOME ShellとUbuntu Unityがまもなくリリースされる)、ユーザーがどんな問題を解決しなくてはならないかは、正確にはわからない。しかし、あるデスクトップでトラブルシュートの方法を学べば、別のデスクトップでも応用できる。
1.ログを調べる
Linuxは多くの情報を記録している。これには、カーネルからユーザー空間に至るまでが含まれており、もちろん、デスクトップの問題についても記録される。しかし、トラブルシューティングをするにはどのログファイルから始めればいいだろうか。もし、デスクトップでX.orgを使っているのなら、/var/log/Xorg.0.logから調べるのが論理的だ。このログファイルでは、X Windowに関する問題を発見できる(多くの場合、X Windowがプラットフォームになっているはずだ)。デスクトップにログインできない場合でも、仮想端末(Ctrl-Alt-F2で別の仮想端末に切り替えられる)からログファイルを調べることができる。この方法は、使っているデスクトップ環境自体の具体的な情報を得ることはできないが、X Windowの問題を切り離すことはできる。
2.コマンドラインからログインする
デスクトップで生じている問題の原因を調べるのにもっともよい方法の1つは、コマンドラインからログインすることだ。これには、ブートプロセスをランレベル3で止めなくてはならない。ブートプロセスをランレベル3で止めると、システムからユーザー名とパスワードの入力を要求され、ログインに成功するとbashのプロンプトが表示される。ウィンドウシステムを立ち上げるには、~/.xinitrcファイルにgnome-sessionやstartkdeという行を追加し、startxコマンドを実行する必要がある。デスクトップに問題があれば、ここでエラーメッセージが表示されるので、そこから問題のヒントを得られるかも知れない。
3.ログインの処理に問題がないか調べる
ユーザーのログイン処理が問題な場合もある。これは、シャドウパスワードのエントリの問題かもしれないし、ユーザーの設定ファイルが壊れているのかもしれない。これを調べるための一番簡単な方法は、別のユーザーとしてログインしてみることだ。別のユーザーを持っていない場合は、次のようにしてコマンドラインから作成することができる。
sudo useradd -d /home/testuser -m testuser sudo passwd testuser
このtestuserでは問題なくログインできるようなら、普段使っているユーザーに関して何か問題があるということがわかる。