XSERVER(1) — NEWS-OS Programmer’s Manual
名称
Xserver − X ウィンドウシステムサーバ
形式
X [:displaynumber] [−option ...] [ttyname]
解説
X は、 X ウィンドウシステムサーバの一般名称です。 これは、大抵そのマシン上で最も頻繁に使用されるサーバのバイナリに対する リンクまたはそのコピーです。
サーバの起動
サーバは、通常 X ディスプレイマネージャ xdm によって起動されます。 このユーティリティは、システムブートファイルから実行され、 サーバを起動し、ユーザ名とパスワードの入力を促して、 ユーザセッションを開始できるように処理します。 新規ユーザに対して良好な矛盾のないインターフェース を提供したいと考えている現場などが これらの構成を変更することは、容易にできます。
複数の種類のウィンドウシステムを動かす場合は、 依然として xinit ユーティリティを使用する必要があります。 ただし、xinit は起動スクリプトを作成するためのツールと考えるべきで、 エンドユーザが使用するためのものではありません。 現場のシステム管理者は、 新規ユーザのために xdm の使用、および より優れたインターフェースを構築することを求められています。
X サーバは起動されるとディスプレイを占有します。 コンソールがディスプレイとなっているワークステーション上では、 サーバが動作している間コンソールにログインすることはできません。
ネットワークコネクション
X のサーバは、下記のリライアブルバイトストリームによる 接続をサポートします。
TCP/IP
サーバはポート 6000+n 上で接続待ち (listen) します。 ここで、 n はディスプレイ番号です。
Unix Domain
X サーバはソケットのファイル名として /tmp/.X11−unix/Xn を使用します。 ここで、n はディスプレイ番号です。
DECnet
サーバは、オブジェクト X$Xn への接続に応答します。 ここで、 n はディスプレイ番号です。 これは全ての環境でサポートされているわけではありません。
オプション
X サーバは下記のコマンド行オプションを受け付けます。
−a number
ポインタの加速率を設定します (これは、実際にユーザが動かした量のうちどれだけをイベントとして 報告するかを比で表したものです) 。
−auth authorization-file
オーソリゼーションレコードを保持しているファイルを指定します。 認証をともなうアクセスで使用されます。 xdm および Xsecurity オンラインマニュアルも 合わせて参照してください。
bc 前のリリースのバグと動作を一致させるため、ある種のエラーチェックを抑制します (たとえば 、バグのある R2 や R3 の xterm や ツールキットが使えるように) 。
−bs すべてのスクリーン上でバッキングストアのサポートを抑制します。
−c キークリックをオフにします。
c volume キークリックの音量を設定します (範囲 : 0 〜 100)。
−cc class
カラースクリーンにおけるルートウィンドウのビジュアルクラスを設定します。 クラス番号は X プロトコルで指定されているものです。 全てのサーバがこれに従うわけではありません。
−co filename
RGB カラーデータベース名を設定します。
-dpi resolution
スクリーンの解像度を 1 インチ当たりのドット数で指定します。 サーバがハードウェアから解像度を決定できないときにだけ使うべきです。
−f volume
beep ( ベル ) 音量を設定します (範囲 : 0 〜 100) 。
−fc cursorFont
カーソルフォントのデフォルトを設定します。
−fn font
フォントのデフォルトを設定します。
−fp fontPath
フォント探索パスを設定します。 このパスは X サーバがフォントデータベースを探すディレクトリを コンマで区切って並べたものです。
−help オプションの簡単な説明を表示します。
−I 以後のコマンド行引数を無視します。
−ld kilobytes
サーバのデータ領域の限界をキロバイト単位で設定します。 値がゼロの場合は、データサイズを可能なかぎり大きくとります。 デフォルト値は −1 であり、 データ領域の限界を変更しません。 このオプションはすべてのオペレーティングシステムで使用できるとは限りません。
−lf files サーバのオープンファイルのファイル数の限界を設定します。 値がゼロの場合は、データサイズを可能なかぎり大きくとります。 デフォルト値は −1 であり、 ファイル数の限界を変更しません。 このオプションはすべてのオペレーティングシステムで使用できるとは限りません。
−ls kilobytes
サーバのスタック領域の限界をキロバイト単位で設定します。 値がゼロの場合は、スタックサイズを可能なかぎり大きくとります。 デフォルト値は −1 であり、 スタック領域の限界を変更しません。 このオプションはすべてのオペレーティンクシステムで使用できるとは限りません。
−logo スクリーンセーバが X ウィンドウシステムのロゴを表示するようにします。 今のところこれをクライアントから変更する手段はありません。
nologo スクリーンセーバが X ウィンドウシステムのロゴを表示しないようにします。 今のところこれをクライアントから変更する手段はありません。
−p minutes
スクリーンセーバのパターンの繰り返し周期を分単位で指定します。
−r オートリピートをオフにします。
r オートリピートをオンにします。
−s minutes
スクリーンセーバのタイムアウト時間を分単位で指定します。
−su すべてのスクリーン上でセーブアンダーを抑制します。
−t number
ポインタ加速のしきい値をピクセル単位で指定します (一度に何ピクセル以上動かした時にポインタ加速が行われるか) 。
−to seconds
接続のタイムアウトのデフォルトを秒単位で設定します。
v ビデオオフのスクリーンセーバを用いるようにします。
−v ビデオオンのスクリーンセーバを用いるようにします。
−wm バッキングストアのデフォルトをすべてのウィンドウに対して WhenMapped にします。 これはすべてのウィンドウでバッキングストアを有効にする簡単な方法です。
−x extension
初期化時に指定されたエクステンションをロードします。 ほとんどの実装ではサポートされていません。
XDMCP を利用して xdm に接続する X サーバもあります。 これは xdm にサーバプロセスを扱うことを許していないことから、 一般的には有用ではありませんが、 XDMCP の実装のデバッグに使えるうえ、 XDMCP のサーバ側の実装例として役に立ちます。 このプロトコルの詳細な情報については、 X Display Manager Control Protocol 指定をご覧ください。 以下のオプションは XDMCP の動作を制御します。
−query host-name
XDMCP を有効にし、指定されたホストへ Query パケットを送出するようにします。
−broadcast
XDMCP を有効にし、 ネットワーク上に BroadcastQuery パケットをブロードキャストするようにします。 最初に応答したディスプレイマネージャが選択されます。
−indirect host-name
XDMCP を有効にし、 指定されたホストへ IndirectQuery パケットを送出するようにします。
−port port-num
XDMCP パケット用のポート番号を変更します。 指定は、オプション −query、−broadcast、−indirect のいずれよりも 前になければなりません。
−once 通常、サーバはセッションの終了後セッションの開始状態を維持しますが、 このオプションは最初のセッションの完了でサーバを終了するようにします。
−class display-class
XDMCP にはディスプレイ依存のオプション用に、 リソース検索で用いられる付加的なディスプレイ修飾子があります。 このオプションはこの修飾子の値を設定します。 デフォルトの値は "MIT-Unspecified" です。 (非常に便利な値というわけではない)
−cookie xdm-auth-bits
XDM-AUTHENTICATION-1 の検査が行われる間、 サーバとマネージャの間でプライベートキーが共有されますが、 このオプションはプライベートデータの値を設定します。
−displayID display-id
もう一つの XDMCP 特有の値で、 共有キーのある場所を見つけるために、 ディスプレイマネージャによる個々のディスプレイの識別を可能にします。
ほとんどのサーバはまた、装置固有のコマンド行オプションをもっています。 詳細については、個々のサーバに対するマニュアルを参照してください。
セキュリティ
X サーバは MIT-MAGIC-COOKIE-1 という 極めて単純な認証プロトコルを実装しています。 これは、サーバとオーソライズされたクライアントとのあいだで 公開されないデータを用いるもので、 サーバの持っているオーソリゼーションデータと同じものを送ってきた クライアントにアクセスを許可するという、ごく単純なものです。 この機構は、 どんなホストでも接続できるような保護されないネットワーク環境では、 プライベートなキーを発見されてしまったような場合、 ホストベースのアクセス制御より良いものではありません。 しかしながら多くの環境では、 ホスト単位でなくユーザ単位のアクセス制御ができるという点で、 ホストベースの機構よりも好ましいものです。
加えて、サーバは DES に基づいた オーソリゼーション機構 (XDM-AUTHORIZATION-1) のサポートを提供します。 これはより安全(安全なキー配布機構をもっている)です。 このオーソリゼーション機構は、 XDMCP のオーソリゼーション機構 (XDM-AUTHENTICATION-1) と組み合わせて、 あるいは別々で用いることが可能です。
オーソリゼーションデータは、 コマンド行オプション −auth によって指定される プライベートなファイルを通じてサーバに渡されます。 サーバリセット(あるいはサーバ起動時)後の 最初のコネクションの受付けを行うときに、毎回このファイルが読込まれます。 もしこのファイルに何らかのオーソリゼーションレコードが含まれていると、 そのローカルホストからのサーバに対するアクセスが、 自動的に許可されることはありません。 コネクションセットアップ情報で指定されたファイルに含まれる オーソリゼーションレコードのうちのひとつを送ってきたクライアントのみが アクセスを許されます。 このファイルのバイナリフォーマットに関する記述は Xau の マニュアルページを参照して下さい。 このファイルの維持と、その内容のリモートサイトへの配布については ここでは触れません。
サーバはまた、Sun の Secure RPC を使用して、 SUN-DES-1 をサポートしています。 これには、X サーバのパブリックキーを用いての データの暗号化も入ります。 詳細については、XSecurity オンラインマニュアルを参照してください。
X サーバは、特定のマシン上のクライアントからの接続を受け付ける か否かを決定するためのホストベースのアクセス制御リストも使用します。 他のオーソライゼーション機構が使用されていない場合は、 このリストは、はじめサーバが動作しているホストならびにファイル /etc/Xn.hosts 内にリストされているホストで構成されます (ここで、n はサーバのディスプレイ番号です)。 ファイルの各行には、Internet のホスト名 (例 : expo.lcs.mit.edu) または 2 重コロンフォーマットの DECnet ホスト名 (例 : hydra::) の どちらかが含まれていなければなりません。 どの行にも、行頭または行末に余分な空白文字があってはなりません。 以下に例を示します。
joesworkstation
corporate.company.com
star::
bigcpu::
ユーザはこのリストに対しホストを追加したり削除したりできます。 また、サーバと同じマシンから xhost コマンドを使用して アクセスを可能にしたり不可能にしたりすることができます。
X プロトコルはウィンドウオペレーションの許可という考えはなく、 また、クライアントが行えることに対する制限も設けていません。 プログラムはディスプレイに接続できさえすれば、 スクリーンに対して全てのことが実行できます。 より優れたオーセンティケーション ( 認証 ) およびオーソリゼーション システム ( Kerberos のような ) をもっている現場では、 ライブラリ内のフックを使用し、 サーバが付加的な保護モデルを備えるようにすることもできるでしょう。
シグナル
X サーバは、下記のシグナルに対して特別な意味を付加します。
SIGHUP このシグナルで、サーバはあらゆる既存の接続をクローズし、すべてのリソースを 解放し、デフォルトを復元します。 これは、メインユーザのメインアプリケーション ( 通常は xterm またはウィンドウマネージャ ) が終了した時、 次のユーザに対する準備を行うために ディスプレイマネージャによって送信されます。
SIGTERM
このシグナルは、サーバを問題なく終了させます。
SIGUSR1
このシグナルは前述のものと全く異なるかたちで使用されます。 サーバは実行開始時に、SIGUSR1 が 通常の SIG_DFL でなく SIG_IGN を 引き継いでいるかどうかチェックします。 そのようになっているときには、 サーバは種々のコネクション機構を設定したあと、 その親プロセスに対してシグナル SIGUSR1 を送ります。 xdm はこの機構を利用して、 サーバへの接続が可能かどうかを認識します。
フォント
フォントは通常ディレクトリ内に個々のファイルとして保持されます。 X サーバは、ディレクトリおよびフォントサーバから フォントを得ることができます。 フォントをオープンするときに X サーバが使用する ディレクトリおよびフォントサーバのリストは、 フォントパスによって制御されます。 ほとんどの場合は、適切なフォントパスを使用して X サーバを起動させる ( 上述の −fp オプションを使用して) ことを選択するでしょうが、 xset プログラムを使用してそれをオーバライドすることができます。
X サーバのデフォルトのフォントパスには、次の 4 つの ディレクトリが含まれます。
/usr/lib/X11/fonts/misc
このディレクトリには、 あらゆるシステムで利用できる様々なビットマップフォントが 含まれます。 これには、 固定幅のフォントファミリー、 Dale Schumacher の固定幅のフォントファミリー、 Sony の仮名フォント、 2 種類の JIS 漢字フォント、 2 種類の Daewoo Electronics 社のハングルフォント、 2 種類の Joseph Friedman のヘブライフォント、 標準カーソルフォント、 2 種類 のDEC (Digital Equipment Corporation) 社のカーソルフォント、 SUN Microsystems 社のカーソルおよびグリフフォント が含まれます。 これにはまた、 fixed と variable を含め、 これらのフォントに対する様々な別名も含まれています。
/usr/lib/X11/fonts/Speedo
このディレクトリには、 Bitstream’s Speedo ラスタライザー用の アウトラインフォントが含まれます。 Bitstream 社が開発した normal、 bold、italic および bold italic のフォントが 提供されています。
/usr/lib/X11/fonts/75dpi
このディレクトリには、Adobe Systems 社、Digital Equipment 社、 Bitstream 社、Bigelow and Holmes 社、 および SUN Microsystems 社が開発した、 インチあたり 75 ドットのディスプレイ用の ビットマップフォントが含まれます。 各ファミリー別に、 選りすぐられたサイズ、スタイル、太さのフォントが提供されています。
/usr/lib/X11/fonts/100dpi
このディレクトリは、75dpi デイレクトリ内のフォントの、 インチあたり 100 ドットのディスプレイ用バージョンがいくつか 含まれています。
フォントデータベースは、コンパイルされたフォント(.pcf ファイル)を 含むディレクトリで mkfontdir プログラムを実行することによって作成 されます。 フォントがディレクトリに追加されたときは、必ず mkfontdir を 再実行してサーバが新しいフォントを見つけることができるようにしなければ なりません。 mkfontdir が実行されないと、 サーバはディレクトリ内のどのフォントも見つけることができません。
診断
数が多過ぎるので、ここではすべては記載できません。 init(8) から起動された場合は、 エラーは通常、ファイル /usr/adm/X∗msgs 内に 記録されます。
関連ファイル
/etc/X∗.hosts 初期アクセス制御リスト
/usr/lib/X11/fonts/{misc,75dpi,100dpi}
ビットマップフォントディレクトリ
/usr/lib/X11/fonts/Speedo アウトラインフォントディレクトリ
/usr/lib/X11/fonts/PEX PEX フォントディレクトリ
/usr/lib/X11/rgb.txt カラーデータベース
/tmp/.X11-unix/X∗ Unix ドメインソケット
/usr/adm/X∗msgs エラーログファイル
関連事項
X(7), bdftopcf(1), mkfontdir(1), fs(1), xauth(1), xdm(1), xhost(1), xinit(1), xset(1), xsetroot(1), xterm(1), Xnews(1) X Window System Protocol, Definition of the Porting Layer for the X v11 Sample Server, Strategies for Porting the X v11 Sample Server, Godzilla’s Guide to Porting the X V11 Sample Server
バグ
オプションのシンタックスは、xset(1) と一致していません。
加速オプションは、プロトコルのように分子と分母をとるべきです。
X がそのクライアントより前に終了した場合は、既存の接続のすべてが そのの TCP TIME_WAIT タイマーを終了しない限り新しいクライアントは 接続を行うことができません。
カラーデータベースは、大多数の色を欠きます。
著作権
Copyright 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991 Massachusetts Institute of Technology
権利と許可の声明文に関しては、X(7) を参照のこと。
著者
サンプルのサーバは、多くの人の援助を受けて DEC の Susan Angebranndt, Raymond Drewry, Philip Karlton, および Todd Newman によって書かれました。 さらに MIT の Keith Packard と Bob Scheifler によって 広範にわたって書き換えられました。
NEWS-OSRelease 4.2.1R