Chapter 15. X

目次
15.1. X ってなに?
15.2. 設定
15.3. マウス
15.4. キーボード
15.5. ディスプレイ
15.6. ビデオカードと X サーバー
15.7. X の開始
15.8. X のカスタマイズ
15.9. ほかのウィンドウマネージャー
15.10. xdm によるグラフィカルなログイン

15.1. X ってなに?

X Window System は NetBSD や 多くの Unix (および非 Unix) システムで 使えるグラフィカル環境です。 実際に、それは強力で: X プロトコル の利用法のおかげで、 X Window System は "ネットワーク トランスペアレント" で、 分散型データ処理アプリケーション (クライアント-サーバー)を走らせられます。 おおよそ、この意味は、 アプリケーションを あるホスト (クライアント) で実行して、 ほかのホスト (サーバー)上にgraphical画像的出力を トランスペアレントに表示できるということで、 ; トランスペアレントに とは、 アプリケーションに変更を加えることなしに同じ結果を得られるということです。 X Window System は X Consortium によって作られ保守され、 現在のリリースは X11R6 です。 NetBSD で使う X は XFree86 で、その魅力は X Window System の、自由に再配布できるオープンソース実装であることです。

X を使い始めるには、最初に、 多くの混乱されられる新しい用語を見つけます。 X 利用の基本要素は:

まとめ: グラフィカル環境を使うためには

註: 今時は明らかになっていると思いますが、 GNOME や KDE のようなデスクトップは X サーバーを提供しません。 これらは、XFree86 が提供していて、 すでに入っている X サーバーの上で動き、 KDE および GNOME は それ独自の ウィンドウマネージャー あるいは、別にインストールされたウィンドウマネージャーを使えます。

通常、 X サーバー では1つのウィンドウマネージャーだけを動かします。 (でも、1台のコンピューターで複数の X サーバーを動かすことができます。)。 もし自分で選んだ ウィンドウマネージャーが走っていなくて、 KDE/GNOME を動かすなら、 デスクトップ環境 が ウィンドウマネージャー を走らせます。

15.2. 設定

インストール中に最小設定を選ばなければ X はすでにインストールされて 実行する準備ができていて; 必要なことは脅威的な /etc/XF86Config ファイルの生成だけです。 それがどう言うものかと調べる方法というと、 /usr/X11R6/lib/X11/XF86Config.eg ファイルを見てみましょう。 設定ファイルの構造は公式なものは XF86Config(4/5) に書かれていて、次のコマンドで見ることができます:

# man XF86Config    

システム設定前に /usr/X11R6/lib/X11/doc にあるドキュメントを注意して読んだほうが賢明で: ビデオカードに対するさまざまな README ファイルや、 マウスなど NetBSD に特化したもの (README.NetBSD)があります。 まず始めに QuickStart.doc を読むことを薦めます。 ほかのシステムのように、とっとと始めて労力を省きたいかも知れませんが、 しかし、このドキュメントを読むのに時間を 使うことは無駄なことではありません: X と自分の設定の理解は、 将来、何度も便利だと気がつき、ハードウェアー(and ソフトウェアも)で 多くのことができるでしょう。

/etc/XF86Config ファイルは エディターを使って手作業で作ることも、 対話型設定プログラムによって作ることもできます。 一番良く知られているプログラムは xf86config および XF86Setup です。 前者はテキストモードプログラムで、 X に標準でついていて; 後者はパッケージコレクションからインストールできる、グラフィックプログラムです。

両方を取り混ぜた方法が良く: 最初に 2つのプログラムのどちらかで XF86Config を作り、確認して、 それを、エディターで手作業で調整するというものです。

2つのプログラムはインターフェースは異なりますが、両方とも 同じ情報を必要とし

システムの設定前に 必要な情報を集めることが必要です。

15.3. マウス

最初に確かめることは、使用しているマウスの種類 (たとえば シリアル とか PS/2 ...) と、マウスのデバイス (例えば wsmouse は異なるプロトコルを必要とします)。 シリアルマウスを使っているなら、プロトコルの選択と 接続されているシリアルポートの指定が必要です。 たとえば、最初のポートについているシリアルマウスには:

Section "Pointer"
  Protocol    "Microsoft"
  Device      "/dev/tty00"
EndSection    

デバイスを使うマウスには:

Section "Pointer"
  Protocol    "wsmouse"
  Device      "/dev/wsmouse0"
