まずは自分のマシンのカタログやマニュアルを見てみよう。 通常はグラフィックアクセラレーターにどんなチップを使っているか書いてあるはずである。 私のマシンの場合は、IBM PS/V Master RWE なので、S3 Incorp. の Vision 864である。
また、ディスプレイの許す水平同期信号の最大値と最小値、垂直同期信号の最大値と最小値をディスプレイのマニュアルからメモしておく。 この値を間違えると、ディスプレイを破壊することもあるようなので、注意が必要だ。
そして、グラフィックアクセラレーターカードに用いられているRamDACの型番と、ドットクロックの最大値を調査しよう。 RamDACはDigital-Analog-Converterの略で、ビデオカードのRAM上にあるデジタル画像データをディスプレイに送る時にアナログ信号に変換するチップである。 ドットクロックの値とは、1秒間に何ドットの色がRamDACによって変換されるかの目安になるクロックということらしい。 RamDACの型番まではカタログに記載されていない場合も多いようなので、以下の方法で調査すると良かもしれない。
X -probeonlyこの方法で調査すると、通常は表記されていないRamDACの名前などの情報がある程度得られる。
PS/V Master RWEのオンボードビデオの場合は、s3_sdac、別名86C817と呼ばれているDACが使われている。 また、PS/V Master 上にセットされた s3_sdac のドットクロックは最大 135MHz であると Niftyserve のチャットで教えてもらった。
上記で調査したハードウェアに関する情報の他、マウスの種類は何かとか、マウスのデバイス名は何かとかビデオカードに載っているRAMはどれくらい容量があるのかとか色々英語で聞いてくるので答える。 以上の質問に答えると、xf86config というプログラムは /etc/XF86Config というファイルにデータを出力する。 以後、Xサーバーは /etc/XF86Config というファイルを見てから起動するので、いちいち質問に答えるのが面倒になったら直接 /etc/XF86Config を編集しても良いだろう。
設定ファイル中にはコメントが書かれているので、何を設定しているのかは見えやすいだろう。 ここでは、デフォルトの解像度を変更してみる。
Section "Screen"とあるのが、利用できる解像度などのデータが記述されている部分である。 色々なXサーバー用の指定が複数あるので、今現在使われているXサーバー(例えば、S3用アクセラレーション機能を利用したXサーバーなど)のための Section "Screen" を、コメントを頼りに探そう。 私の設定を以下に抜粋する。
Section "Screen" Driver "accel" Device "S3" Monitor "idek" Subsection "Display" Depth 8 Modes "1280x1024" ViewPort 0 0 Virtual 1280 1024 EndSubsection Subsection "Display" Depth 8 Modes "1024x768" ViewPort 0 0 Virtual 1280 1024 EndSubsection Subsection "Display" Depth 16 Modes "1024x768" ViewPort 0 0 Virtual 1024 768 EndSubsection EndSectionSection "Screen" の下に Subsection "Display" という記述がある。 ここの内部で解像度や色数を指定する。 Depthはビット数で色数を指定するので、8は256色、16は65536色を意味する。 Modesは表示される解像度を、Virtualは表示はされないが、マウスを動かすことによってスクロール可能な仮想画面の解像度を設定する。 一番最初に記述されている Subsection "Display" がデフォルトで使われるので、自分の使いたい画面モードを一番上にカット&ペーストすると良い。
なぜ~/.Xdefaultsと~/.Xresourcesの二つのファイル名があるのかというと、X11R5までは~/.Xdefaultsというファイル名を使っていたのだが、X11R6からリソースという名前にしようということで~/.Xresourcesというファイル名に変更になったらしい。
リソースファイル内部は普通のテキストファイルで、一般には
アプリケーション名*変数名: 値と記述する。 例えば、ktermというアプリケーションの設定は以下のようになる。
KTerm*scrollBar: true KTerm*international: True KTerm*inputMethod: kinput2 KTerm*preeditType: OverTheSpotアプリケーション名の先頭は大文字にする約束になっているらしい。 アプリケーション名を省略すると、すべてのアプリケーションで変数名が有効になるようだ。
FreeBSDが前提としているキー配列は、アメリカのいわゆるASCIIキーボード(101キーボード)である。 だが、今まで日本のJIS配列(106キーボード、最近のWindowsキーボードは109キーボード)に慣れ親しんでいると、記号文字の配置が異なるので、慣れるまで結構大変である。 まずは、 106 キーボードの設定 に記述してある設定を行おう。 X Window System上でも、上述の106キーボードの設定が有効になるのだが、'|'と'\'のキーが入力できないので、さらに設定を行なう必要がある。
keycode 123 = backslash underscore keycode 133 = backslash bar
XFree86 3.1.2D以降のバージョンのX Window System上では、キーマップを独自に持っている為、コンソール上で設定したキーバインドは無視されてしまう。 このバージョンの X Window System を 106キーボードに対応させるには、以下の様にする。
XkbKeymap "xfree86(jp106)"という1行を追加する。
XFree86 3.2や、XFree86 3.1.2G以降のバージョンのX Window System上では、キーマップを独自に持っている為、コンソール上で設定したキーバインドは無視されてしまう。 このバージョンの X Window System を 106キーボードに対応させるには、以下の様にする。
XkbModel "jp106" XkbLayout "jp"という記述を追加する。
Ctrl+Meta+(テンキーの)+ 解像度切替え Ctrl+Meta+(テンキーの)- 解像度切替え Ctrl+Meta+BackSpace Xの強制終了 Ctrl+Meta+F1〜F3 コンソール画面1〜3へ切替え ↑この状態でCtrl+F4 Xに戻る
Alt+TAB Windows95ライクなフォーカスウィンドウ切替え Ctrl+→ 仮想デスクトップ画面切替え Ctrl+← 仮想デスクトップ画面切替え Ctrl+↑ 仮想デスクトップ画面切替え Ctrl+↓ 仮想デスクトップ画面切替え Alt+→ 仮想デスクトップ画面スクロール Alt+← 仮想デスクトップ画面スクロール Alt+↑ 仮想デスクトップ画面スクロール Alt+↓ 仮想デスクトップ画面スクロール