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 利用の基本要素は:
ビデオハードウェアは XFree86 がサポートしています。
X server はハードウェアを 掌握 して動きます。X サーバーは ウィンドウのオープンや描画(テキスト表示のフォントを含む)、そして、 マウス/キーボード/ほかの 入力 の標準方法を提供します。 X はネットワークトランスペアレントなので、 ある機械で X クライアントを動かして、 X サーバー (すなわち、ビデオカードへの表示) は ほかの機械でということができます。
window manager は X サーバー上で走ります。 ウィンドウマネージャーは本質的に特殊なクライアントで ウインドウの表示場所の制御を許されています。また、標準 "ウィジェット" による "装飾" をします。 (たいていこれらは、ウインドウ-挙動、 サイズ変更、 アイコン化 や あるいは他のいくつかの動作を提供します。) ウィンドウマネージャーはまた背景などを提供するかもしれません。ウィンドウマネージャーは ウィンドウをクリックすることで、ウィンドウ/プログラム を kill すること等ができます。
(オプションの) desktop manager たとえば、KDE や GNOME はデスクトップであり: それは プログラムごとのインターフェースとなるようにデザインされ良く定義された ソフトウェアの組で一般的な統合ソフトウェアです。 これらには、 何種類かの help browser 、 "デスクトップ-メタファー" でファイルシステムをアクセスし、 xterm を置きかえる カスタム端末 ソフトウェア開発環境、 オーディオ、 画像/動画ビューワー、等 が含まれます。
他にも (サードパーティの X クライアント) アプリケーション があります。 これらは、 X サーバー および ウィンドウマネージャーと会話します。 ウィンドウマネージャー がデスクトップの一部でない限り(if any)、 デスクトップはたぶん、これらのほかのアプリケーションと連携しないでしょう。 (だけど、たとえば GNOME は インストールされている GIMP を検出でき、 GIMP を起動するメニューを提供します。)
まとめ: グラフィカル環境を使うためには
XFree86 システム
X クライアント
ウィンドウマネージャー XFree86 には、 twm という、シンプルだけども立派なウインドウマネージャーが入っています There are more, and less, fancy window managers. Look in the pkgsrc ``wm'' (Window Manager) category.
もっと世慣れした環境を望むなら、 たぶん、デスクトップもインストールしたいでしょう。 けど、これは 必要なことではありません。 Desktops は、 MacIntosh や MS-WINDOWS のような 環境から来たユーザーにとって 便利ないくつかのすばらしい機能があります。( たとえば KDE desktop は MS-WINDOWS.に非常に似た flavour がします。)
註: 今時は明らかになっていると思いますが、 GNOME や KDE のようなデスクトップは X サーバーを提供しません。 これらは、XFree86 が提供していて、 すでに入っている X サーバーの上で動き、 KDE および GNOME は それ独自の ウィンドウマネージャー あるいは、別にインストールされたウィンドウマネージャーを使えます。
通常、 X サーバー では1つのウィンドウマネージャーだけを動かします。 (でも、1台のコンピューターで複数の X サーバーを動かすことができます。)。 もし自分で選んだ ウィンドウマネージャーが走っていなくて、 KDE/GNOME を動かすなら、 デスクトップ環境 が ウィンドウマネージャー を走らせます。
インストール中に最小設定を選ばなければ 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つのプログラムはインターフェースは異なりますが、両方とも 同じ情報を必要とし
マウスの type と、マウスが使うデバイス
キーボードの type と配列
ビデオカードの type
ディスプレイの type
システムの設定前に 必要な情報を集めることが必要です。
最初に確かめることは、使用しているマウスの種類 (たとえば シリアル とか 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
wscons 用にキーボードの設定をしていても、非 US 配列を使うには X 用の設定もする必要があります。
簡単な解決法は XKB プロトコルを使うことで、 キーボードの type と配列を指定します。
ここは設定プログラムの弱点なので、 標準配列を選んでおいて、 作られた設定ファイルを手作業で変更したくなるでしょう。
# XkbDisable # XkbKeymap "xfree86(us)" XkbModel "pc102" XkbLayout "de" XkbVariant "nodeadkeys"
キーボードの "Windows" キーを使いたければ、 XkbModel に pc102 の代わりに pc105 を使ってください。
モニター(ディスプレイ)の 水平周波数 および 垂直 周波数 の値を正しく指定することは非常に重要なことで: ビデオカードの設定で、 不適合な設定をするとディスプレイを痛めることがあります。 この情報は monitor のマニュアルにあります。 X ドキュメンテーションディレクトリーには 数多くのディスプレイの設定がかかれているファイルがあり; それを元に設定することができます。
ビデオカードは自動設定プログラムのデータベースから選ぶことができ; このプログラムは設定に必要なもの全てに関して 世話をしてくれます。
正しいビデオカードを選択したら、 それに合わせた X サーバー も選ぶ必要があります。 大抵、 設定プログラムは自動的に正しいサーバーを決定します。 しかし、いくつかのビデオカードでは 複数のサーバーで対応していて (たとえば S3 Virge は SVGA サーバーと S3V サーバーで); この場合、サーバーのドキュメントを調べて どちらのサーバーを使うか決める必要があり: ビデオカードの対応度や 可能なことに違いがあります。
設定プログラムを抜けると、 /etc/XF86Config ファイルが作られるので、 それを吟味して手作業で変更することができます。
X を開始する前にすべきは:
シンボリックリンク /usr/X11R6/bin/X が正しい X サーバーに リンクされていることの確認:
# ls -l /usr/X11R6/bin/X
設定が正しいことを確かめて 起動します:
# X -probeonly
そしてその出力を注意深く検査します。
これで、次のコマンドで X を開始でき:
# startx
もし X が始動しなければ、 設定ファイルに何かエラーがあるはずです。
X が開始されても、期待通りに動かないなら (たとえばマウスポインターが 動かない場合)、 Ctrl-Alt-Backspace というキーの組み合わせ (すべてのポートであるわけではありません。) で、すばやく 抜けることができます。 すべてがうまく動くと、 X 環境は標準ウィンドウマネージャー (twm) になっています: とはいえ、それはシンプルなウィンドウマネージャーで、多くのユーザーが 必要としているものは充分満たしています。 より多くの設定ができ、 with many bells and whistles (すっきりとか澄み切ったという意味?) なウィンドウマネージャーがほしければ、パッケージコレクションに数多くあって選べます。
X のカスタマイズをはじめるには、次のコマンドで xterm の背景色を変えてみることを試してみましょう:
# xsetroot -solid DarkSeaGreen
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 はかなり見かけが 良くなります。 より見栄えのする環境を作りたいなら、パッケージコレクションから ユーティリティープログラムをインストールすることができます。 例えば:
rgb.txt で定義されている全色の表示。 ルートウィンドウや xterms の背景色を選ぶのに使います。
背景を pixmap 画像にするのに使います。
X スクリーンセーバー。
どのデスクトップもこのパッケージなしに完成しません。 選択できる2種類の大きさの BSD デーモンの 画像が動きます
パッケージコレクションにさまざまなウィンドウマネージャーがあり、 twm の代わりに使うことができて、 機能が限られているけれどもメモリー占有量の少ないものや、 もっと凝った機能(例えば仮想デスクトップ、ディザリング・ウインドウ色) を持つものがあります。 もっとも有名なものというと: fvwm2, olwm/olvwm (Open Look Window Manager), WindowMaker, Enlightenment, AfterStep があります。
この節の残りでは、例として WindowMaker のインストールについて記述します。 WindowMaker は非常に見栄えがして高い設定度のウィンドウマネージャーです。 プログラムの追加には、あらかじめコンパイルされたパッケージ windowmaker-0.60.tgz が使え、 これは、関連するほかパッケージに依存しています。 例によって、 pkg_add も make 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
いつも X を使っていて、 ログインすると真っ先に startx をするような場合、自動的に ワークステーションへの graphical なログイン設定にすることができます。 それはとても簡単で:
自分のホームディレクトリーに .xsession ファイルを作ります。 このファイルは ~/.xinitrc と同じようなもので、 実際に、あとでリンクします
/etc/rc.conf を変更し:
xdm=YES xdm_flags="" # x11 display managerそちらのほうを好む (なぜ?) なら、 rc.conf を変更する代わりに /etc/rc.local の最後に 次の行を追加することでもできます:
/usr/X11R6/bin/xdmこの方法は、 xdm の代わりに、たとえば、 kdm や gdm を実行するのにも使えます。
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
設定ファイルでちょこっと実験すると、 とってもきれいな視覚効果が得られたり、 愉快なログイン画面が構築できます。