Linuxゲリラ戦記

GUIをぐりぐり。

左を向いているペンギンみたいなキャラクター、ナックス

Arch Linuxインストール記(GUI環境を整えよう編)

前回のArch linuxインストール記(とりあえずインストール編)からの続きです。

Arch Linuxのインストールが済んだら早速起動してみましょう。

最初はrootユーザーしかいないはずなので、ユーザー名root、パスワードはインストール時に決めたrootユーザーのパスワードでログインします。

まず、真っ先にする事はadduserコマンドで一般ユーザーを作ることです。一回、rootユーザーでGUI環境を整えた後一般ユーザーを作ってGUIを起動したら、なぜか一般ユーザーでは画面が真っ暗。rootユーザーだと表示される。ログにエラーは残らないという謎の現象を経験しましたので、私のような失敗をしないように。

# adduser

でもって、パッケージをインストールするためのソースリスト、及び既存の環境のアップデートを行います。Arch Linuxではパッケージ管理にpacmanというコマンドを使用します(Pacman - ArchWiki)。

が、pacmanを使う前にソースリストを編集して日本からパッケージをダウンロードするように設定しましょう。

現在の設定だと公式のftp.archlinux.orgからダウンロードするようになっていると思いますが、「皆がftp.archlinux.orgを使うから回線が限界です!お願いですから極力ミラーを使うようにしてください!(Arch Linux - News - Throttling ftp.archlinux.org + rsync.archlinux.org)」って公式サイトが叫んでいます。

