diff --git a/ja_JP.eucJP/books/handbook/x11/chapter.sgml b/ja_JP.eucJP/books/handbook/x11/chapter.sgml index 24f63eb11d..c1253298b6 100644 --- a/ja_JP.eucJP/books/handbook/x11/chapter.sgml +++ b/ja_JP.eucJP/books/handbook/x11/chapter.sgml @@ -1,1367 +1,1442 @@ X ウィンドウシステム ありがたいことに, この章は &a.grog; が彼の著書 『The Complete FreeBSD』から分けてくれました. したがって, 本章の著作権は彼に帰属します. - ハンドブック用の修正は &a.jim; が行ないました. + ハンドブック用の修正は &a.jim; が行ないました. + また, XFree86のフォントの項は &a.murray; から提供されたものです. この章では この章では X11 のインストールと設定について解説しています. - X11 に関してさらに知りたい場合, - またご自分のビデオカードがサポートされているかといったようなことについては + X11 に関してさらに知りたい, + ご自分のビデオカードがサポートされているか, といったようなことについては XFree86 のウェブサイトをご覧ください. はじめに FreeBSD には, いくつかある Intel ベースの UNIX をサポートした X11R6 の移植版, XFree86 が付属しています. この章では XFree86 サーバの設定方法について解説しますが, この解説は FreeBSD と一緒に配布されている資料, 特に /usr/X11R6/lib/X11/doc ディレクトリにある README.FreeBSD や README.Config といったファイルに基づいています. これらの文書はこの解説よりも最新の事情に触れていますので, もし何かおかしなことに気付いた場合はこれらのファイルにあたってみてください. また /usr/X11R6/lib/X11/doc/RELNOTES には, 現在のリリースについて OS に依存しない情報が記述されています. X はたくさんのメモリを使います. X を起動するには最低でも 8 MB のメモリを用意しなければなりませんが, そんなに小さなメモリでは動作が死ぬほど遅いでしょう. 現実的に考えた必要最低なメモリは 16 MB で, さらに足せばより快適にすることができます. もし X を使い倒すなら 128 MB くらいまで増やしていけば, パフォーマンスがどんどんと良くなっていくのがわかるでしょう. この章の残りの部分には非常にたくさんの有用な情報があります. でももしかすると, あなたはそれらには今すぐには興味がなく, とにかく X サーバを立ち上げたいと思っているかも知れません. しかし, 以下のことには注意してください. インストールを間違って行なうと, モニタやビデオボードを焼き焦がしてしまうことがあります. ただし, あなたが仕様を詳しく知っていて, 標準的な SVGA ボードとマルチスキャンモニタを持っているなら, この章は読まなくても恐らく問題ないでしょう. XFree86 のインストール XFree86 をインストールする最も簡単な方法は sysinstall プログラムを使うことです. システムのインストール時でも, 後から /stand/sysinstall を起動するのでもどちらでも構いません. この章の残りでは, 配布物の構成を見てゆき, 手動で X11 をインストールする方法についても見てみることにしましょう. XFree86 の配布物 XFree86 は困ってしまいそうな数のアーカイブとして配布されています. 次のセクションでは, どれをインストールすべきかということについて考えます. どれを選べばいいのかわからないし, 空いているディスク容量は 200 MB しかない‥‥という場合だとしても, それほど心配しないでください. それだけあればすべてを展開しても大丈夫です. 最低でも下の表にあるアーカイブと VGA ボードに合ったサーバの一つとを展開する必要があります. 最低限必要な実行時バイナリだけであればだいたい 10MB の容量が必要で, サーバは 17 MB から 3 MB くらいの容量が必要です. 下の表は, 必要となるものです. アーカイブ 解説 Xbin.tgz 実行可能な X クライアントと共有ライブラリの全て Xfnts.tgz misc と 75 dpi のフォント Xlib.tgz 実行時に必要なデータファイルとライブラリ X サーバ 上のアーカイブに加えて, 少なくとも一つのサーバが必要です. これは約 3 MB のディスクを消費します. どれを選ぶのか, というのはあなたが持っているボードの種類次第です. デフォルトのサーバ名は /usr/X11R6/bin/X ですが, これは特定のサーバのバイナリである /usr/X11R6/bin/XF86_xxxx へのリンクになります. もし CD-ROM のセットを持っているなら, 標準的な PC アーキテクチャ用のサーバアーカイブは /cdrom/XF86336/Servers から, 日本の PC98 アーキテクチャ用のものは /cdrom/XF86336/PC98-Servers から見つけることができます. また、FreeBSD の FTP サイトである ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/XF86336/Servers/ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/XF86336/PC98-Servers/ から入手することもできます. 標準的な PC アーキテクチャで利用可能な X サーバ: アーカイブ 解説 X8514.tgz IBM 8514 とその互換品用. 8 ビットカラー XAGX.tgz AGX や XGA ボード用. 8 ビットおよび 16 ビットカラー XI128.tgz I128 ボード用. 8 ビットおよび 16 ビットカラー XMa32.tgz ATI Mach 32 ボード用. 8 ビットおよび 16 ビットカラー XMa64.tgz ATI Mach 64 ボード用. 8, 16, 32 ビットカラー XMa8.tgz ATI Mach8 ボード用. 8 ビットカラー XMono.tgz VGA, SVGA, Hercules やその他のボード用. 1 ビットモノクロ XP9K.tgz Weitek P9000(Diamond Viper) ボード用. 8, 16, 32 ビットカラー XS3.tgz S3 ボード用. 8, 16, 32 ビットカラー XS3V.tgz S3 ViRGE ボード用. 8 および 16 ビットカラー XSVGA.tgz SVGA カード用. 8 ビット以上のカラー XVG16.tgz VGA や SVGA カード用. 4 ビットカラー XW32.tgz ET4000/W32, /W32i, /W32p そして ET6000 カード用. 8 ビットカラー PC98 アーキテクチャで利用可能な X サーバー: アーカイブ 解説 X9GAN.tgz PC98 GA-98NB/WAP ボード用. 8 ビットカラー X9GA9.tgz PC98 S3 GA-968 ボード用. 8, 16, 32 ビットカラー X9480.tgz PC98 PEGC 用. 8 ビットカラー X9NKV.tgz PC98 NEC-CIRRUS/EPSON NKV/NKV2 ボード用. 8 ビットカラー X9WBS.tgz PC98 WAB-S ボード用. 8 ビットカラー X9WEP.tgz PC98 WAB-EP ボード用. 8 ビットカラー X9WSN.tgz PC98 WSN-A2F ボード用. 8 ビットカラー X9EGC.tgz PC98 EGC 用. 4 ビットカラー X9TGU.tgz PC98 Trident Cyber9320/9680 ボード用. 8, 16 ビットカラー X9NS3.tgz PC98 NEC S3 ボード用. 8, 16 ビットカラー X9SPW.tgz PC98 S3 PW/PCSKB ボード用. 8, 16 ビットカラー X9LPW.tgz PC98 S3 PW/LB ボード用. 8, 16 ビットカラー それぞれのサーバには, サポートするチップセットやサーバ特有の設定オプションを記述したマニュアルが付属しています. また, X プログラマ用に提供されるアーカイブも数多くあります: アーカイブ 解説 Xprog.tgz クライアントをコンパイルするのに必要な設定ファイル, lib*.a および *.h. Xctrb.tgz 寄贈されたソース Xlk98.tgz PC98 用のサーバを構築するのに必要な リンクキット. Xlkit.tgz PC 用のサーバを構築するのに必要な リンクキット. Xsrc-1.tgz 完全なソース. パート 1 Xsrc-2.tgz 完全なソース. パート 2 Xsrc-3.tgz 完全なソース. パート 3 X ソフトウェアの ports をインストールする場合 Xprog.tgz は必須です. XFree86 には, 文書やセットアッププログラムといった付加的なものもたくさん含まれています. アーカイブ 解説 Xdoc.tgz README Xjdoc.tgz 日本語版 README Xps.tgz PortScript フォーマットの README Xhtml.tgz HTML 化された README Xman.tgz オンラインマニュアル Xcfg.tgz カスタマイズ可能な xinitxdm の実行時設定ファイル. Xset.tgz X86Setup; グラフィカルな xf86config ユーティリティ Xjset.tgz PC アーキテクチャ用の XF86Setup 日本語版 XF86Setup は XFree86 用のグラフィカルな設定プログラムで, 標準的な設定プログラムである xf86config よりもこちらを好む人は多いかも知れません. xf86config の場合には特別なアーカイブがあるわけではなく, Xbin.tgz に含まれています. 初めてインストールする時には, 最初の設定ファイルを作るために Xcfg.tgz が必要でしょう. 既にある設定ファイルを上書きしてしまいますので, アップグレードする時には使わないでください. また, XFree86 には他にもフォントがあります: アーカイブ 解説 Xf100.tgz 100 dpi フォント Xfscl.tgz Speedo と Type1 のフォント Xfnon.tgz 日本語, 中国語 や他の非英語フォント Xfcyr.tgz キリルフォント 上で述べた X サーバと異なり, 次に紹介するサーバのアーカイブはすべてメインのディレクトリにあります. アーカイブ 解説 Xfsrv.tgz フォントサーバ Xnest.tgz 別のディスプレイ上のクライアントウィンドウで動作するネストサーバ Xprt.tgz プリントサーバ Xvfb.tgz メモリや mmap されたファイル中に描画を行なう仮想フレームバッファ X サーバ XFree86 のマニュアルインストール sysinstall を使わずに X をインストールする場合は, 以下のようにたくさんのステップを踏む必要があります. ディレクトリを作成し, 必要なアーカイブを展開します. X サーバを選びインストールします. X にアクセスできるように環境を整えます. X を実行するための仮想端末を見つけます. ハードウェアに合わせて X を設定します. やることがたくさんあるように見えますが, きっちりとやればそう大変ではありません. このセクションの残りでは, それぞれのステップについて見ていきます. アーカイブの展開 多くの実行ファイルが set-user-id されていますので, アーカイブの展開は root で行なう必要があります. 通常のユーザとして展開した場合, 実行できないこともあります. また, umask の値として 022 (rwxr-xr-x の許可属性) を用いる必要があります. なぜなら X サーバは特別な許可属性を要求するからです. &prompt.user; su Password: &prompt.root; umask 022 /usr ファイルシステムに十分な空き容量がない場合, 他のパーティションにディレクトリを作成し, /usr にシンボリックリンクを張ってください. たとえば, /home に十分な空き容量がある場合は次のようにします. &prompt.root; cd /home &prompt.root; mkdir X11R6 &prompt.root; ln -s /home/X11R6 /usr/X11R6 次に, どのアーカイブをインストールするのかを決めます. 最小インストールであれば Xbin.tgz, Xfnts.tgz, Xlib.tgz, および Xcfg.tgz を選んでください. すでに X の設定を行なっているのなら Xcfg.tgz はなくても構いません. sh を使っている場合は次のようにして展開します. &prompt.root; mkdir -p /usr/X11R6 &prompt.root; cd /usr/X11R6 &prompt.root; for i in bin fnts lib cfg; do &prompt.root; tar xzf X$i.tgz &prompt.root; done csh なら次のようにしてください. &prompt.root; mkdir -p /usr/X11R6 &prompt.root; cd /usr/X11R6 &prompt.root; foreach i (bin fnts lib cfg) ? tar xzf X$i.tgz ? end サーバのインストール 自分の VGA カードに対応するサーバのアーカイブを選んでください. 上の表からは十分な情報が得られない場合にはサーバのマニュアル /usr/X11R6/man/man1/XF86_* をチェックしてください. それぞれのサーバでサポートするチップセットが載っています. たとえば ET4000 ベースのボードを持っている場合には XF86_SVGA サーバを用いるとよいでしょう. この場合には次のように操作します. &prompt.root; cd /usr/X11R6 &prompt.root; tar xzf XSVGA.tgz [substitute your server name here] 環境設定 次にシンボリックリンクを作って /usr/X11/bin/X が自分のビデオボードに合うサーバを指すようにしましょう. ここでは XF86_SVGA がサーバですから, 次のようにします. &prompt.root; cd /usr/X11R6/bin &prompt.root; rm X &prompt.root; ln -s XF86_SVGA X X が正しく動くためにこのシンボリックリンクが必要なのですが, 以下のように xf86config を実行中に設定するチャンスがあります. 次に, ディレクトリ /usr/X11R6/bin がデフォルトのパスに入っているかどうかチェックします. チェックするのは sh であれば /etc/profile, csh であれば /etc/csh.login です. パスがなければ加えておきましょう. エディタを使うのが最も良いのですが, 面倒な場合には次のようなテもあります. &prompt.root; echo 'PATH=$PATH:/usr/X11R6/bin' >>/etc/profile もしくは &prompt.root; echo 'set path = ($path /usr/X11R6/bin)' >>/etc/csh.login そして, そのシステム上で X を使うユーザの全員が シェル変数 PATH/usr/X11R6/bin を加えていることを確認しましょう. 次に ldconfig を使って共有ライブラリを ld.so のキャッシュに入れます. &prompt.root; ldconfig -m /usr/X11R6/lib X を使う前に再起動するのであれば ldconfig を起動する必要はありません. フォントファイルを圧縮する必要はないのですが, もしするなら忘れずに該当ディレクトリで mkfontdir を実行しなければいけません. そうしないとサーバは could not open default font `fixed' というメッセージを出して強制終了してしまうかも知れません. X への仮想端末の割り当て 次に getty が動いている予備の仮想コンソールがあることを確認しましょう. まずいくつの仮想コンソールがあるのかチェックします. &prompt.root; dmesg | grep virtual sc0: VGA color <16 virtual consoles, flags=0x0> そして, /etc/ttys をチェックして少なくとも一つの仮想端末 (ttyvxx デバイス) で getty が有効になっていないことを確認します. これは次のように off というキーワードを探します. &prompt.root; grep ttyv /etc/ttys ttyv0 "/usr/libexec/getty Pc" cons25 on secure ttyv1 "/usr/libexec/getty Pc" cons25 on secure ttyv2 "/usr/libexec/getty Pc" cons25 on secure ttyv3 "/usr/libexec/getty Pc" cons25 off secure この場合, カーネルが少なくとも 4 つの仮想端末を持っていれば /dev/ttyv3 が利用可能です. そうでなければ /etc/ttys で on を off に変更してgetty を無効にするか, 仮想端末を増やしたカーネルを作ります. 自分のハードウェア用に X を設定する X のインストールが終わったら, XF86Config ファイルをカスタマイズして X サーバにハードウェアの構成と, どう動作させたいのかを X サーバに教えます. XF86Config を設定するためには次にあげるようなハードウェア情報が必要です. マウスの種類, シリアルマウスであればビットレート, そしてマウスが接続されているデバイスの名前. 一般的には, シリアルマウスであれば /dev/ttyd0 もしくは /dev/ttyd1, PS/2 マウスであれば /dev/psm0, そして バスマウスであれば /dev/mse0 です. ビデオボードの種類と表示メモリの量. 名前がわからなければどんなチップセットを使っているのか確認しましょう. モニターのパラメータ. つまり垂直と水平の同期周波数のことです. ハードウェアの確認 ハードウェアがどういうものなのか, どうやって決めればいいのでしょう? ハードウェアメーカが教えてくれるとしても, たとえばディスプレイボードやモニタについて得られる情報は 76 Hz のリフレッシュレートで 16,777,216 色を表示できる SVGA のように非常に貧弱なことがしばしばです. この情報からはピクセルの最大の色深度がわかるくらいで, ディスプレイボードについては何もわかりません. 後でわかりますが, 本当に知る必要のあるパラメータは水平最大周波数, ドットクロック幅, チップセット, そして表示用メモリの量です. 不幸にもこういった情報を得ることができないかも知れませんが, そのうちのいくつかは SuperProbe プログラムを用いて得ることができます. 特にチップセットとボード上のメモリの量はどんなものでも調べられるはずです. SuperProbe は時々, システムをクラッシュさせてしまうこともあります. 実行する時には他に重要なものが動いていないことを確認してから行ないましょう. SuperProbe の出力は次のようになります. &prompt.root; SuperProbe (warnings and acknowledgments omitted) First video: Super-VGA Chipset: Tseng ET4000 (Port Probed) Memory: 1024 Kbytes RAMDAC: Generic 8-bit pseudo-color DAC (with 6-bit wide lookup tables (or in 6-bit mode)) SuperProbe はかなり気難しいコマンドなのでうまく動かないこともあります. その時には次のようなメッセージが出力されます. SuperProbe: Cannot be run while an X server is running SuperProbe: If an X server is not running, unset $DISPLAY and try again SuperProbe: Cannot open video 言い換えれば, X サーバが動いていないのに DISPLAY 環境変数が設定してあると SuperProbe は動きません. ではどうやればこの環境変数の設定を解除できるのでしょう? Bourne シェル系の場合は次のように入力してください. &prompt.root; unset DISPLAY C シェル系ならば次ようにします. &prompt.root; unsetenv DISPLAY <command>xf86config</command> の実行 設定ファイルを作成する簡単な方法は xf86config (すべて小文字であることに注意) か XF86Setup のどちらかのユーティリティを用いることです. 両方のツールとも, 一つ一つ手順を追って設定を行なうことができます. xf86config は CUI モードで動きますが, XF86Setup はグラフィカルなモードで動きます. XF86Setup は変わったハードウェアでは問題を起こし得るため, わたしは個人的に xf86config の方が好きです. sysinstall を使うこともできるのですが, 操作はほとんど変わりません. sysinstall は単に xf86config を起動するだけですし, 直接起動する方が簡単だからです. このセクションでは xf86config を使った設定を解説するための例を示します. 1 MB のメモリが載った懐しい Diamond SpeedStar, ロジテック MouseMan マウス, そして ADI MicroScan 5AP モニタ用に X をインストールするとしましょう. マウスは一つ目のシリアルポート /dev/ttyd0 に接続されています. xf86config を実行するには, そのコマンド名を入力します. 環境変数 PATH/usr/X11R6/bin 含まれていれば単に xf86config と入力するだけです. そうでない場合は xf86config へのフルパスを入力する必要があります. &prompt.root; /usr/X11R6/bin/xf86config このプログラムはメニューから選んだものを基にして基本的な XF86Config ファイルを生成します. XF86Config ファイルは通常 /usr/X11R6/lib/X11 もしくは /etc に置きます. サンプルの XF86Config ファイルが XFree86 とともに提供されていますが, これは標準的な VGA カードと 640x480 の解像度を持ったモニタ用に設定されたものです. このプログラムはファイルに書き出す時にパス名を尋ねてくるでしょう. サンプルの XF86Config を利用して編集しても良いですし, このプログラムに生成させてから細かく調整するのでも良いでしょう. 設定に関する詳細については /usr/X11R6/lib/X11/doc/README.Config を参照してください. 特別に対応したサーバ (SVGA ドライバ中の特別に対応したドライバも含む) の場合, チップセットやカードに特有のオプションと設定がたくさんあります. しかし, このプログラムはそれらの特別な設定については対応していません. いくつかの構成では, それらの設定が必要になります. サーバのマニュアルページやチップセット用の README ファイルをご覧ください. このプログラムを続ける前に, チップセットとビデオカード上のビデオメモリの量について確認しておきます. SuperProbe が役に立つでしょうし, またどのサーバを実行したいのかを知っておくと役に立ちます. Press enter to continue, or ctrl-c to abort. ENTER First specify a mouse protocol type. Choose one from the following list: 1. Microsoft compatible (2-button protocol) 2. Mouse Systems (3-button protocol) 3. Bus Mouse 4. PS/2 Mouse 5. Logitech Mouse (serial, old type, Logitech protocol) 6. Logitech MouseMan (Microsoft compatible) 7. MM Series 8. MM HitTablet 9. Microsoft IntelliMouse 2 ボタンマウスの場合はほとんどが 1 でしょうし, 3 ボタンマウスであれば, おそらく 1 も 2 もサポートしているでしょう. 後者の場合, 主に二つの組み合わせがあります. プロトコルを選択するためのスイッチが付いたマウスと, デフォルトは 1 で, プロトコル 2 を選択するには起動時にボタンを押す必要があるようなマウスです. シリアルポートに特別な命令列を送って 2 を使うようにできるマウスもあります (ClearDTR/ClearRTS オプションを参照してください). Enter a protocol number: 6 Logitech MouseMan You have selected a Logitech MouseMan type mouse. You might want to enable ChordMiddle which could cause the third button to work. Please answer the following question with either 'y' or 'n'. Do you want to enable ChordMiddle? n 多くの X クライアントが三番目のボタンを使うため, このボタンも欲しいところです. しかし, ロジテック純正のマウスの場合 ChordMiddle を有効にする必要はありません. X を起動した時に三番目のボタンが効かない場合には, 設定ファイルを編集して ChordMiddle を有効にします. – そのほうが XF86Setup をもう一度起動するよりもエラーになりにくいのです. Continuing through the setup: If your mouse has only two buttons, it is recommended that you enable Emulate3Buttons. Please answer the following question with either 'y' or 'n'. Do you want to enable Emulate3Buttons? n Now give the full device name that the mouse is connected to, for example /dev/tty00. Just pressing enter will use the default, /dev/mouse. Mouse device: /dev/ttyd1 このエントリには細心の注意を払ってください. マウスが接続されているデバイスの名前を正しく指定しなければいけません. xf86config は FreeBSD に特有のコマンドではなく, 例として示されているものは FreeBSD には存在しないデバイスなのです. シリアルマウスの場合には /dev/ttyd0 から /dev/ttyd3, PS/2 マウスでは /dev/psm0, バスマウスでは /dev/mse0 を使ってください. Continuing, we see: Beginning with XFree86 3.1.2D, you can use the new X11R6.1 XKEYBOARD extension to manage the keyboard layout. If you answer 'n' to the following question, the server will use the old method, and you have to adjust your keyboard layout with xmodmap. Please answer the following question with either 'y' or 'n'. Do you want to use XKB? y The following dialogue will allow you to select from a list of already preconfigured keymaps. If you don't find a suitable keymap in the list, the program will try to combine a keymap from additional information you are asked then. Such a keymap is by default untested and may require manual tuning. Please report success or required changes for such a keymap to XFREE86@XFREE86.ORG for addition to the list of preconfigured keymaps in the future. Press enter to continue, or ctrl-c to abort. List of preconfigured keymaps: 1 Standard 101-key, US encoding 2 Microsoft Natural, US encoding 3 KeyTronic FlexPro, US encoding 4 Standard 101-key, US encoding with ISO9995-3 extensions 5 Standard 101-key, German encoding 6 Standard 101-key, French encoding 7 Standard 101-key, Thai encoding 8 Standard 101-key, Swiss/German encoding 9 Standard 101-key, Swiss/French encoding 10 None of the above Enter a number to choose the keymap. 1 Choose the standard US keyboard さて, ここではモニタの設定を行います. 中心となる二つのパラメータは, スクリーン全体を書き換える時のレートである垂直リフレッシュレートと, 特に重要な, 走査線を表示するレートである水平同期周波数です. 水平同期と垂直同期の有効な範囲はモニタのマニュアルに記載されているでしょう. 疑問がある場合は自分のモニタがあるかどうか, モニタデータベースである /usr/X11R6/lib/X11/doc/Monitors をチェックしてみましょう. Press enter to continue, or ctrl-c to abort. ENTER You must indicate the horizontal sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry- standard monitor types, or give a specific range. It is VERY IMPORTANT that you do not specify a monitor type with a horizontal sync range that is beyond the capabilities of your monitor. If in doubt, choose a conservative setting. hsync in kHz; monitor type with characteristic modes 1 31.5; Standard VGA, 640x480 @@ 60 Hz 2 31.5 - 35.1; Super VGA, 800x600 @@ 56 Hz 3 31.5, 35.5; 8514 Compatible, 1024x768 @@ 87 Hz interlaced (no 800x600) 4 31.5, 35.15, 35.5; Super VGA, 1024x768 @@ 87 Hz interlaced, 800x600 @@ 56 Hz 5 31.5 - 37.9; Extended Super VGA, 800x600 @@ 60 Hz, 640x480 @@ 72 Hz 6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @@ 60 Hz, 800x600 @@ 72 Hz 7 31.5 - 57.0; High Frequency SVGA, 1024x768 @@ 70 Hz 8 31.5 - 64.3; Monitor that can do 1280x1024 @@ 60 Hz 9 31.5 - 79.0; Monitor that can do 1280x1024 @@ 74 Hz 10 31.5 - 82.0; Monitor that can do 1280x1024 @@ 76 Hz 11 Enter your own horizontal sync range Enter your choice (1-11): 残念なことにわたしたちのモニタは /usr/X11R6/lib/X11/doc/Monitors には載っていませんでした. しかし, 偶然にもマニュアルのテクニカルデータセクションに載っていたのです. 水平周波数の範囲は 30 〜 64 kHz で垂直周波数の範囲は 50 〜 100 Hz です. 周波数範囲は選択肢 8 とほぼ同じですが, この設定はテクニカルデータシートのものよりも 0.3 kHz ほど高いほうに広がっています. 危険を冒したいですか? もしそのまま進めてもほとんど問題ありません. 仕様からのずれが小さければ, それでモニタが壊れてしまうようなことはありませんし, また XF86Config が実際に 64.0 から 64.3 kHz の間の水平周波数を出すこともないからです. とは言っても, この小さな危険を背負う必要があるわけではありません. 実際の値を指定すれば良いのです. Enter your choice (1-11): 11 Please enter the horizontal sync range of your monitor, in the format used in the table of monitor types above. You can either specify one or more continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync frequencies. Horizontal sync range: 30-64 次に, 水平周波数の範囲を選びます. You must indicate the vertical sync range of your monitor. You can either select one of the predefined ranges below that correspond to industry-standard monitor types, or give a specific range. For interlaced modes, the number that counts is the high one (e.g., 87 Hz rather than 43 Hz). 1 50-70 2 50-90 3 50-100 4 40-150 5 Enter your own vertical sync range Enter your choice: 3 exactly the range of the monitor 次のステップでは識別のための文字列を指定します. 好きなものを使うことができますが, 非常に多くのハードウェアを扱わない限り xf86config に任せておけばいいでしょう. You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names. The strings are free-form, spaces are allowed. Enter an identifier for your monitor definition: ENTER Enter the vendor name of your monitor: ENTER Enter the model name of your monitor: ENTER 次はビデオボードの選択です. わたしたちは古い ET4000 チップの載った Ramdac とクロックチップが不明な Diamond SpeedStar Plus を持っています. どうやればいいのか見てみましょう. Now we must configure video card specific settings. At this point you can choose to make a selection out of a database of video card definitions. Because there can be variation in Ramdacs and clock generators even between cards of the same model, it is not sensible to blindly copy the settings (e.g., a Device section). For this reason, after you make a selection, you will still be asked about the components of the card, with the settings from the chosen database entry presented as a strong hint. The database entries include information about the chipset, what server to run, the Ramdac and ClockChip, and comments that will be included in the Device section. However, a lot of definitions only hint about what server to run (based on the chipset the card uses) and are untested. If you can't find your card in the database, there's nothing to worry about. You should only choose a database entry that is exactly the same model as your card; choosing one that looks similar is just a bad idea (e.g. a GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of hardware as can be). Do you want to look at the card database? y 0 2 the Max MAXColor S3 Trio64V+ S3 Trio64V+ 1 928Movie S3 928 2 AGX (generic) AGX-014/15/16 3 ALG-5434(E) CL-GD5434 4 ASUS 3Dexplorer RIVA128 5 ASUS PCI-AV264CT ATI-Mach64 6 ASUS PCI-V264CT ATI-Mach64 7 ASUS Video Magic PCI V864 S3 864 8 ASUS Video Magic PCI VT64 S3 Trio64 9 AT25 Alliance AT3D 10 AT3D Alliance AT3D 11 ATI 3D Pro Turbo ATI-Mach64 12 ATI 3D Xpression ATI-Mach64 13 ATI 3D Xpression+ PC2TV ATI-Mach64 14 ATI 8514 Ultra (no VGA) ATI-Mach8 15 ATI All-in-Wonder ATI-Mach64 16 ATI Graphics Pro Turbo ATI-Mach64 17 ATI Graphics Pro Turbo 1600 ATI-Mach64 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. ENTER かなりの数のボードがアルファベット順に定義されていますが, ついに次のようなものを見つけました. 108 DSV3325 S3 ViRGE 109 DSV3326 S3 Trio64V+ 110 DataExpert DSV3325 S3 ViRGE 111 DataExpert DSV3365 S3 Trio64V+ 112 Dell S3 805 S3 801/805 113 Dell onboard ET4000 ET4000 114 Diamond Edge 3D nv1 115 Diamond Multimedia Stealth 3D 2000 S3 ViRGE 116 Diamond Multimedia Stealth 3D 2000 PRO S3 ViRGE/DX 117 Diamond SpeedStar (Plus) ET4000 118 Diamond SpeedStar 24 ET4000 119 Diamond SpeedStar 24X (not fully supported) WD90C31 120 Diamond SpeedStar 64 CL-GD5434 121 Diamond SpeedStar HiColor ET4000 122 Diamond SpeedStar Pro (not SE) CL-GD5426/28 123 Diamond SpeedStar Pro 1100 CL-GD5420/2/4/6/8/9 124 Diamond SpeedStar Pro SE (CL-GD5430/5434) CL-GD5430/5434 125 Diamond SpeedStar64 Graphics 2000/2200 CL-GD5434 Enter a number to choose the corresponding card definition. Press enter for the next page, q to continue configuration. 117 Your selected card definition: Identifier: Diamond SpeedStar (Plus) Chipset: ET4000 Server: XF86_SVGA Press enter to continue, or ctrl-c to abort.ENTER Now you must determine which server to run. Refer to the man pages and other documentation. The following servers are available (they may not all be installed on your system): 1 The XF86_Mono server. This a monochrome server that should work on any VGA-compatible card, in 640x480 (more on some SVGA chipsets). 2 The XF86_VGA16 server. This is a 16-color VGA server that should work on any VGA-compatible card. 3 The XF86_SVGA server. This is a 256 color SVGA server that supports a number of SVGA chipsets. On some chipsets it is accelerated or supports higher color depths. 4 The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128 and XF86_S3V. These four server types correspond to the four different "Screen" sections in XF86Config (vga2, vga16, svga, accel). 5 Choose the server from the card definition, XF86_SVGA. Which one of these screen types do you intend to run by default (1-5)? システムはすでに XF86_SVGA を選んでくれています. 違うものに変えますか? 変更するには, それなりの理由が必要でしょう. ここではさしたる理由もありませんので, カードの定義のままにしておきましょう. Which one of these screen types do you intend to run by default (1-5)? 5 The server to run is selected by changing the symbolic link 'X'. For example, the SVGA server. Please answer the following question with either 'y' or 'n'. Do you want me to set the symbolic link? y X を起動するすべてのプログラム (xinit, startx および xdm) は /usr/X11R6/bin/X を起動します. ここでのシンボリックリンクは /usr/X11R6/bin/X が自分のサーバを指すようにしてくれます. もしシンボリックリンクを行なわなければ X を起動することはできません. Now you must give information about your video card. This will be used for the "Device" section of your video card in XF86Config. You must indicate how much video memory you have. It is probably a good idea to use the same approximate amount as that detected by the server you intend to use. If you encounter problems that are due to the used server not supporting the amount memory you have (e.g. ATI Mach64 is limited to 1024K with the SVGA server), specify the maximum amount supported by the server. How much video memory do you have on your video card: 1 256K 2 512K 3 1024K 4 2048K 5 4096K 6 Other Enter your choice: 3 You must now enter a few identification/description strings, namely an identifier, a vendor name, and a model name. Just pressing enter will fill in default names (possibly from a card definition). Your card definition is Diamond SpeedStar (Plus). The strings are free-form, spaces are allowed. Enter an identifier for your video card definition: ENTER You can simply press enter here if you have a generic card, or want to describe your card with one string. Enter the vendor name of your video card: ENTER Enter the model (board) name of your video card: ENTER Especially for accelerated servers, Ramdac, Dacspeed and ClockChip settings or special options may be required in the Device section. The RAMDAC setting only applies to the S3, AGX, W32 servers, and some drivers in the SVGA servers. Some RAMDAC's are auto-detected by the server. The detection of a RAMDAC is forced by using a Ramdac "identifier" line in the Device section. The identifiers are shown at the right of the following table of RAMDAC types: 1 AT&T 20C490 (S3 and AGX servers, ARK driver) att20c490 2 AT&T 20C498/21C498/22C498 (S3, autodetected) att20c498 3 AT&T 20C409/20C499 (S3, autodetected) att20c409 4 AT&T 20C505 (S3) att20c505 5 BrookTree BT481 (AGX) bt481 6 BrookTree BT482 (AGX) bt482 7 BrookTree BT485/9485 (S3) bt485 8 Sierra SC15025 (S3, AGX) sc15025 9 S3 GenDAC (86C708) (autodetected) s3gendac 10 S3 SDAC (86C716) (autodetected) s3_sdac 11 STG-1700 (S3, autodetected) stg1700 12 STG-1703 (S3, autodetected) stg1703 Enter a number to choose the corresponding RAMDAC. Press enter for the next page, q to quit without selection of a RAMDAC. q We don't need this A Clockchip line in the Device section forces the detection of a programmable clock device. With a clockchip enabled, any required clock can be programmed without requiring probing of clocks or a Clocks line. Most cards don't have a programmable clock chip. Choose from the following list: 1 Chrontel 8391 ch8391 2 ICD2061A and compatibles (ICS9161A, DCS2824) icd2061a 3 ICS2595 ics2595 4 ICS5342 (similar to SDAC, but not completely compatible) ics5342 5 ICS5341 ics5341 6 S3 GenDAC (86C708) and ICS5300 (autodetected) s3gendac 7 S3 SDAC (86C716) s3_sdac 8 STG 1703 (autodetected) stg1703 9 Sierra SC11412 sc11412 10 TI 3025 (autodetected) ti3025 11 TI 3026 (autodetected) ti3026 12 IBM RGB 51x/52x (autodetected) ibm_rgb5xx Just press enter if you don't want a Clockchip setting. What Clockchip setting do you want (1-12)? ENTER For most configurations, a Clocks line is useful since it prevents the slow and nasty sounding clock probing at server start-up. Probed clocks are displayed at server startup, along with other server and hardware configuration info. You can save this information in a file by running imprecise; some clocks may be slightly too high (varies per run). At this point I can run X -probeonly, and try to extract the clock information from the output. It is recommended that you do this yourself and add a clocks line (note that the list of clocks may be split over multiple Clocks lines) to your Device section afterwards. Be aware that a clocks line is not appropriate for drivers that have a fixed set of clocks and don't probe by default (e.g. Cirrus). Also, for the P9000 server you must simply specify clocks line that matches the modes you want to use. For the S3 server with a programmable clock chip you need a 'ClockChip' line and no Clocks line. You must be root to be able to run X -probeonly now. Do you want me to run 'X -probeonly' now? この最後の質問はきちんと考える必要があります. あるポイントで X -probeonly を実行する必要はあるのですが, そうするためにはさらにいくつかの設定が必要です. 忠告通り, 後でやってみることにしましょう. Do you want me to run 'X -probeonly' now? n For each depth, a list of modes (resolutions) is defined. The default resolution that the server will start-up with will be the first listed mode that can be supported by the monitor and card. Currently it is set to: "640x480" "800x600" "1024x768" for 8bpp "640x480" "800x600" for 16bpp "640x480" for 24bpp "640x400" for 32bpp Note that 16, 24 and 32bpp are only supported on a few configurations. Modes that cannot be supported due to monitor or clock constraints will be automatically skipped by the server. 1 Change the modes for 8pp (256 colors) 2 Change the modes for 16bpp (32K/64K colors) 3 Change the modes for 24bpp (24-bit color, packed pixel) 4 Change the modes for 32bpp (24-bit color) 5 The modes are OK, continue. Enter your choice: 5 accept the defaults You can have a virtual screen (desktop), which is screen area that is larger than the physical screen and which is panned by moving the mouse to the edge of the screen. If you don't want virtual desktop at a certain resolution, you cannot have modes listed that are larger. Each color depth can have a differently-sized virtual screen Please answer the following question with either 'y' or 'n'. Do you want a virtual screen that is larger than the physical screen? n 物理的な画面の大きさよりも大きな仮想スクリーンが必要かどうかというのは難しい問題です. わたしはかなりうっとうしいと思うので n と答えることをお勧めしますが, 特に最も高い解像度でも小さい, という場合には便利だと感じるかも知れません. さて設定は終わりました. 後は sysinstall が設定ファイルを書くだけです. I am going to write the XF86Config file now. Make sure you don't accidently overwrite a previously configured one. Shall I write it to /etc/XF86Config? y File has been written. Take a look at it before running 'startx'. Note that the XF86Config file must be in one of the directories searched by the server (e.g. /usr/X11R6/lib/X11) in order to be used. Within the server press ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl, alt and backspace simultaneously immediately exits the server (use if the monitor doesn't sync for a particular mode). For further configuration, refer to /usr/X11R6/lib/X11/doc/README.Config. 一旦この設定が終われば, X を起動する準備ができています. + + + XFree86 におけるフォントの利用 + + + TrueType フォント + + XFree86に付属しているデフォルトのフォントは, + 通常の DTP アプリケーション用として決して理想的なものではありません. + 大きなフォントはぎざぎざで未熟な面が目立ちますし, + Netscape における小さいフォントははっきり見えません. + しかし XFree86 + では幸運にも, ほんの少しの作業で + TrueTypeフォントを使うように変更できます. + + XFree86 4.0 + は TrueType フォントをサポートしています. + この機能を有効にできるモジュールには異なるものが二つありますが, + 他のフォント表示用バックエンドと相性が良いため, + ここの例では "freetype" モジュールを使います. + freetype モジュールを有効にするには, + /etc/X11/XF86Config + ファイルのモジュールの項に次の行を加えるだけです. + + Load "freetype" + + XFree86 3.3.X + では, 独立した TrueType フォントサーバを動かす必要があります. + この用途に良く利用されるのは Xfstt + です. + この Xfstt は, + /usr/ports/x11-servers/Xfstt にある + port を使って簡単にインストールすることができます. + + 次に, TrueType フォント用ディレクトリ + (たとえば /usr/X11R6/lib/X11/fonts/TrueType) + を作り, このディレクトリの中にすべての TrueType + フォントをコピーします. + なお, Machintosh から直接 TrueType フォントを持ってくることはできない, + ということを覚えておいてください. + つまり XFree86 では, + Unix/DOS/Windows フォーマットでなければならないということです. + フォントファイルをコピーしたら, ttmkfdir + を使って fonts.dir ファイルを作成する必要があります. + これは, X のフォント処理部分に新しくインストールしたファイルを + 認識させるためのものです. + FreeBSD 用の ttmkfdir の port は, + /usr/ports/x11-fonts/ttmkfdir にあります. + + &prompt.root; cd /usr/X11R6/lib/X11/fonts/TrueType +&prompt.root; ttmkfdir > fonts.dir + + さて, 次にフォントパスに TrueType ディレクトリを加える必要があります. + 最も簡単な方法は, ~/.xinitrc + ファイルに次の項を加えることです. + + &prompt.user; xset fp+ /usr/X11R6/lib/X11/fonts/TrueType +&prompt.user; xset fp rehash + + 以上でおしまいです. + Netscape, Gimp, StarOffice, そして他の X アプリケーションは, + 現在インストールされた TrueType フォントを認識しているはずです. + これで (高解像度ディスプレイで見るウェブページの文章などの) + 極端に小さいフォントや (StarOffice の中での) + 極端に大きなフォントが, より見やすくなったと思います. + + 注意: + XFree86は現在, + アンチエイリアスフォントの表示をサポートしていません. + これは高解像度ディスプレイではさほど問題にはならないのですが, + MacOS や Microsoft Windows と比較すると, + この出力はいまだ最善とは言えないものです. + +