FreeBSDでのGNOMEインストール

これ、古い記事なのに未だに見られているようなのでアップデートします。

ただ、FreeBSDをいわゆるデスクトップ用途で使うのは激しくオススメしない。
以下、RELEASE版にxorgGNOMEを入れることを想定。


ほぼ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

で、再起動。


FreeBSDサウンドカードの設定

gdmが立ち上がりGNOMEも問題なく起動したが、音がならない。

これもFreeBSDハンドブックを参照して解決。

大まかな流れ。

  1. サウンド向けメタドライバをロードして、メジャーなサウンドドライバを片っ端から読み込む。
  2. 勝手に適当なドライバを判断してくれるのでそれを確認。
  3. 音を鳴らしてみて確認。OKなら、
  4. 見つけたドライバを起動時に読み込むよう設定。

具体的な手順は以下のとおり。

# 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"

以上