XFree86 のコンパイルと設定をする
OpenBSD に標準で付いて来る XFree86 は、X_locale が有効になっていません。
しかし、OS 自身のロケール機能が不完全で日本語を扱うことができないため、
X Window 側のロケール機能を有効にしておいた方が良さそうです。
そこで、X_locale を有効にして XFree86 を再コンパイルし、
インストールと設定をしました。
- XFree86 のコンパイルには tk/tcl 8.3 が必要です。
そこで、ports からインストールします。
※ OpenBSD 3.5 からは tk/tcl 8.4 が必要になったようです。
# cd /usr/ports/lang/tcl/8.3
# make
# make install
# cd /usr/ports/x11/tk/8.3
# make
# make install
- X_locale を使えるように、
/usr/XF4/xc/config/cf/OpenBSD.cf の以下の部分を書き換えます。
#define StandardDefines -DCSRG_BASED -DX_LOCALE
^^^^^^^^^^^^これを追加する。
- 全コンパイルをします。
これにより、インストール用の tar archive が出来ます。
また、XFree86がインストールされた環境で実行した場合には、
新しいバージョンの上書きインストールまで行われます。
これにはとても時間が掛かります。
# cd /usr/XF4
# mkdir dest rel
# make b-r
- 初めてインストールする場合には、tar archive からのインストールが必要になります。
ここで、各ファイルの "32" の部分は OpenBSD の版数により変わります。
# cd /
# tar xzpvf /usr/XF4/rel/xbase32.tgz
# tar xzpvf /usr/XF4/rel/xshare32.tgz
# tar xzpvf /usr/XF4/rel/xfont32.tgz
# tar xzpvf /usr/XF4/rel/xserv32.tgz
- /etc/X11/XF86Config を作成します。
このファイルの仕様は、man XF86Config を参照してください。
なお、このファイルを生成するには、xf86config コマンドが便利です。
当方で使用しているファイルをこのページの最後に添付します。
参考にしてください。
- /etc/sysctl.conf ファイルの以下の行を有効にします(行頭の # を外す)。
インストール時に X Window を使う設定にした場合には、
ここは、既に有効になっているはずです。
machdep.allowaperture=2 # See xf86(4)
- xdm を使用しするのなら、/etc/rc.conf ファイルの以下の箇所を変更します。
xdm_flags=""
- 必要に応じて、xdm のログイン画面をカスタマイズします。
カスタマイズは、/etc/X11/xdm 配下のファイルを変更することで行います。
なお、デフォルトでは、OpenBSD の公式キャラクター(バージョン毎に異なる)が出迎えてくれます。
- ATI Rage128 を使い、解像度 1600x1200 専用で表示する設定です。
Section "Module"
Load "dbe"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
Load "type1"
Load "freetype"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
EndSection
Section "ServerFlags"
# Option "NoTrapSignals"
Option "DontZap"
Option "DontZoom"
Option "BlankTime" "30"
Option "StandbyTime" "30"
Option "SuspendTime" "30"
Option "OffTime" "0"
EndSection
Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
Option "AutoRepeat" "300 30"
# Option "Xleds" "1 2 3"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc101"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "wsmouse"
Option "Device" "/dev/wsmouse"
# Option "Emulate3Buttons"
# Option "Emulate3Timeout" "50"
EndSection
Section "Monitor"
Identifier "EIZO F931"
HorizSync 31.5-120
VertRefresh 59-100
Option "DPMS"
EndSection
Section "Device"
Identifier "ATI RAGE 128"
Driver "r128"
EndSection
Section "Screen"
Identifier "Screen 1"
Device "ATI RAGE 128"
Monitor "EIZO F931"
DefaultDepth 24
Subsection "Display"
Depth 8
Modes "1600x1200"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1600x1200"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1600x1200"
ViewPort 0 0
EndSubsection
EndSection
Section "ServerLayout"
Identifier "Simple Layout"
Screen "Screen 1"
InputDevice "Mouse1" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"
EndSection