EndSection    

"Device" 欄 は、ファイルシステム中に正しくリンクを張ってあれば /dev/mouse を指定することも できます。 例えば:

# ln -sf /dev/wsmouse0 /dev/mouse    

15.4. キーボード

wscons 用にキーボードの設定をしていても、非 US 配列を使うには X 用の設定もする必要があります。

簡単な解決法は XKB プロトコルを使うことで、 キーボードの type と配列を指定します。

ここは設定プログラムの弱点なので、 標準配列を選んでおいて、 作られた設定ファイルを手作業で変更したくなるでしょう。

# XkbDisable
# XkbKeymap   "xfree86(us)"

XkbModel        "pc102"
XkbLayout       "de"
XkbVariant      "nodeadkeys"    

キーボードの "Windows" キーを使いたければ、 XkbModel に pc102 の代わりに pc105 を使ってください。

15.5. ディスプレイ(モニター)

モニター(ディスプレイ)の 水平周波数 および 垂直 周波数 の値を正しく指定することは非常に重要なことで: ビデオカードの設定で、 不適合な設定をするとディスプレイを痛めることがあります。 この情報は monitor のマニュアルにあります。 X ドキュメンテーションディレクトリーには 数多くのディスプレイの設定がかかれているファイルがあり; それを元に設定することができます。

15.6. ビデオカードと X サーバー

ビデオカードは自動設定プログラムのデータベースから選ぶことができ; このプログラムは設定に必要なもの全てに関して 世話をしてくれます。

正しいビデオカードを選択したら、 それに合わせた X サーバー も選ぶ必要があります。 大抵、 設定プログラムは自動的に正しいサーバーを決定します。 しかし、いくつかのビデオカードでは 複数のサーバーで対応していて (たとえば S3 Virge は SVGA サーバーと S3V サーバーで); この場合、サーバーのドキュメントを調べて どちらのサーバーを使うか決める必要があり: ビデオカードの対応度や 可能なことに違いがあります。

15.7. X の開始

設定プログラムを抜けると、 /etc/XF86Config ファイルが作られるので、 それを吟味して手作業で変更することができます。

X を開始する前にすべきは:

これで、次のコマンドで X を開始でき:

# startx    

もし X が始動しなければ、 設定ファイルに何かエラーがあるはずです。

X が開始されても、期待通りに動かないなら (たとえばマウスポインターが 動かない場合)、 Ctrl-Alt-Backspace というキーの組み合わせ (すべてのポートであるわけではありません。) で、すばやく 抜けることができます。 すべてがうまく動くと、 X 環境は標準ウィンドウマネージャー (twm) になっています: とはいえ、それはシンプルなウィンドウマネージャーで、多くのユーザーが 必要としているものは充分満たしています。 より多くの設定ができ、 with many bells and whistles (すっきりとか澄み切ったという意味?) なウィンドウマネージャーがほしければ、パッケージコレクションに数多くあって選べます。

X のカスタマイズをはじめるには、次のコマンドで xterm の背景色を変えてみることを試してみましょう:

# xsetroot -solid DarkSeaGreen    

15.8. X のカスタマイズ

X 環境の見栄えはいくつかの方法でカスタマイズできます。 一番簡単な方法は、標準の .xinitrc ファイルを、 自分のホームディレクトリーにコピーしてきて変更することです。 例えば:

# cp /usr/X11R6/lib/X11/xinit/xinitrc ~/.xinitrc
# vi .xinitrc
    

次の例はウィンドウマネージャー (twm) の開始法で、 xclock プログラムを画面右下に開き、 画面上には 2つの xterm ウィンドウを開きます。 背景色に "Bisque4" を使います。

ファイルの最初の部分は同じで
...
# start some nice programs
twm &
xclock -geometry 50x50-1-1 &
xterm -geometry 80x34-1+1 -bg OldLace &
xsetroot -solid Bisque4 &
exec xterm -geometry 80x44+0+0 -bg AntiqueWhite -name login    

この種の設定では、 X を抜けるには、最後の xterm ( "login" というタイトルのもの)を閉じます。

このシンプルな設定でさえも、 X はかなり見かけが 良くなります。 より見栄えのする環境を作りたいなら、パッケージコレクションから ユーティリティープログラムをインストールすることができます。 例えば:

xcolorsel

rgb.txt で定義されている全色の表示。 ルートウィンドウや xterms の背景色を選ぶのに使います。

