SCO ユーザ向けの情報 J. Kean Johnston (hug@netcom.com) 30 November 1996 The X Japanese Documentation Project 9 February 1999 ____________________________________________________________ 目次 1. バイナリ配布物について 2. ソース配布物 3. XFree86 を実行する前に 4. コンソールの切替え 5. オンラインマニュアルの設定 6. SCO バイナリ/サーバの使用 7. Open Server 5 における XFree86 のコンパイル 8. 関連文書 9. 既知の問題 10. トラブルシューティング 11. 謝辞 ______________________________________________________________________ 1. バイナリ配布物について バイナリ配布物では以下のファイルが用意されています: README.SCO このファイル gunzip.Z GNU 圧縮ファイル展開 ユーティリティ *X312Xdoc.tgz XFree86 固有のドキュメント X312Mono.tgz 白黒サーバ X312VG16.tgz 16 色 VGA サーバ X312SVGA.tgz Super VGA サーバ X312S3.tgz S3 サーバ X3128514.tgz 8514 サーバ X312AGX.tgz AGX サーバ X312Mc32.tgz Mach 32 サーバ X312Mc64.tgz Mach 64 サーバ X312Mc8.tgz Mach 8 サーバ X312P9k.tgz P9000 サーバ X312W32.tgz ET4000/W32 サーバ *X312cfg.tgz xdm/fs/xinit のローカル用設定ファイル *X312bin.tgz bin ディレクトリ。実行ファイルの大部分を含みます。 *X312lib.tgz 共有・非共有ライブラリ *X312fnt1.tgz 75dpi と misc フォント X312fnt2.tgz 100dpi と Speedo フォント *X312inc.tgz X11 のインクルードファイル X312man.tgz 清書されたオンラインマニュアル X312lkit.tgz サーバリンクキット(ドライバ全て + PEX). X312util.tgz 多くのパブリックドメインのユーティリティが as is で提 供されています。 X312pex.tgz ライブラリとヘッダファイルを含む PEX 関連のファイル全 て。PEX を実行する機能を持つサーバを得るには、リンク キットが必要です。 最小構成で XFree86 をインストールするには、上記のリストで「*」印が付け られたアーカイブ、マシンに最も合ったサーバのバイナリ、(必要に応じて) "gunzip.Z" が必要です。全てのファイルは "gzip" で圧縮されていますが、 当然 "gunzip.Z" は例外で、これだけは従来通りの compress プログラムを 使って圧縮されています。 XFree86 のバイナリをインストールするには単に以下の手順にしたがってくだ さい。 1. 必要なファイルを入手します。 この手順の残りの部分は root ユーザで行わなければなりません。root ユ ーザでえ展開を行わないと、ファイルのパーミッションが正しくなりませ ん。例えば、「X」サーバは root の s-ビットが立っているので、一般ユ ーザで展開すると正しく機能しません。 2. /usr/X11R6 を設定し、パーミッションを 755 にします。 3. cd /usr/X11R6 4. アーカイブを展開します。例を以下に示します: gunzip < X312bin.tgz | tar xvpf - 5. オンラインマニュアルをインストールしていれば、オンラインマニュアル の設定に関する後述のセクションを参照してください。 6. /usr/X11R6/lib/X11/doc/INSTALL (特に XFree86 の設定と利用に関する、 セクション 2)に目を通してください。このドキュメントを読めばきっとサ ーバの起動・実行ができるはずです。サーバを起動する前には、本ドキュ メントで後述の「``XFree86 の起動の前に''」セクションを調べて、サー バを正しく動作させるために必要なシステム要件がないかどうかを確認し てください。 2. ソース配布物 SCO 向け移植は XFree86 標準の配布物の一部として入手できます。ソースの 場所についての詳しい情報については、XFree86 の README を調べてくださ い。 XFree86 3.2 においては SCO Open Server リリース 5 以降しかサポートされ ていな点に注意してください。前のバージョンの SCO UNIX で XFree86 を使 いたければ、3.1 系列を使ってください。さもないと構築に失敗するでしょ う。 ソースを調べたい人や調べる必要がある人のために ``xc/config/cf'' に 2 つのファイルが用意されました。まず ``sco.cf'' が古いオリジナルの SCO 用設定ファイルで、そして ``sco5.cf'' が現在使われている設定ファイルで す。 3. XFree86 を実行する前に SCO 付属の xterm の terminfo 記述は、R5 配布に含まれる xterm 記述と互 換ではありません。 バスマウス, キーボードマウス、PS/2 マウスを使うためには、前述のように 'mkdev mouse' を使って SCO 環境でマウスンドライバの設定を行わなければ なりません。それから、XF86Config で OsMouse オプションを指定し て、XFree86 に SCO マウスドライバを使うよう指定します。この指定を行う には、XF86Config の Pointer セクションで Protocol に "OsMouse" を設定 します。シリアルマウスに対して "OsMouse" を使うこともできます。特 に、XFree86 のマウスドライバでマウスがうまく動作しない場合にはそうする とよいでしょう。 SCO TCP/IP パッケージをインストールしていなくても、あわてないでくださ い。XFree86 は TCP/IP 無しでもうまく動作しますが、以下の作業の一部あ るいは全てを多分行わなければならないでしょう: o X サーバが ``/dev/socksys'' に関して出すエラーは気にしないでくださ い。X サーバは TCP/IP があっても無くても動作するように設定されてい ます。このエラーは TCP/IP が無いことを指摘していることと、サーバへ の接続メソッドが無効にされたことを指摘しているだけです。 o ``/dev/spx'' や接続タイプ ``sco'' を含むエラーは無視しないでくださ い。これは、ローカルマシン上で接続に使われるストリームパイプに何ら かの問題があるということです。まずはサーバに「s-ビット」が設定され ていることを確かめましょう。これは使っている X サーバに対して次のコ マンドを実行することで確かめられます: ls -al /usr/X11R6/bin/XF86_XXXXXX 出力では、文字「x」ではなく文字「s」が入っているはずです。例えば、 -rwsr-xr-x 1 root bin 1074060 Jul 24 11:54 XF86_W32 は正しいですが、 -rwxr-xr-x 1 root bin 1074060 Jul 24 11:54 XF86_W32 は誤りです。 o ``mkdev streams'' を使ってカーネルにストリームをインストールしなけ ればならないかもしれません。詳しくは SCO のマニュアルで調べてくださ い。 o /dev ディレクトリで一部のデバイスを設定する必要があるかもしれませ ん。本ドキュメントの「トラブルシューティング」セクションで、 ``/dev/spx'' と ``Xsco'' の説明をしている項目を調べてください。 o ストリームリソースの設定が低すぎるかもしれません。以下に挙げる値に ついて、ストリームのパラメータを調べるべきですが、値が高めであれば 変更する必要はありません。これらの値を調べるためには、root ユーザと してログインし、``/etc/conf/cf.d'' ディレクトリに移動 し、``./configure'' を実行してください。 configure を実行したら ``Streams Data'' を選択して、エントリを見て いきます。値を変更するのでなければ、それぞれのプロンプトで単に を押すだけです。確認する値と、その最小値を以下に挙げておき ます: NSTREAM 128 NQUEUE 512 NBLK4096 4 NBLK2048 32 NBLK1024 32 NBLK512 32 NBLK256 64 NBLK128 256 NBLK64 256 NBLK16 256 NBLK4 128 NUMSP 128 通常はこれらの値を変更する必要はないでしょう。しかし、変更をしなければ ならない場合には、configure は終了の前に変更をセーブするかどうか確認を 行い、UNIX カーネルを再構築する手順の続きを表示します。 4. コンソールの切替え XFree86 のコンソール切替えのキー操作は SCO R4 や R5 サーバのものに似て います。つまり、Ctrl-PrntScr を押すと、X サーバが動作しているコンソー ルの次のコンソールに移動します。これが最後のコンソールならば、コンソー ル 1 に移動します。Ctrl-Alt-FXX(XX はファンクションキー F1 〜 F12)を押 すと、そのファンクションキーに割り当てられた番号のコンソールに切り替わ ります。F1 は tty01 (つまりコンソール 1)に対応し、F2 は tty02 (つまり コンソール 2)に対応します。それ以降も同様です。コンソール切替えの修正 に興味があれば、 xc/programs/Xserver/hw/xfree86/common/xf86Events.c を 見てください。 5. オンラインマニュアルの設定 ツリーをコンパイルした後やバイナリ配布をインストールした後に、 /usr/X11R6/man を /etc/default/man の MANPATH に追加することで、man に XFree86 のオンラインマニュアルを認識させることができます。指定の行は 以下のようになるはずです: MANPATH=/usr/man:/usr/X11R6/man これにより、ユーザ全員が X のオンラインマニュアルを参照できるようにな ります。全員にオンラインマニュアルを見せるつもりがなければ、自分の MANPATH 環境変数を変えてもよいでしょう。 デフォルトでは、ディスク容量節約のためにオンラインマニュアルは ``compress'' を使って圧縮されています。オンラインマニュアルを圧縮した くなければ、``xf86site.def'' ファイルの CompressManPages を NO に変更 してください。バイナリ配布を利用する場合は、``uncompress'' を使ってオ ンラインマニュアルを展開してください。 6. SCO バイナリ/サーバの使用 XFree86 は SCO バイナリ(R3 以降)からの接続を受け付け、SCO R5 サーバも XFree86 バイナリからの接続を受け付けます。つまり、ODT がなければ両者を 混在させることや適合させることができます。例えば、使いたければ Motif のウィンドウマネージャ(mwm)を使うこともできます。 7. Open Server 5 における XFree86 のコンパイル GCC バージョン 2.8.0 では Open Server がサポートされています。以下の指 定を使って configure を行いましょう: ./configure i486-sco3.2v5.0 gcc を修正する必要は全くありません。Open Server 5 では全く問題なしにコ ンパイルできます。 XFree86 は自動的に SCO Open Server 5.0 を認識します。 make World を行 う際に BOOTSTRAPCFLAGS を指定する必要はありません。make World の最初の 方で BOOTSTRAPCFLAGS に関するウォーニングメッセージが出ますが、無視し て構いません。 1. ``site.def/xf86site.def'' をうまく調整します。 gcc が使えるならば使いましょう。XFree は DevSys の cc でもコンパイ ルできるはずですが、GCC の最適化の方が優れていますし、動作が保証さ れています。 2. SCO Open Server には Visual TCL が付属していますが、これは古い (互 換性も無い)バージョンの TCL です。XF86Setup を使うなら、自前で Tcl と Tk をコンパイルする必要があるでしょう。どちらも SCO Open Server 5 をちゃんとサポートしています。Tcl 7.6 と Tk 4.2 は ftp://ftp.smli.com/pub/tcl から入手することができます。 3. 動的ローディングのサポートを無効にしたいことがあるかもしれません。 一部のユーザから、動的ローディングに関する問題が報告されていま す。XIE は PEX5 が動作しないことは確実です。試してみたければ、これ を有効にしてください。この結果が成功でも失敗でも筆者に報告してくだ さい。 4. 古いバージョンの SCO でやっていたのと同じように HasSVR3mmapDrv を有 効にしては いけません。 Open Server 5 は mmap() を完全にサポートし ており、これがフレームバッファに直接アクセスするために使われます。 5. COFF バイナリをもう使わないことが分かっており、ディスク容量も少ない 場合には、ForceNormalLib に NO を設定してください。これを行う と、ELF 版のライブラリしか構築されません。 ``sco5.cf'' ではデフォル トでこれに YES を設定しているので、``xf86site.def'' で明示的に NO を指定しなければなりません。ディスク節約のため、全てのバイナリが ELF モードでコンパイルされます。 8. 関連文書 以下のファイル中に SCO のユーザや開発者用の関連記述がいくらかありま す。 README XFree86 標準の README (/usr/X11R6/lib/X11/doc) README.SVR3 この README の大部分は Interactive Unix に基づくものですが、本質 的な部分ではまだ関連があります。 VGA/設定ドキュメント全て /usr/X11R6/lib/X11/doc/VideoModes.doc および 特定のビデオカード 向けの README。 9. 既知の問題 o サーバを実行した後に、シェルへの入力の文字がおかしくなることがあり ます。これは未処理のスキャンコードのためであり、心配する必要はあり ません。この問題は将来のリリースで修正されるでしょう。 o /usr/X11R6/bin にある全てのアプリケーションをデバッグしたわけではあ りません。 10. トラブルシューティング 問題: サーバが起動しません。エラーメッセージが全く出力されない ので、どんな問題が起こっているのかが分かりません。 原因: サーバが起動しない原因はいくらでも考えられます。ですか ら、まずはサーバが言おうとしていることをはっきりさせま しょう。これを行うには、サーバのエラー出力をファイルに保 存しなければなりません。この出力には、サーバの起動時にサ ーバが検出したことや行ったことのログが含まれています。こ の出力を得るには、次のようにして X を起動します: startx 2> /tmp/errs これで、サーバの出力が "/tmp/errs" に保存されます。この出 力を見て考えられる問題を調べ、該当する問題について本ド キュメント中の記述を調べてください。 問題: サーバが起動しましたが、画面が真っ暗で何も表示されませ ん。マシンがハングしたようなのですが。 原因: これも多くの原因が考えられます。最もありそうな原因 は、XF86Config に誤りがあることです。X サーバがまだ動作し ていれば、Ctrl-Alt-BackSpace を入力してサーバを殺してくだ さい。これで画面が元に戻らなければ、何も見ずにシステムを 操作しなければならないかもしれません。シェルのプロンプト の状態にある別のログインを常に用意しておき、画面に何も表 示されなくても、その画面に切替えてコマンドを実行できるよ うにしておきましょう。そして、以下の操作を試してくださ い。普通は列挙した順番で行ってください: o ``X'' を起動したログインからログアウトし、それからコン ソールを変更します。これにより、SCO の画面切替えコード がカードを初期化しようとします。 o ``vidi v80x25'' を実行します。このコマンドも、カードを 表示可能モードに設定しようとします。 o ``shutdown'' コマンドでマシンを正常にシャットダウン し、再挑戦します。 最初に XFree86 を実行しようとするときは、必ず簡単な設 定を使いましょう。つまり、まず 640x480 を動作させ、そ れから解像度を高くするのです。先に示した方法で常にサー バの出力を拾いましょう。ビデオカードに対して有効なク ロック値を一度見つけたら、この値を XF86Config に直接書 き込んでください。これにより、普通はクロック周波数をい くつか検出する XFree86 の起動時において、モニタにかか る負担をいくらか取り除くことができるでしょう。 ``X'' の画面を表示させるのはひどく時間がかかる作業になるかも しれません。腰を据えて、このドキュメントを理解できるま で何度も読みましょう。きっと動かすことができるはずで す。 問題: Fatal server error: xf86MapVidMem:No class map defined for (XXXXX,XXXXX) 原因: 1. システムの /etc/conf/pack.d/cn/class.h が正しくあり ません。これはこのファイルを編集し、文字列 "SVGA" を探すことにより確認することができます。この文字列 が無ければ、OS 付属の "Extended Utilities" ディス ケットからこのファイルを再インストールしなければな りません。これができない場合には、配布物から "dmmap" をインストールするとサーバを正しく動作させ ることができるかもしれません。 問題: xf86install が動作しません。 原因: SCO で XFree86 サーバを使うときは、xf86install を実行して はいけません。これは Interactive Unix (ISC) のインストー ルにつかうものです。 問題: サーバは起動しますが、画面の配置が正しくなかったり、画面 が揺れてまともに見ることができなかったりします。 原因: 一番ありそうなのは、XF86Config の設定が誤っていることで す。 README.Config, VideoModes.doc ファイルを調べてくださ い(バイナリ配布では /usr/X11R6/lib/X11/doc にあります)。 これらのファイルでは、ビデオモードの修正方法が説明されて います。 問題: 1. 起動できる xterm の数が制限されてしまいます。 2. xterm は動作しませんが、xclock 等の他のプログラムは動きます。 原因: システムの疑似 tty デバイスが存在しないか、数が足りないの でしょう。 "mkdev ptty" を実行して、ptty の数を増やしてく ださい。 問題: xterm 内で curses/termcap のアプリケーションを実行する と、特にスクロールしたときに画面が乱れます。 原因: 1. XFree86 のオリジナルのバージョン 1.3 の配布を実行しています。 最新のバージョン(3.2 以降)に更新してください。 2. ウィンドウをリサイズしたのに、アプリケーションを使う前に "eval `resize`" を実行していません。SCO オペレーティングシス テムは xterm の動的なリサイズを完全にサポートしていないので、 curses/termcap アプリケーションを正しく動作させるためには、 xterm をリサイズした後に、このコマンドを実行しなければなりま せん。 問題: 1. X を起動させると、Cannot access a needed shared library" とい うエラーを吐いて死んでしまいます。 2. X のアプリケーションを起動すると、上記のエラーを吐いて死んで しまいます。 原因: 1. バイナリが正しいディレクトリにインストールされていません。バ イナリが /usr/X11R6 にあることを確かめてください。 2. 新しい共有ライブラリを含む新しいバイナリ配布に更新したけれ ど、ライブラリが古いバイナリと互換ではありませんでした。この 問題を解決するには、古い共有ライブラリを再インストールする か、アプリケーションを新しいライブラリで再コンパイルしてくだ さい。 問題: gcc を使って SCO の Motif ライブラリとリンクすると、 "XtDisplayStringConversionWarning" について外部関数が未解 決になってしまいます。 原因: SCO のライブラリは、識別子の長さが制限されるようにコンパ イルされています。この問題を回避するためには、XFree86 と gcc と SCO の Motif でコンパイルを行う時に以下のようなコ ードをアプリケーションに追加してください。 #ifdef SCO void XtDisplayStringConversionWarnin(dpy, from, toType) Display* dpy; String from; String toType; { XtDisplayStringConversionWarning(dpy, from, toType); } #endif 問題: サーバが起動に失敗し、次のような行を出力します: XFree86: Cannot open /dev/spx for ???? listener: No such file or directory 原因: SCO UNIX をインストールすると必ず、Streams 仮想 tty ドラ イバがインストールされるようですが、必ずしも全てのデバイ スが存在するわけではありません。 1. /etc/conf/pack.d/sp ディレクトリが存在しなければな らず、 2. /etc/conf/sdevice.d/sp の内容は 'Y' でなければなり ません。 3. /etc/conf/node.d には以下のような内容のファイルが必 要です: clone spx c sp sp X0S c 127 sp X0R c 126 sp X1S c 125 sp X1R c 124 sp X2S c 123 sp X2R c 122 sp X3S c 121 sp X3R c 120 sp X4S c 119 sp X4R c 118 sp X5S c 117 sp X5R c 116 sp X6S c 115 sp X6R c 114 sp X7S c 113 sp X7R c 112 このようなファイル(たぶん "Xsco" という名前です)が無けれ ば作成してください。そうすれば問題が解決するはずです。筆 者が言える限りでは、Streams 仮想 tty ドライバはそこにある はずです。 このファイルを作成しなければならない場合にデバイスを得る ための最も簡単な方法は、カーネルと環境を再構築することで す。それをしたくなければ、 touch /etc/.new_unix cd /etc/conf/bin ./idmkenv を行ってから、それを試してください。 11. 謝辞 コアチームには、今までと現在進行中の SCO 対応の作業を助けていただきま したことに感謝します。SCO の Stacey Campbell さんには、助言や識見を与 えていただきましたことに深く感謝します。SCO には一般に、XFree86 の開発 に利用可能な情報を作っていただいたことに感謝します。 また、Peter Eubert さん(peter.eubert@iwb.mw.tu-muenchen.dbp.de) と Kent Hamilton さん(kenth@stl.scscom.COM) には、 3.2.4 システムでのコン パイルについて御教示いただいたことに感謝します。 Larry Plona さ ん(faxi@world.std.com) と Didier Poirot (dp@chorus.fr) には、3.1 シス テムでの 3.2.4 のコンパイルと xdm について御教示いただいたことに感謝し ます。また、当然ながら、ベータテスト用メーリングリストの皆さんには色々 教えていただいたことに感謝します。 バイナリ配布用の ftp サイトを提供してくださった Jerry Whelan さ ん(guru@stasi.bradley.edu)には特に感謝します。 $XFree86: xc/programs/Xserver/hw/xfree86/doc/Japanese/README.SCO,v 1.1.2.2 1999/11/26 15:23:12 hohndel Exp $ $XConsortium: SCO.sgml /main/11 1996/10/23 11:45:55 kaleb $