OS/2 における XFree86 に関する README Holger Veit Last modified on: December 12th, 1999 The X Japanese Documentation Project Last modified on: December 21th, 1999 ____________________________________________________________ Table of Contents 1. リリース 3.3.6 に関する最初の注意 2. XFree86 とその入手方法について 3. 本ドキュメントに対するバグ報告 4. 必要なハードウェアとソフトウェア 4.1 サポートされているハードウェアと、必要あるいは推奨のハードウェア 4.2 必要なソフトウェア 5. システムのインストール 6. トラブルシューティング 7. ビデオハードウェアの互換性のチェック 8. パッケージのインストール 9. CONFIG.SYS への環境変数の追加 10. ネットワーク設定に関する注意 11. 動的な IP の考慮 12. ハードウェアに合わせた X の設定 13. X の実行 14. XFree86 配布物の再構築 15. 新しい X クライアントの構築 16. 日本語訳について ______________________________________________________________________ 1. リリース 3.3.6 に関する最初の注意 このファイルを読む前に、バイナリ配布物に付属している LATEST.OS2 を全て 確認してください。問題があったと騒ぐ前には、以下の XFree86/OS2 の WWW ページもチェックしてください: o http://ais.gmd.de/~veit/os2/xf86os2.html o http://ais.gmd.de/~veit/os2/xf86bugs.html o http://ais.gmd.de/~veit/os2/x11os2faq.html このバージョンのコードは XFree86/OS2 3.3.6 と呼ばれます。これは 3.3.5 以前のバージョンのバグ修正リリースであり、AGP ボードを含むいくつかの新 しいカードに対するハードウェアサポートがさらに追加されたものです。 XFree86-3.3.6 は以前のバージョンに対してリリースされたセキュリティ関連 の修正も全て含んでいます。詳しくは RELNOTES ドキュメントを参照してくだ さい。 XFree86/OS2-3.3.6 は全ての機能を持ち、制限も無く、古くなっていないバー ジョンで、ソースコードも全て入手可能です。ベータ版とは異なり、このコー ドはエンドユーザが使う分には十分安定していると考えています。バグがたく さん修正されているので、今まで XFree86/OS2 3.3.x を使っていて、それが お使いのハードウェア上でうまく動いていたとしても、このバージョンに移行 することをお勧めします。 3.3.6 がリリースがリリースされたことによ り、3.3 系の古いバージョンは引っ込められ、アーカイブはこのバージョンに 更新されるでしょう。このドキュメント中にはまだ 3.3 や 3.3.x についての 言及があるかもしれませんが、特に注意書きが無ければ、これらは 3.3.6 に も当てはまります。 前のバージョンは多くの機器構成でテストされており、いくつかバグは残って いますが、ほぼ問題無く動作することがわかっています。 X11R6.3 の「core」配布という点では、このリリースは(例外が少しあります が)ほぼ完全です。「contrib」配布の一部は移植版ソフトウェアのページ http://ais.gmd.de/~veit/os2/xf86ported.html から入手することができま す。 過去のベータテストで、ソフトウェアそのものは比較的安定で、ハードウェア を壊すことはないことが分かっています。ただし、これはユーザが組み込みの 制限値を越えようとしたり、ビデオハードウェアの仕様外の操作ができる特定 の設定パラメータを変更したりしない場合の話です。 しかし、 o 我々が安定と考えているコードについても、あるコードが正しく動作した り全て動作するという明示的あるいは暗黙の保証はありません。 o マシンを壊したという報告を受けたことはありませんが、これはこのコー ドでハードウェアを壊すことはありえないということではありません。深 くに潜んだバグがまだソフトウェアに残っているかもしれません。 このソフトウェアをインストールする前には、重要なデータをバックアップす ることをお勧めしますが、これは何をインストールする前にでも一般的に言え る注意のはずです。X サーバがクラッシュすること自体がデータを壊したり内 容を変えたりしたという報告はありませんが、まれにシステムが不安定な状態 になることがありえます(ビデオ表示モードが壊れたり、システムが反応しな くなったり、マウスやキーボードの動作に反応しなくなる)。このような場合 にシステムをハードリセットしたり電源を切ると、オペレーティングシステム のファイルのキャッシュが正しくディスクに書き戻されずに、データが無く なってしまうことがあります。 2. XFree86 とその入手方法について XFree86 は X11R6.3 を Intel ベースの Unix のいくつかに移植したもので す。 XFree86 は元々、 X386 1.2 という X11R5 と一緒に配布されていた X サーバでした。このリリースでは新しい機能がたくさん追加され、性能も改善 されていますし、バグもたくさん修正されています。リリースは X コンソー シアムの X11R6.3 のソースへのパッチの形でも入手できますし、多くのアー キテクチャ用のバイナリの形でも入手できます。 XFree86/OS2 は OS/2 ベースのシステム用の XFree86 の実装の名前です。 著作権表示には目を通しておいてください。 OS/2 Warp, Merlin, Aurora 用のバイナリは以下の場所から入手できます: ftp.XFree86.org:/pub/XFree86/3.3.6/OS2 WWW ページ http://borneo.gmd.de/~veit/os2/xf86os2.html には通常、ソー スやバイナリを入手できる FTP サイトや WWW サイトへのリンクがもっとある でしょう。 他のバージョン: XFree86/OS2 は Warp 3 の変種全てで動作します。これには Warp "red spine box", Warp "blue spine box", Warp Connect, Warp Server, Warp 4 が含ま れます。 Warp 3 の場合、修正パックレベル 17 以降をインストールすることを強くお 勧めします。修正パック 26 をインストールすると XFree86 が動作しなく なってしまうという報告が何件かありますが、本当の理由は確かではありませ ん。 Warp 3 用の最近の修正パック(36 等)では動作するようです。 Warp 4 は最近の公式修正パックを使っても使わなくても使えるようです。 いずれの場合も LATEST.OS2 ファイルを確認してください。 今回のバージョンではもう OS/2 2.11 はサポートされていません。これは動 作テスト環境が無いためです。したがって、OS/2 SMP 2.11 もサポートされて いません。Warp Server SMP はサポートされていますが、複数のプロセッサが 動作することによる一般的な速度向上以外には、SMP には大きな利点はありま せん。OS/2 のバージョン 1.X は全くサポートしていませんし、これからサポ ートされることもないでしょう。 XFree86/OS2 をソースから構築することもできます。こちらについては、ド キュメント OS2.NOTES をご覧ください。 3. 本ドキュメントに対するバグ報告 このファイルに対するコメントや提案があれば、Holger.Veit@gmd.de (Holger Veit) あるいは XFree86@XFree86.org まで電子メールを送ってください井。 文書を改訂します。 4. 必要なハードウェアとソフトウェア 4.1. サポートされているハードウェアと、必要あるいは推奨のハードウェア o RAM を 16MB 積んだ 486DX33 が少なくとも必要です。メモリをもっと積ん だ Pentium や Pentium Pro が推奨されます。386 やメモリが 8MB 未満と いうのは、機器構成としては不十分です。 o ネットワークカード、ディスクの種類、CD-ROM に関する特別な要件はあり ません。当然ながら、性能は高ければ高いほど良いです。 o インストールしているパッケージによって、フォーマット済の HPFS パー ティション(またはロングファイルネームをネイティブに利用できる JFS, NFS, ext2fs パーティション)に 20〜55MB のディスク領域が必要です。 XFree86/OS2 は FAT パーティション上では動作しません。 o XFree86 がサポートしているビデオカードが必要です。サポートされてい るカードについては、一般の README を参照してください。注意すべき点 として、XFree86 がサポートしているビデオカードがあり、OS/2 がサポー トしているビデオカードがありますが、両者はちょうど一致しているわけ ではありません。つまり、お使いのカードが OS/2 でサポートされていて も、XFree86 でも動作するわけではないということです。その逆も言えま す。XFree86 は OS/2 オペレーティングシステムのビデオサービスを使い ません。 4.2. 必要なソフトウェア o 少なくとも修正パック 17 が当たっている全てのバージョンの Warp3 ある いは Warp 4 が必要です。 o XFree86/OS2-3.3.6 はローカルの名前付きパイプ接続か TCP/IP ベースの ネットワーク接続を使うことがあります。 1. Warp は Internet Access Kit (IAK) が付属しています。これがあれば 大丈夫です。Warp Connect と Warp Server には完全なバージョンの TCP/IP (3.0) が付属しています。IAK よりはこちらのソフトウェアを 使うほうが良いでしょう。 2. Warp 4 には TCP/IP 4.0 が付属しており、これも動作するはずです。 3. EMX 0.9 fix 4 を使うと、新しい 32 ビットの IBM TCP/IP 4.1 という 製品も使えるという報告があります。 4. IBM の PMX という製品に付属している古い IBM TCP/IP 2.0 も Warp で使えるかもしれませんが、IBM はもうこれをサポートしていません。 最新の CSD がインストールされていることを確認してください。 FTP や DEC, Hummingbird 版の TCP/IP など他のバージョンの TCP/IP や IBM TCP/IP 1.X はサポートされていません。DOS(パケットドライバや winsock), Netware, NetBIOS からのネットワークサポートも動作しませ ん。作者は将来的にもこれをサポートするつもりはありません。 o XFree86 用にアプリケーションを作成・移植しようと考えていれば、ぜひ そうしてください。これを行うには EMX/gcc 0.9C fix4 以降を完全にイン ストールする必要があるでしょう。2番目の(古い)gcc の実装や、 Cset/2, VAC++, Borland C++/OS2, Watcom C++, Metaware C 等を含む商用パッケー ジはいずれも移植には向いていません。なぜなら、X の DLL には、EMX だ けが持っている特定の機能に依存している部分が色々あるからです。 5. システムのインストール バイナリ配布物は、実行ファイル、サーバ、フォント、ライブラリ、インクル ードファイル、オンラインマニュアル、設定ファイルが入っているたくさんの zip アーカイブから構成されています。配布物全体では、ディスク容量を約 40〜50MB 必要とします。 このαバージョンの全てのアーカイブは info-zip ユーティリティで圧縮され ています。これは OS/2 のアーカイブの多くから UNZ512X2.EXE (あるいは もっと新しいバージョン)という名前で入手することができます。この展開プ ログラムは、OS/2 ネイティブのバージョンを入手してください。DOS 版の PKUNZIP は長いファイル名や拡張属性を展開できないため、正しく動作しませ ん。 現時点では、配布物は「コア」配布物だけを対象にしていますが、これだけで はあまり使いものになりません。XFree86 に移植された構築済の X クライア ントを入手するには、XFree86/OS2 FAQ で挙げられている WWW サイトやアー カイブ等を参照してください。 パッケージの内容を以下に示します: 必須: Xbase 特殊なデバイスドライバと SuperProbe プログラム注意: WSeB (Aurora) で起こる問題を避けるためには、このファイルに付属して いる最新バージョンの xf86sup.sys をインストールしなければなり ません。古いバージョンでは動作しません。 Xdoc README と XFree86 固有のオンラインマニュアル Xbin 実行可能な X クライアントアプリケーションと共有ライブラリ全て Xfnts misc フォントと 75dpi フォント emxrt EMX のランタイムライブラリ 以下の中からハードウェアにあったものを少なくとも 1 つ選択します: X8514 IBM 8514/A とその互換ボード用の X サーバ XAGX AGX ボード用の X サーバ XGlnt Permedia / GLINT ボード用の X サーバ XI128 #9 Imagination 128 ボード用の X サーバ XMa32 ATI Mach32 グラフィックスボード用の X サーバ XMa64 ATI Mach64 グラフィックスボード用の X サーバ XMa8 ATI Mach8 グラフィックスボード用の X サーバ XMono 白黒 X サーバ XP9K P9000 ベースのボード用の X サーバ XS3 S3 ベースのボード(S3 ViRGE を除く)用の X サーバ XS3V S3 ViRGE ベースのボード用の X サーバ XSVGA Super VGA カード用の 8 ビット pseudo-color X サーバ XVG16 VGA & SVGA カード用の 4 ビット pseudo-color X サーバ XW32 et4000w32 ベースのボード用の X サーバ 無くても良いもの: Xman X11 のインタフェースとクライアントに関するフォーマット済のオ ンラインマニュアル Xf100 100dpi フォント Xfscl Speedo フォントと Type1 フォント Xfnon 日本語、中国語などのフォント Xfcyr キリル文字フォント Xfsrv フォントサーバと、そのオンラインマニュアル Xprog 他の Xアプリケーションをコンパイルするための X11 のヘッダファ イルとプログラマ向けのユーティリティ Xpex PEX アプリケーションに必要な PEX のフォントとライブラリ ディスク容量を節約し、ネットワーク転送に必要なバンド幅を減らすため、取 得するソフトウェアは注意深く決めてください。それぞれの X サーバはアー カイブのサイズは 1.2MB で、ディスク上では 3.0MB の容量を必要とします。 通常は、ビデオボードにあった X サーバ 1 つ以外は必要無いはずです。 インストールを初めて行う場合には、他のどのパッケージよりも先に Xbase アーカイブを入手してください。このパッケージにはドライバと、ビデオハー ドウェアを解析するテストプログラムが入っています。このプログラムが動作 しない場合や、利用できないハードウェアであると報告した場合、奇跡的に動 くことを期待して他のパッケージを入手しても無意味です。 6. トラブルシューティング どうしていきなりこのセクションを見ているんですか? これをここに書いてい るのは、ここならば見落とされない可能性が最も高いからです。XFree86 をイ ンストールするとあなた必ずトラブルに出会うと言っているわけではないので すが、警告はしておきます: 以下のセクションは重要であり、あわてたり手を 抜いたために怠っていることがあると、あなたにとっては X11 システムが動 かないことになりますし、我々にとっては余計な面倒がかかることになりま す。 しかし、信じられないくらいの数の機器構成があるため、以下の説明ではうま く行かない特殊な状況や機器構成もあると思います。そういう場合には、いつ の間にかトラブル対処ガイドに発展した「よく聞かれる質問(Frequently Asked Questions, FAQ)」のリストを読んでください。繰り返しますが、必ず 読んでください。最新版は常に http://ais.gmd.de/~veit/os2/x11os2faq.html にあります。 もしかすると、あなたがバグを見つけたのかもしれません(きっとあなたの想 像力がたくましすぎただけだと思いますが)。その場合には http://ais.gmd.de/~veit/os2/xf86bugs.html を見て、それが既知のものかど うか調べてください。これで見つからなければ、新しい問題に出会っているこ とになるので、これを XFree86(xfree86@xfree86.org)に報告してください。 ちゃんとした問題報告を書くための情報が FAQ に用意されているので、これ を参照してください。 ニュースグループで設定の質問をする時は comp.os.os2.setup.misc を利用し てください。筆者はこのニュースグループを読んでいるので、他のニュースグ ループに投稿したり、報告を筆者のメールアドレスや xfree86@xfree86.org に転送しても、処理は早くなりませんし筆者に何かを強制できるわけでもあり ません。 さて、あまり読者の皆さんを意気消沈させるわけにもいかないので、設定のセ クションを始めしょう: 7. ビデオハードウェアの互換性のチェック 以下の説明では、ドライブレターが Y: (たぶん使っていないと思いますが)で あるディスクドライブにXFree86/OS2 をインストールしようとしているものと します。コマンド全てについて、ドライブレターは適切に変更してください。 1. パッケージ Xbase を入手し、Y: ドライブのルートディレクトリからイン ストールします。インストールでは以下のコマンドを入力します: [C:\] Y: [Y:\] cd \ [Y:\] unzip \path_of_package\Xbase.zip 2. CONFIG.SYS ファイルを編集し、以下の行をどこかに追加します: DEVICE=Y:\XFree86\lib\xf86sup.sys 当然ながら、``Y:'' は正しいドライブレターに置き換えてください。 3. この時点で、XFree86/OS2 に必要な環境変数の追加も考えておくとよいで しょう。これにより余計な再起動の手間が省けます。後述の ``CONFIG.SYS への環境変数の追加'' セクションを参照してください。 4. CONFIG.SYS ファイルにデバイスドライバのエントリを追加した後は、ドラ イバをインストールするために再起動しなければなりません。 XFree86/OS2 はこのドライバ無しでは動作しません。 5. フルスクリーンの OS/2 CMD セッションを起動し、以下のコマンドを入力 します: [C:\] Y:\XFree86\bin\SuperProbe 6. このコマンドは(通常)ビデオ機器構成に関する重要な情報を報告します。 この情報とは、チップセットの種類、利用可能なビデオメモリ、利用可能 な RAMDAC 回路です。この情報はメモするか、以下のように入力して ``SuperProbe'' の出力をファイルにリダイレクトするかしてください: [C:\] Y:\XFree86\bin\SuperProbe >filename 7. SuperProbe は XFree86 がサポートしているよりもずっと多くのビデオカ ードを識別することができます。しかし残念ながら、SuperProbe がカード を間違って検出し、フォールバック値の一種である MCGA カードを見つけ たと言うことが時々あります。一般的には、だいたい正しそうならば疑う 理由はほとんどありません。ですが明らかにおかしい場合(Cirrus のカー ドを使っているのに ET4000 があると言われる場合など)には、検出ミスを 後述のアドレスまでバグとして報告してください。どんな場合であれ、 ちゃんと時間を取って付属の README.* ファイルを調べ、特別な予備注 意、オプション、カードの機能を確認してください。 8. お使いのハードウェアがサポートされていると README ファイルに書かれ ていれば、残りのソフトウェアを入手してください。 8. パッケージのインストール XFree86/OS2 は drive:\XFree86 から始まるディレクトリ階層を想定していま す。これを変えることもできますが、そうしないことを強くお勧めします。 1. 十分な空き容量がある HPFS パーティションを選びます。 2. インストールするパッケージのそれぞれについて、このドライブのルート ディレクトリに移動し、以下のコマンドを入力します: drive:> cd \ drive:> unzip \パッケージのパス名\Xxxxx.zip 3. 一部のパッケージではファイルが重なっていると報告されるかもしれませ ん。例えば、X サーバのパッケージは対応する README ファイルをインス トールしますが、これは Xdoc パッケージにも入っています。これは問題 ありません。ファイルは同じものです。unzip にファイルを上書きさせて ください。 4. ファイルを展開するための特別な手順は必要ありません。 9. CONFIG.SYS への環境変数の追加 XFree86/OS2 を正しく動作させるために CONFIG.SYS に必要な設定がたくさん あります。以下の設定を追加してください。特にスラッシュとバックスラッ シュは正しく設定するように注意してください: TERM xterm や使用するエディタに合わせて端末のタイプを設定します。この 設定が必要なプログラムがいくつかあります。筆者は次のように設定し ています: SET TERM=ansi \XFree86\lib\X11\etc\termcap.x11 EMX, EMACS やその他の移植ソフト ウェアに付属している termcap ファイルの代わりに使うことができる適切 な termcap が入っています。 TERMCAP この変数には、前項の TERM 環境変数が検索される termcap ファイル の位置を設定しなければなりません。例えば、筆者の設定は以下のよう になっています: SET TERMCAP=D:/EMX/ETC/TERMCAP.X11 ディレクトリの区切りにはバックスラッシュではなく普通の ``/'' を使う 点に注意してください。 ETC ETC ディレクトリを設定します。通常、これは以下のように TCP/IP コ ードの ETC ディレクトリに設定されています: SET ETC=C:\TCPIP\ETC Warp 4 以降では、これは \MPTN\ ディレクトリを指していても構いませ ん。これでOKです。 TMP TMP ディレクトリを設定します。TMP ディレクトリは HPFS ドライ ブ(または本物のロングファイルネームが使えるファイルシステム)上に なければなりません。多くの場合、これは既に以下のように TCP/IP コ ードの TMP ディレクトリに設定されています: SET TMP=C:\TCPIP\TMP VisualAge for C++ といったソフトウェアを追加インストールしている場 合には、この変数は \ibmcpp\tmp 等のディレクトリを指しているかもしれ ません。 HOSTNAME インターネットのホスト名を設定します。通常は TCP/IP のインストー ルプログラムが既に以下のように設定しています。 SET HOSTNAME=myhost IAK では、通常はループバック設定(``Network configuration'' を参 照)で実行されるので、設定は以下のようにします: SET HOSTNAME=localhost USER LOGNAME 両方にユーザ名を設定します。現在のところは、これを行うと一部のプ ログラムで嬉しいことがあります。将来的には、この変数はマルチユー ザ設定のログインシェルで設定できるようになるかもしれません。例え ば、筆者の設定は以下のようになっています: SET USER=holger SET LOGNAME=holger HOME この変数には、ユーザのホームディレクトリと考えられている既存の ディレクトリを設定します。一部のユーティリティはテンポラリファイ ルや初期化ファイルをここに置きます。これもマルチユーザ設定向けの 将来の開発項目ですが、その時でも残っているはずです。例えば、この 変数は以下のように設定します: SET HOME=H:\user\holger X11ROOT これは最も重要な設定の 1 つであり、XFree86 のディレクトリツリー のルートを決めます。通常は、この変数は \XFree86 があるパーティ ションのドライブレターが以下のように設定されます: SET X11ROOT=Y: ツリーを別のサブディレクトリ (K:\OS2\X11\XFree86...)に移そうとする ことがあるかもしれませんが、その場合には以下のように変更しなければ なりません: SET X11ROOT=K:/OS2/X11 , しかし、この変更はしないことをお勧めします。というのも、一部のユ ーティリティは変更を受け付けないからです。この設定ではディレクトリ の区切り文字に普通の ``/'' を使う点に注意してください。 DISPLAY この変数には、画面表示を行うクライアントが使うディスプレイを設定 します。通常この変数には HOSTNAME の後に単に :0.0 を追加した値を 設定します。例えば以下のようになります: SET DISPLAY=myhost:0.0 これらのポストフィックスと他のオプションの意味については、X11 のオ ンラインマニュアルを読んでください。 XSERVER この変数には、使用する X サーバの実行ファイル名を設定します。こ れは完全パスでなければなりません。例えば、筆者は以下のように設定 しています: SET XSERVER=D:/XFree86/bin/XF86_Mach64.exe PATH X11 ユーティリティ用のバイナリディレクトリを検索パスに追加してく ださい。これは通常、ディレクトリです(ドライブレターを調整してく ださい)。 Y:\XFree86\bin これらのバイナリを検索パスに含まれる他のディレクトリに移動させるこ とは可能です。しかし、これはメンテナンス上の理由や構成のわかりやす さの面からお勧めできません。もちろん、TVFS 等のソフトウェアを使って これらのファイルを別の場所にリダイレクトしても構いません。 LIBPATH X11 ユーティリティ用の DLL ディレクトリを LIBPATH に追加してくだ さい。通常、これはディレクトリです(ドライブレターを調整してくだ さい)。 Y:\XFree86\lib DLL をライブラリパスに含まれる他のディレクトリに移動させることは可 能です。しかし、メンテナンス上の理由や構造のわかりやすさの面から、 これはお勧めできません。Y:\XFree86\lib にはサブディレクトリがいくつ かある点に注意してください。これらはどこに動かすこともできず、ずっ とそこになければいけません。というのも、大部分のユーティリティは %X11ROOT%\XFree86\lib をベース値として使ってディレクトリへのパスを 作っているからです。 SET MANPATH=Y:\XFree86\man;Y:\EMX\man 注意: xman 単体では全ての Unix のオンラインマニュアルを正しく表示す ることはできません。GROFF という整形ツールもインストールしなければ ならないでしょう。詳しくは FAQ を見てください。 OS2_SHELL COMSPEC SHELL X11SHELL XFree86 に入っているスクリプトの一部は、標準の CMD.EXE に互換な シェルを前提としています。CMD.EXE には、xterm 内で正常に動作する ための重要な機能がいくつかあります。他で作られたシェルは、入出力 は標準入力/標準出力のファイルチャネルから受け取るけれど、キーボ ードとビデオのサービスは直接アクセスするといった xterm のような 環境で動作するように開発されていません。上記の変数を使う と、XFree86 の外では好きなシェルを使い、 XFree86 の中だけでは CMD.EXE を使うようにシステムを再設定できます。詳しくは FAQ を見 てください。 最近のバージョンの XFree86/OS2 には checkinstall.cmd という名前の REXX スクリプトが含まれています。このスクリプトを使って、項目のほとん どを正しく入力したかどうかチェックを行うことができます(行うべきです)。 これは弾避けではありませんが、明らかな設定ミスの大部分を防ぐことができ ます。また X サーバ自身も同じチェックを行い、設定が誤っている場合には X サーバは起動しません。 10. ネットワーク設定に関する注意 TCP/IP ネットワークシステムの正しいインストールについての手引きさえ、 本ドキュメントの範囲を越えています。この作業は読者の皆さん自身が行う か、どこかから手伝ってくれる人を探してくるしかありません。ここで言える ことは、TCP/IP ベースの LAN ネットワーク上でうまく動作している PC は、 XFree86/OS2 もうまく動作するだろうということだけです(他の必須の条件も 満たされている場合)。 IAK を使っている場合には、インターネットプロバイダに接続している間だけ XFree86/OS2 を使いたいのでなければ、特別な設定が必要です。この設定はい わゆる「ローカルホスト」や「ループバック」と言われる設定です。これはロ ーカルのネットワークインタフェースで、同じホストに「ループして」戻って くるものです。この場合には以下の設定が必要です: 1. 以下の内容を持つ \tcpip\etc\hosts というファイルを作成します: 127.0.0.1 localhost 2. 以下の行を \tcpip\bin\tcpstart.cmd に追加します: ifconfig lo 127.0.0.1 up このような tcpstart.cmd ファイルが無い場合(Warp 4 では、このファイルは \MPTN\BIN\MPTSTART.CMD と呼ばれます)には、このファイルを作成し、以下の ような行を CONFIG.SYS ファイルに追加してください: CALL=C:\OS2\CMD.EXE /Q /C C:\tcpip\bin\tcpstart.cmd >NUL: (起動ドライブは C: であるものと しています。) 3. 前のセクションで説明した通り、HOSTNAME 環境変数に localhost を設定 します。 4. 以下の行を CONFIG.SYS に追加します: SET USE_HOSTS_FIRST=1 5. 再起動後、以下のコマンドが動作するか確認します: [C:\] ping localhost PC が LAN に接続されている場合(直接でも、SLIP/PPP 経由でも)には、この 「ループバック」インタフェースは必要ありません。 SLIP/PPP 回線の場合には、XFree86 を起動する前に、この接続を確立しなけ ればなりません。詳しくは次の節を見てください。 ホスト名を使う(例えば DISPLAY 変数内での使用)機能は、ホスト名解決機構 と関係する点に注意してください。LAN ベースの DNS サーバを利用できない のであれば、関係するホスト名をHOSTS ファイルに追加しなければなりませ ん。システムの設定フォルダの TCP/IP 設定ダイアログを使えば、このファイ ルを編集できます。 XFree86/OS2 に付属している checkinstall.cmd スクリプトは、設定に関する アドバイスもいくらかしてくれます。 これやや他の基本的なネットワーク関係のツールを動作させる際に問題が起 こったら、FAQ (xf86os2 mailing list) を調べるか、メーリングリストのア ーカイブを調べてください。 11. 動的な IP の考慮 一般的には、マシンの IP が固定であれば全体が最もうまく動作します。ロー カルホストアドレスと(ルーティングされない)固定のローカルアドレス (10.x.x.x, 192.168.x.x, 172.16.x.x-172.31.x.x)でもうまく動作します。 X 接続などの両端で問題が起こるのは、動的な IP アドレスが含まれている場合 です。これは例えば、ISP に PPP 接続している場合などです。残念ながら、 XFree86/OS2 のネットコミュニティはこれに役立つスクリプト群をまだ用意で きていないので(筆者がまとめるつもりです)、ここでは実際に問題になってい ることについてヒントをいくつか出すだけにします: X サーバは定義された何 らかの値を持つホスト/ポート番号のソケットで X プロトコルのパケットを監 視します。X サーバはソケットに関する情報をコマンドラインまたは解決され たホスト名(ホスト名は HOSTS ファイルまたは DNS サーバから取得します)か ら得ます。ここで HOSTNAME 変数が出てきます。一度サーバが動き出す と、IP/ホスト名の設定変更はもはや認識されません。したがって、動的に IP が割り当てられる接続上で X を使うための一般的なアプローチは以下のよう になります: ISP への接続をまず確立し、それから X サーバを起動します。X サーバの起動を行う関連スクリプトは startx.cmd です。このスクリプト は(間接的に) \XFree86\lib\X11\xinit\xinitrc.cmd スクリプトを実行しま す。したがって、これらのスクリプトを修正して、 HOSTNAME 変数と DISPLAY 変数を正しく設定し、正しい IP アドレスを使って X サーバを起動しなけれ ばなりません。X サーバのログの一番初めのあたりには、監視している IP ア ドレスがデバッグ目的のために出力されています。 12. ハードウェアに合わせた X の設定 必要な設定を追加し、ネットワーク動作の設定を終えた後、ウィンドウセッ ションか、全画面の OS/2 テキストセッションから xf86config プログラムを 実行し、Y:\XFree86\lib\X11\XF86Config に標準設定ファイルを作成してくだ さい: [C:\] xf86config xf86config プログラムは質問をたくさんしてきます。ここで SuperProbe プ ログラムから得た情報が必要になるでしょう。このプログラムは自己説明的な はずです。しかし、何かを理解できないことがあれば、ニュースグループで助 けを求めてください。 XF86Config ファイルをテキストエディタで編集することも可能ですが、エキ スパートでない方はまず後込みしてしまうでしょう。しかし FAQ で説明され ている一部の場合では、必ずこれをしなければならないこともあります。この ファイルは Win95 のレジストリのようなハッカーの領域ではありませんが、 簡単に破壊をもたらしかねない点は同じです。 XF86Config ファイルの詳しいフォーマットについては、オンラインマニュア ルの XF86Config(4/5) を参照してください。 Linux や他の XFree86 のプラットフォームにおける設定手順を知っているな らば、いくつかの相違点を見つけることでしょう: o マウスの種類やデバイスに関する設定はありません。マウスのデバイス名 は OSMOUSE に固定されており、変更することはできません。3 ボタンマウ スを持っている場合には、3 ボタンマウス用の正しい OS/2 用ドライバを インストールしてください。例えば MouseSystems 互換のマウスの場合に は以下のようになります: DEVICE=D:\OS2\BOOT\PCLOGIC.SYS SERIAL=COM1 DEVICE=D:\OS2\BOOT\MOUSE.SYS TYPE=PCLOGIC$ o X サーバは OS/2 ネイティブのキーボードマップを読みませんが、 xf86config プログラムで言語が選択可能であれば、新しい XKB サーバ拡 張が既に正しいキーボード配列を与えていると思います。誤った設定に出 会ったら、間違っている所を詳しく説明した電子メールを XFree86@XFree86.org まで送ってください。XKB を使っていても、一部の キー設定を xmodmap ファイルで置き換えることはできます。詳しくは xmodmap のオンラインマニュアルを参照してください(あるいは Linux な どで利用可能な xmodmap ファイルを使ってください――これらは同じもの です)。 o Wacom や Elographics の入力デバイスはまだサポートされていません。 大抵の場合、Linux や他のプラットフォームの同じバージョンの XFree86 用 の既存の XF86Config を変更無しで使えると思います。ただし、よく知られた 例外が 2 つあります: S3 805 ベースの VLB カードの一部はビデオメモリを おかしな位置に配置します。また、Matrox のカードでは PM ドライバが解決 できない矛盾を起こすようです。 S3 VLB カードの場合、X サーバは可能性のあるメモリ領域を実験的にマップ やアンマップすることで、このメモリを探すことができます。しかし、 XFree86/OS2 ではこの処理の途中で OS がメモリタイルを使い果たすことがあ ります。こうなった場合、メモリの位置を自分で見つけ、オプション MemBase 0x12345678 を XF86Config ファイルの "Device" セクションに追加しなくてはなりませ ん。 Matrox のカードの場合には、X サーバがカードの PCI ID を正しく検出でき ず、そのために PM ドライバと Matrox BIOS がカードの PCI 設定をおかしな 風に再プログラムするかもしれません。こうなるとサーバは VGA 互換で解像 度が 320x200 のモードに陥ります。これを防ぐには、 PCIProbe2 を XF86Config ファイルの "ServerFlags" セクションに追加します。 一度 XF86Config ファイルが設定できれば、xvidtune ユーティリティを使っ てビデオモードを良い設定にチューニングすることができます。これは PM ウィンドウの中からではなく、動作中の X サーバのローカルの xterm のウィ ンドウの中から実行しなければならない X11 プログラムであることに注意し てください。 13. X の実行 ネットワークソフトウェア、 X, プレゼンテーションマネージャを同時に実行 するには、メモリは最低 16MB は欲しいところです。サーバ、ウィンドウマネ ージャ、xterm 1 つでメモリをだいたい 4〜6MB 使います。X は 8MB 以下の メモリでも起動しますが、激しいスワップが起きて、性能は非常に悪くなりま す。しかし、考え方は人それぞれなので、これでも我慢できると思う人もいる かもしれません。 リソースに関する要求は他にもいくつかあります: WindowMaker, KDE, Gnome, Enlightenment 等の複雑なデスクトップ環境が登場したことにより、非常に多 くのグラフィックスフィーチャが追加され、必要なリソースは大きくなりまし た。 X サーバは使われたフォントやリソース設定を内部的にキャッシュする ので、ウィンドウ(バッキングストア)の数によっては、先に述べた量よりも ずっと多くのメモリとスワップ領域が必要となります。また、X は PM と同時 に動作して資源を共有することも考慮してください。筆者のシステムは比較的 強力な PII-233、メモリ 128M のマシンですが、これは開発システムです。 64MB がだいたい標準で、普通の目的ではこれで十分です。筆者のラップトッ プ機では、メモリ 32MB でも Aurora と XFree86 が一緒に動いています。 初めてのユーザが X ウィンドウを起動するための最も簡単な方法は、 startx を PM の CMD ウィンドウから実行することです。このコマンドをフルスクリ ーンのセッションやリモートの telnet セッションから実行すると問題が起き ることが報告されているので、これを行ってはいけません。 X ウィンドウから抜け出すには、コンソールになっている xterm で ``exit'' を入力してください。.xinitrc, .xserverrc, .twmrc ファイルを HOME 環境 変数が指しているディレクトリに作成することで、X をカスタマイズすること ができます。これらのファイルについては xinit と startx のオンラインマ ニュアルで説明されています。 デフォルトでは、システム全体の xinitrc ファイル (Y:/XFree86/lib/X11/xinit/xinitrc.cmd)はかなり作りが簡単である twm ウィンドウマネージャをインストールします。 http://ais.gmd.de/~veit/os2/xf86ported.html にある移植ソフトウェアのペ ージで、もっと良いウィンドウマネージャを見つけることができるでしょう。 14. XFree86 配布物の再構築 本当に XFree86/OS2 をソースからコンパイルしたいんですか? 最初から XFree86/OS2 を再コンパイルするための詳しい手順については、 「OS2.Notes」ファイルを読んでください。 15. 新しい X クライアントの構築 新しいクライアント(X アプリケーション)を構築するための最も簡単な方法 は、 Imakefile がソースに付属していれば、xmkmf を使うことです。 ``xmkmf -a'' を実行して Makefile を生成し、必要に応じて設定をチェック し、``xmake'' を実行してください。``xmake'' は GNU make プログラムのた めのラッパであり、Imakefile から生成された Makefile 中に決って入ってい る誤った SHELL の設定を潰します。X クライアントの移植についての詳しい ヒントについては、XFree86/OS2 FAQ もご覧ください。 謝辞 以下の方々に感謝します: o サーバのコードのデバッグに関して大きく貢献された Sebastien Marineau さん。 o この移植が大きく依存している素晴らしい基本プラットフォームである EMX を作成された Eberhard Mattes さん o わたし - いやいや、これは忘れてください。自分を誉める気はありません :-) $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.OS2,v 1.1.2.3 1999/12/28 12:13:48 hohndel Exp $ $XConsortium: OS2.sgml /main/4 1996/03/11 10:46:06 kaleb $ 16. 日本語訳について 日本語訳は X Japanese Documentation Project が行いました (翻訳: 藤原輝 嘉 )。問題点の指摘 やご意見は藤原まで御連絡ください。原文の著作権は XFree86 プロジェクト 社にあり、日本語訳に伴う権利は X Japanese Documentation Project にあり ます。