xpmroot

背景を pixmap 画像にするのに使います。

xscreensaver

X スクリーンセーバー。

xdaemon

どのデスクトップもこのパッケージなしに完成しません。 選択できる2種類の大きさの BSD デーモンの 画像が動きます

15.9. ほかのウィンドウマネージャー

パッケージコレクションにさまざまなウィンドウマネージャーがあり、 twm の代わりに使うことができて、 機能が限られているけれどもメモリー占有量の少ないものや、 もっと凝った機能(例えば仮想デスクトップ、ディザリング・ウインドウ色) を持つものがあります。 もっとも有名なものというと: fvwm2, olwm/olvwm (Open Look Window Manager), WindowMaker, Enlightenment, AfterStep があります。

この節の残りでは、例として WindowMaker のインストールについて記述します。 WindowMaker は非常に見栄えがして高い設定度のウィンドウマネージャーです。 プログラムの追加には、あらかじめコンパイルされたパッケージ windowmaker-0.60.tgz が使え、 これは、関連するほかパッケージに依存しています。 例によって、 pkg_addmake install も 必要なパッケージを自動的に取得するので、 手作業に頼る必要はありません。

# cd /usr/pkgsrc/x11/windowmaker
# make depends-list
xpm-3.4k
jpeg-6b
pkglibtool-1.2p2
giflib-3.0
libproplist-0.9.1
tiff-3.5.2    

註: 依存については、次のコマンドで見ることができて:

# pkg_info -f windowmaker-0.61.0.tgz | grep depends      

必要なパッケージの追加後、 WindowMaker といくつかの あらかじめ設定されたテーマが追加され:

# pkg_add windowmaker-0.61.0.tgz wmthemes-0.6x.tgz      

WindowMaker がインストールされました; 開始するには、自分の .xinitrc および/または .xsession を変更する必要があり: twm を 呼び出す行を wmaker を呼び出すものに換えます。 例えば:

# start some nice programs
# start WindowMaker
wmaker &
xclock -geometry 50x50-1-1 &
xdaemon2 -geometry +0-70 &#amp
...      
この例では、 xdaemon プログラムも自動的に開始されます。

WindowMaker を開始する前に、 設定プログラムを実行する必要があって:

$ wmaker.inst
$ startx
    

15.10. xdm によるグラフィカルなログイン

いつも X を使っていて、 ログインすると真っ先に startx をするような場合、自動的に ワークステーションへの graphical なログイン設定にすることができます。 それはとても簡単で:

  1. 自分のホームディレクトリーに .xsession ファイルを作ります。 このファイルは ~/.xinitrc と同じようなもので、 実際に、あとでリンクします

  2. /etc/rc.conf を変更し:

    xdm=YES       xdm_flags=""       # x11 display manager	  
    そちらのほうを好む (なぜ?) なら、 rc.conf を変更する代わりに /etc/rc.local の最後に 次の行を追加することでもできます:
    /usr/X11R6/bin/xdm	  
    この方法は、 xdm の代わりに、たとえば、 kdmgdm を実行するのにも使えます。

xdm の 設定ファイルは /usr/X11R6/lib/X11/xdm ディレクトリーにあります。 Xservers ファイルでは、 X は vt05 仮想端末で開始されるのが標準で、 ; 代わりにほかのターミナルを 使いたいなら、変更する設定の場所はまさにここです。 getty と xdm の間のキーボード 競争を避けるには、 xdm を、 getty を無効にした仮想端末上で開始するのが賢明です。 例えば、もし Xservers で このようにしていたら:

:0 local /usr/X11R6/bin/X :0 vt04    

/etc/ttys ではこのようにすべきで

ttyE3   "/usr/libexec/getty Pc"         vt220   off secure    

(vt04 は ttyE3 に対応していて、というのも、 vt は 1 から始まり ttyE は 0 から始まるという事に注意。)

xdm ログイン画面をもっと見栄え良くしたいなら、 xdm 設定ファイルを変更することができます。 例えば、 背景色を変更するには Xsetup_0 ファイルに次の行を加えることででき:

xsetroot -solid SeaGreen    

色の設定の 代わりに、 xpmroot プログラムを使って、背景に画像を置くこともできます: 例えば:

xpmroot /path_to_xpm/netbsd.xpm    

設定ファイルでちょこっと実験すると、 とってもきれいな視覚効果が得られたり、 愉快なログイン画面が構築できます。