FreeBSDでのGNOMEインストール
これ、古い記事なのに未だに見られているようなのでアップデートします。
ただ、FreeBSDをいわゆるデスクトップ用途で使うのは激しくオススメしない。
以下、RELEASE版にxorg、GNOMEを入れることを想定。
ほぼFreeBSDハンドブックの手順どおり。
日本語版もあるが、ちと情報が古いので、英語版を見るのがベター。
Xのインストール
ではさっそく。
portsでインストールした日には何日かかるかわからないので、全部パッケージで入れることにする。
# PACKAGEROOT="ftp://ftp2.jp.freebsd.org";export PACKAGEROOT # pkg_add -r xorg bsdadminsctips
とすれば、xorgに関係するパッケージを全部入れてくれる(Bシェル系の場合)。
普通にやるとftp.freebsd.orgあたりにパッケージを取りに行ってしまい時間がかかるので、環境変数のPACKAGEROOTで日本のftpを指定しておく。
bsdadminscriptsは管理者用お役立ちツール。今回はbsdadminscriptsのうちの、rcコマンドが便利なので入れる。
Xの設定
Xorg7.4からdbus, haldを使うようになったので、rc.confを修正してdbus, haldをスタートさせる。dbusとhaldの順番は必ずこのとおりにすること。
mousedが動いていたら止める。
◎/etc/rc.conf
#For X dbus_enable="YES" hald_enable="YES" moused_enable="NO"
で、起動。
# rcstart dbus Starting dbus. # rcstart hald Starting hald. # pkill moused
rcstartはbsdadminscriptsでインストールされるコマンド。
次にhaldのキーボード設定をする。
fdiファイルを作って適切な場所に置いたら、必ずhaldをrcrestart haldなどとして再起動すること。
で、もうxorg.conの設定などはせず、rootでいきなりstartxとする。
最近は、大抵のケースであればもう自動でやってくれるので。
素っ気ないtwmの起動が確認できたらOK。
起動できない場合には、Xorg -configureとしてxorg.confを作り、/var/log/にあるXorgのログを見ながらぐぐって頑張る。
ところで、webを見回すと、FreeBSDなのに/etc/の下へxorg.confを置いているケースが散見される。動作に支障があるわけではないが、base system以外、つまりports, packagesで入れたソフトウェアは/usr/localの下に置くのがFreeBSDの嗜み。だから/usr/local/etc/X11の下に置きましょう。
GNOMEのインストール
# pkg_add -r gnome2-lite
GNOMEの設定
システム起動時にgdmも起動させる。
/etc/rc.confに下記のとおり追加。
gdm_enable="YES" gnome_enable="YES"
gnome_enable="YES"とすればgnome関連デーモンの起動もしてくれる。
インプットメソッドのインストール
pkg_add -r ja-vlgothic uim-gtk ja-uim-anthy
としてinput methodをインストール。
なお、gnome2.20ではこういったinput methodやlocale設定に問題があるので、gdmのプルダウンメニューでJapaneseを選んで有効にする。あるいは、~/.profileに'export GDM_LANG=ja_JP.UTF-8'という一行を加える。(http://www.freebsd.org/gnome/docs/faq2.html#q29)
で、再起動。
gdmが立ち上がりGNOMEも問題なく起動したが、音がならない。
これもFreeBSDハンドブックを参照して解決。
大まかな流れ。
- サウンド向けメタドライバをロードして、メジャーなサウンドドライバを片っ端から読み込む。
- 勝手に適当なドライバを判断してくれるのでそれを確認。
- 音を鳴らしてみて確認。OKなら、
- 見つけたドライバを起動時に読み込むよう設定。
具体的な手順は以下のとおり。
# kldload snd_driver # kldstat (大量のメッセージ) # cat /dev/sndstat FreeBSD Audio Driver (newpcm: 32bit 2007061600/i386) Installed devices: pcm0: <Intel ICH3 (82801CA)> at io 0x1c00, 0x18c0 irq 11 bufsz 16384 kld <span style="font-weight:bold;">snd_ich</span> [MPSAFE] (1p:1v/1r:1v channels duplex default)
ということで、snd_ichが狙いのモジュールと分かったので(上記出力のボールドは俺)、/boot/loader.confに一行追加。
snd_ich_load="YES"
以上