|;゚д゚) <X.orz にならないよう気をつけよう。

使用する機材
今回使用する機材は以下の通り。
グラフィックチップがアレゲだと X で使えないので注意。

ハードウェア
自作 PC/AT 互換機:MATROX G400MAX (シングルディスプレイ:X.Org 標準ドライバ)
VMware Player
OS
FreeBSD 6.2-RELEASE
X.Org のバージョン
X Window System Version 6.8.99.903 (6.9.0 RC 3)
設定ファイル一式
Xorg を使うには以下の設定ファイルが必要となる。

パッケージのインストール
今回は全てを packages (否 ports) でインストールした。
インストールした順番は以下の通りで、この順でインストールすると依存性のある物や必要な物が一緒にインストールされた。
linux_base-fc-4_9
linux-gtk-1.2.10_4
xorg-server-6.8.99.903_1
gnome2-2.16.1_2
ja-scim-anthy-1.2.1_1
必要最低限必要な物は以下の通り。
X.Org (X Window)
GNOME2 (デスクトップ環境)
SCIM+Anthy (日本語入力環境)
ついでに vmware-tools もインストールしておくと良い。
X の設定
設定ファイルは /etc/X11/xorg.conf にあるのでコレを書き換える。
自動設定できるかもしれないが、XF86Config をパクってきた (というかほとんど変わりなし) のでコレを使った。


基本は「XFree86 環境のセットアップ 〜 火狐/雷鳥を日本語環境で使うまで」と全く同じ (書き方というかオプション名も同じ) なのでそちらを参照のこと。

以下注意点など。

Matrox 純正ドライバを使ってみる
G400MAX にはデュアルディスプレイやクローンディスプレイなどの機能が備わっているが、X11 デフォルトのドライバではこの機能は利用できない。
そこで、もしこの特殊機能を利用するのであれば、Matrox Web サイトの Latest Drivers 配付ページに Linux 用ドライバがあるのでこれを利用しなければならない。

今回は G400MAX なので、"Matrox Millennium G400 / Matrox Millennium G400 MAX" の "4.2 (29 aug 05)" を使うことにした。
ダウンロードすべきファイルは "mgadriver-4.2.0.tar.gz" の方なので注意すること。

ダウンロードしたら展開して ./mgadriver-4.2.0/xserver/ に移動する。
バージョンごとにドライバファイルがあるが、今回は X.Org のバージョンが 6.8.99.16 なので ./6.8.2/ のドライバを使用する。
ドライバファイルは /usr/X11R6/lib/modules/drivers/ にコピーするが、その前にデフォルトのドライバ (mga_drv.o) を別名でバックアップでも取っておこう。
# cd /usr/X11R6/lib/modules/drivers/
# cp mga_drv.o mga_drv.o.org
# cd ~tmp/
# tar xfvz mgadriver-4.2.0.tar.gz
# cd ./mgadriver-4.2.0/xserver/6.8.2/
# cp * /usr/X11R6/lib/modules/drivers/
これで Matrox 純正ドライバになり、G400MAX の特殊機能を使用することが出来る。
xorg.conf で指定するドライバ名は X11 ドライバと同名なので変更する必要はない。
GNOME の導入と設定
X の設定が終わったら、自分の好きなウィンドウマネージャをインストールする。
今回は簡単に、かつ色々な機能を使うため、GNOME を導入した。

インストール方法
いつも通り pkg_add でインストールする。
# pkg_add gnome2-2.16.1_2.tbz
gdm の自動実行
起動直後に gdm (GNOME ログインマネージャ) を起動する場合は、/etc/rc.conf に 1行書き足す。
gdm_enable="YES"
また、/usr/X11R6/etc/rc.d/ か /usr/local/etc/rc.d/ に gdm 起動スクリプトがあるかを確認。
普通ならば有るはずだが、無い場合は /usr/local/etc/rc.d/ に起動スクリプトを作成。
以下は有るはずの gdm 起動スクリプトの中身。
# $FreeBSD: ports/x11/gdm/files/gdm.sh.in,v 1.8 2005/12/31 19:59:22 marcus Exp $