既存の/etc/pacman.d/mirrorlist日本のミラーを使うよう編集した/etc/pacman.d/mirrorlistに書き換えます(一番上のミラーリストに#をつけてコメントアウトしただけです。もし日本のミラーを#をつけてコメントアウトしていたら#を外しましょう)。

# vi /etc/pacman.d/mirrorlist

もちろんviではなくnanoを使っても構いません。

# nano /etc/pacman.d/mirrorlist

編集し終わったらソースリストと現在の環境をまとめてアップデートします。

# pacman -Syu

ちなみに、pacman -Syが最新のソースリストと同期。pacman -Suが既存の環境のアップデートです。

さて、一般ユーザーの作成とアップデートを行ったらxorgパッケージをインストール!……するまえに、一応公式サイトでxorgの項目をチェックします。

Xorg - ArchWikiを見ると、「最新のxorgは、HALっていうハードウェアとソフトウェアの仲介をなすソフトを使っているんだ。だから、まずHALをインストールしてね!」と書いています。で、公式サイトのHALのwikiもチェックする(HAL - ArchWiki)と「halはD-Bus daemonの助けも必要です」と書かれていますのでとりあえずhalとdbusをインストールします。

# pacman -S hal dbus

ちなみに、pacman -S [パッケージ名]でパッケージのインストールです。パッケージは一度に複数指定できます。

HAL - ArchWikiの説明にあるように、このhalデーモンとdbusデーモンをパソコン起動時に自動的に起動するようにデフォルトの/etc/rc.confhalとdbusが自動的に起動するように書き換えた/etc/rc.confにします。書き換えはviでやってもいいですし

# vi /etc/rc.conf

nanoエディタでも構いません。

# nano /etc/rc.conf

書き換えたらパソコンを再起動しましょう。

さて、ついにxorgのインストールです。まずは試しにxorgのパッケージを検索してみましょう。

# pacman -Ss xorg

pacman -Ss [パッケージ名]でパッケージの検索です。検索は一般ユーザーでも出来ます。多分、こんな感じの結果になるでしょう。

もし結果が多すぎて全部を確認できない場合はlessコマンドなども併用しましょう。

# pacman -Ss xorg | less

結果を見ると、パッケージ名の横に(xorg)などと書かれているものがいくつかあると思います。例えば

# pacman -S xorg

とすると、パッケージ名の横に(xorg)と書かれたパッケージがまとめてインストールできるようです。どのパッケージをインストールすれば良いか分からない初心者には大助かりの機能ですね。もちろん私も初心者なので、遠慮なく

# pacman -S xorg

でインストールします。

これでxorg関連のパッケージがまとめてインストールが出来ます。

が、まだxorgのドライバ関連はインストールされていません。ドライバといえば初心者Linuxユーザーにとっては「自分のパソコンを動かすためにどのドライバをインストールすればいいか分からない」というものです。

私ももちろん初心者Linuxユーザー。「どうしよう?」と思いましたが、先ほどのxorg関連のパッケージ検索の結果を良く見てください。(xorg-input-drivers)というパッケージグループと(xorg-video-drivers)というパッケージグループがあります。つまり、これらのパッケージグループをインストールすれば動くはずです。なぜなら、全種類のインプットドライバとビデオドライバをインストールすることになるからです。まとめてインストールするのは「シンプル最小こそ美学」なArch Linuxの教義に反することになりますが、「ごめんね。初心者だから。ごめんね」と思いながらインストールしましょう。

# pacman -S xorg-input-drivers xorg-video-drivers

インストールが終わったら念のために再起動して、一般ユーザーからログインしましょう。最初の方に言ったように、私は一度「一般ユーザーからなぜかXが起動しない」という謎の現象を経験したので、皆さんにもこんなことになっていないように確認してほしいんです。「再起動しなくても普通にexitとかlogoutとかでログアウトしてから一般ユーザーからログインすれば良くね?」と思う方もいるかもしれませんが、私の信条は「色々インストールした後は、とりあえずパソコンを再起動してきちんと動くかどうか試した方が気持ちが良い」です。GUI環境の基本、Xを起動するのはstartxコマンドです。

$ startx

Xの起動には結構時間がかかります。私の場合(メモリ256MB)、起動におよそ100秒かかりました。

おそらくほとんどの人は正常にGUIが起動するようになっていると思います。

さて、ここからは微調整。中には「うーん、上手く動かない」と言う人もいるでしょう。Xorgのログの場所は/var/log/Xorg.0.logです。こいつをチラ見しながら修正していきます。

$ vi /var/log/Xorg.0.log

でエラーの原因を確認できます。もちろん、viではなくnanoエディタで確認しても構いません。

$ nano /var/log/Xorg.0.log

私の場合は二つ問題がありました。一つは私のパソコンはviaという種類なので、本当ならopenchromeというドライバで動くはずなのですが動かないこと(画面が真っ暗のまま)。ただ、これはopenchromeのせいではなく私のノートパソコンが多分変な作りだからでしょう。「ノートパソコンはたまに特殊な部品を使っていて相性が悪い場合がある」というのは良く聞く話です。これはvesaドライバを使うことによって解決します。

もう一つは1024x768の解像度で動くはずなのに800x600の解像度で動いてしまっていること。

ただ、この二つはいつも私のパソコンでLinuxをインストールする時に経験している問題なので、いつも通りに「Xの設定ファイル、xorg.confをいじって解決しよう」と思ったのですが、なぜか/etc/X11/以下にxorg.confファイルがない。いつもはここにあるのに。

Xorg - ArchWikiによると「これから時代はhalです。xorg.confはオプション程度の扱いになりますので、必要がない場合は無理に使わなくても構いません」と書いてあります。

いや、でも私には必要です。どうやら以下のコマンドでxorg.confの元ファイルが作れるそうです。

# Xorg -configure

このコマンドでxorg.conf.newという元ファイルができるので、中を好みに応じて書き換えて/etc/X11/の下にxorg.confという名前でコピーします。

私の場合のデフォルトのxorg.conf.newファイル私の環境に合わせて書き換えたxorg.conf.newに書き換えて

# vi xorg.conf.new

/etc/X11の下にコピーします。

# cp xorg.conf.new /etc/X11/xorg.conf

で、動かしたところvesaドライバはうまく動いてくれているようですが、画面の解像度は800x600のままです。

ググったところHorizSyncの値が自動検出したものでは低すぎるようです。これもxorg.confで指定することで解決します。HorizSyncとか書き加えたxorg.conf

これで私もそれなりに動くようになりました。後はログ(/var/log/Xorg.0.log)を見て出来るだけ(EE)エラーや(WW)警告を無くします。

(WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)の警告はacpidをインストールします。

# pacman -S acpid

インストールさえすれば特に設定をしなくてもパソコンの再起動によりhalデーモンが次回から自動的にacpidを起動してくれます。

(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.の警告は、先ほどのxorg.confの不要な部分(マウスとキーボードの設定部分)を削除することにより対応します。( 無駄を削除したxorg.conf

font pathに関する警告は無視しても構いません。気になる人は「このディレクトリがないんですけど」って警告文に出ているので、多分指定された場所にmkdirコマンドでディレクトリを作ってあげれば警告はなくなります。

さて、あらかた警告(WW)を無くすことが出来ました。エラー(EE)は完全に無いはずです(Linuxにおいてはエラーは完全に無くすべきものですが、警告は「まぁ、あってもいいか」みたいなものです)。さて「警告にもエラーにもなっていないけど、それは違うだろ」っていう記録がログに残っていました。

(**) Option "xkb_rules" "evdev"
(**) Option "xkb_model" "evdev"
(**) Option "xkb_layout" "us"

キーボードのキー配列がjp106になっておらず、またxkb_layoutもおそらく正しくはjpになるべきところです。これに対しては最初はxorg.confで対処しようと思いましたが、うまく認識してくれず。どうやらこれもhalを使うようです。

/usr/share/hal/fdi/policy/10osvendor/配下に10-keymap.fdiというファイルがあります。これがキーボードを設定するための元ファイルとなるそうです。これを/etc/hal/fdi/policy/以下にコピーします。

# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/.

この/etc/hal/fdi/policy/10-keymap.fdiを編集します。元の10-keymap.fdiファイル日本語キーマップのための10-keymap.fdiファイルに書き換えます。ただ、ググってはみたものの分かりやすく説明されたサイトが見つからず(あっても英語で良く分からず)これが正しい書き換え方かは分かりません。自己責任でお願いします。

以上の設定をしたら、一度完全にパソコンをシャットダウンし起動します。今回、halを設定ファイルで設定しましたが設定はhalを再起動しないと反映されません。halデーモンが起動するタイミングはパソコン起動時です(最初の方で設定しましたね)。ただ、デーモンは「普通の再起動」だと完全に終了しない場合があるそうです。一度完全にパソコンの電源を切ることで、確実にhalデーモンを終わらせてから、再びパソコンの電源をつけることで、halデーモンの完璧な再起動が行われます。

試しにGUIを起動して、その後ログ(/var/log/Xorg.0.log)を確認して、jp106キーボード、jpになっていることを確認してください。

今回はここまで。次回はArch Linuxインストール記(KDEを入れよう編)です。

なお、解説でxorgのインプットドライバとビデオドライバをまとめてインストールしましたが、xorgのログを見ることで実際に何のドライバを使用しているかを確認することが出来ます。逆に言えば、何のドライバを使用していないかも確認することが出来ます。余裕があれば、ログを見ながらいらないドライバを削除することにもチャレンジしてみてください。

$ pacman -Qs xorg-input-drivers

で既にインストールしているxorgのためのインプットドライバを。

$ pacman -Qs xorg-video-drivers

で既にインストールしているxorgのためのビデオドライバを確認できます。

pacman -Qs [パッケージ名]は、既にインストールしているパッケージの検索です。

# pacman -Rsn [パッケージ名]

でパッケージを後腐れ無く削除できます。

#注意・上記は2009年8月20日現在の情報です。より正確な情報はArch Linuxの公式サイトを参照する事を強くお勧めします。