# PROVIDE: gdm
# REQUIRE: LOGIN cleanvar moused
#
# Add the following to /etc/rc.conf to start GDM at boot time:
#
# gdm_enable="YES"
#

gdm_enable=${gdm_enable-"NO"}

. /etc/rc.subr

name=gdm
rcvar=`set_rcvar`
command="/usr/X11R6/sbin/${name}"
pidfile="/var/run/${name}.pid"
procname="/usr/X11R6/sbin/gdm-binary"

load_rc_config ${name}
run_rc_command "$1"
起動スクリプトについて
gdm でログインする場合は X 起動スクリプト (.Xclients や .xsession) を読み込まないので、もし起動スクリプトを読み込む必要があるならば、gdm で「デフォルトのシステム・セッション (Default System Session)」を選択してからログオンすること。
その際、読み込まれる起動スクリプトは .Xclients となるが、gdm でウィンドウマネージャの面倒は見てくれないので最後の行には必ず
exec gnome-session
を付け加えること。
また、起動スクリプトには実行権限を付与しておくこと。
メニューへの追加方法
ユーザー単位でメニューに追加することが可能。
~/.config/menus/applications.menu がメニューディレクトリファイルで、~/.local/share/applications/ にメニューディレクトリファイルで指定したランチャファイル (*.desktop) が入る。
GNOME の日本語表示
gdm を使うのであれば、GNOME デスクトップマネージャの言語を「日本語」にするだけで日本語表示になる。
ただし、GNOME デスクトップ・マネージャそのものは日本語にならない。
もし GNOME デスクトップ・マネージャも日本語表示にする場合は、/usr/loca/etc/rc.d/gdm の上の方に
export LANG=ja_JP.eucJP
を追加すれば良い。
日本語入力環境を整える
FreeBSD 5.4-RELEASE では ATOK X の導入にしこたま苦労したあげく、起動できたものの入力が出来なかったので、今回は別の日本語入力システムを使うことにした。
# 6.x-RELEASE でも同じかと思われる。

今回は "SCIM-Anthy" を使用する。
導入はこれも packages でインストール可能。
ja-scim-anthy パッケージをインストールすれば依存するパッケージも自動的にインストールされる。

インストールが出来たら .Xclients に以下の 2行を加える。
scim -d
export XMODIFIERS='@im=SCIM'
gdm 経由の場合は "GNOME" セッションだと .Xclients を読み込まないので、"デフォルトのシステム・セッション" セッションで起動すること。

かな漢字エンジンの起動は CTRL + スペースで可能だが、全てのキーバインドの変更は GNOME のタスクバーにある「デスクトップ」→「設定」→「SCIM 入力メソッドの設定」で行える。

設定は ~/.anthy/ と ~/.scim/ に保存されるので、設定をコピーしたりバックアップを取る場合はこのディレクトリを丸ごと対象にすること。
また、日本語入力対象で SCIM-Anthy で入力できない場合は、アプリケーション上でマウスボタンの右クリックから「入力メソッド」で「SCIM Input Method」を選択する。
ウィンドウマネージャの起動スクリプトについて
.gnomerc
GNOME の古いバージョンでは gdm の "GNOME" セッション起動時に読み込まれていたらしいが、GNOME2.x になってからは無視されるようになったらしい。
# 実際に作っても参照されない。
.Xclients
gdm の "デフォルトのシステム・セッション" セッションで読み込まれる起動スクリプト。
gdm で gnome-session の面倒は見てくれないので、.Xclients の最後には必ず
exec gnome-session
を記述しておくこと。
# でないと「WM が 10秒以内で死にました」エラーが出る。
.xsession
gdm 経由ではなくコンソールから直接 startx した時に読み込まれる起動スクリプト。
なお、gdm の "GNOME" セッションで起動すると、gnome-session を直接起動する。
どのように起動しているかは /usr/local/etc/gdm/Xsession を参照のこと。