X(1) — UNIX Programmer’s Manual
名称
X − ポータブルなネットワークトランスペアレントウィンドウシステム
形式
X は、様々な計算用および図形用のマシンで動作する MIT で開発された、 ネットワークトランスペアレントなウィンドウシステムです。 MIT からの中心的配給物には、下記のオペレーティングシステム用の クライアントとサーバのサポートの両方があります。
4.3+tahoe
Ultrix 3.0 FT2 (Ultrix 2.0 の下でもコンパイルを行う)
SunOS 3.4
HP-UX 6.01
Apollo Domain/IX 9.7 (および開発者により 9.6)
IBM AOS 4.3 (開発者による)
A/UX 1.0
商業上のインプリメンテーションも各種様々なプラットフォームで可能です。 ソニーは、NEWS ワークステーション上の NEWS-OS Releae 3.3 オペレーティング システムをサポートします。
X コンソシアムは、本ソフトウェアについて述べる場合は、下記の名称を 使用することを要請します。
X
X Window System
X Version 11
X Window System, Version 11
X11
X Window System は、マサチューセッツ工科大学 (MIT) の商標です。
解説
X ウィンドウシステムのサーバは、ビットマップディスプレイを備えた コンピュータ上で動きます。 サーバは、様々な異なったプロセス間通信チャネルを介して様々な クライアントプログラムに対してユーザ入力を配布し、出力リクエストを 受け付けます。 最も一般的な例は、サーバと同じマシン上で動作するクライアント プログラムですが、クライアントを別のマシン(異なったアーキテクチャと オペレーティングシステムを備えたマシンも含む)から透過的に動かすことも できます。
X は、白黒およびカラーディスプレイの両方の上でオーバーラッピング (重複)階層サブウィンドウおよびテキストとグラフィックスオペレーション をサポートします。 利用できる機能についての完全な 説明に関しては、Xlib − C 言語 X インタフェース マニュアル、 X Window System Protocol 仕様書、および様々なツールキット 文書を参照してください。
X を使用するプログラム数は、急速に増えつつあります。 その中でも次のものが特に興味をひきます。 端末エミュレータ (xterm)、 ウィンドウマネージャ (uwm)、 ディスプレイマネージャ (xdm)、 メイル管理ユーティリティ (xmh および xbiff)、 マニュアルページブラウザ (xman)、 ビットマップエディタ (bitmap)、 アクセス制御プログラム (xauth および xhost)、 ユーザ選択の設定プログラム (xrdb、 xset、 xsetroot および xmodmap)、 ロードモニタ (xload)、 クロック (xclock)、 フォントディスプレーヤ (xfd)、 フォント、ウィンドウ、およびディスプレイに関する情報をリストするための ユーティリティ (xlsfonts、 xlswins、 xwininfo、 xdpyinfo、および xprop)、 X10 プログラムを実行するためのプログラムトランスレータ (x10tox11)、 どのようなイベントがいつ発生したかを知るための診断 (xev)、 スクリーンイメージ操作ユーティリティ (xwd、 xwud、 xpr、および xmag)、 および様々なデモ (xeyes、 ico、 muncher、 puzzle 等)。
他の多くのユーティリティ、ウィンドウマネージャ、ゲーム、ツールキット などは、ユーザ貢献の配給物で利用することができます。 詳細については、最寄りの現場のシステム管理者にお問い合わせください。
起動
X サーバとクライアントアプリケーションの初期セットを起動するには、現在 3 つの方法があります。 どの方法を使用するか、どのようなオペレーティングシステムで実行するのか、 および X 以外の他のウィンドウシステムを使用するか否かによります。
xdm (X ディスプレイマネージャ)
常に自分のディスプレイ上で X を動作させたい場合は、X ディスプレイ マネージャ xdm を使用できるよう、現場のシステム管理者にマシンを セットしてもらうことができます。 このプログラムは通常、ブート時にシステムによって起動され、サーバを 動作させ続け、ユーザがログインできるようにします。 xdm を実行するとスクリーン上にウィンドウが現れ、あなたを システムへ迎え入れ、ユーザ名とパスワードを尋ねてきます。 通常端末におけるのと同様に、それらを単に入力し、入力ごとにリターンキー を押します。 誤った入力を行うと、xdm はエラーメッセージを表示して、もう一度 入力を行うよう要求してきます。 ログインに成功すると、xdm は X 環境を起動します。 ホームディレクトリ内に .xsession と命名された実行可能なファイルを もっている場合は、デフォルトによって、xdm はそれを実行する プログラム(あるいはシェルスクリプト)として扱い、最初のクライアント (端末エミュレータ、クロック、ウィンドウマネージャ、バック グラウンド、ポインタの速度のような事項に対するユーザ設定等)を 起動します。 詳細は現場のシステム管理者にお問い合わせください。
xterm −L (/etc/init から起動)
4.3bsd から派生した UNIX のバージョンの中には、システム端末ライン構成 ファイル /etc/ttys からウィンドウシステムと最初の xterm ウィンドウを起動するのをサポートするものもあります。 xdm と同様に、ユーザ名とパスワードを尋ねてくるウィンドウもあります。 ただしこのウィンドウはメインウィンドウとなり、個々のユーザ別に構成 することはできません。 この方式を使用している現場では、将来のリリースにおいては おそらく xterm −L はサポートされないため、xdm に切り替え なければなりません。
xinit (シェルから手動で起動される)
複数のウィンドウシステムをサポートしている現場では、X を手動で 起動するのに xinit プログラムの使用を選択することもあります。 あなたのマシンでそれを行う場合は、現場のシステム管理者は、現場固有の 初期設定(便利なデフォルトリソースのロード、ウィンドウマネージャの実行、 クロックの表示、およびいくつかの端末エミュレータの起動等)を優れた 方法で行う "x11"、 "startx" または "xstart" と命名されたプログラムを おそらく提供してくれるでしょう。 提供されない場合は、xinit プログラムを使用してそのような スクリプトを構築することができます。 このユーティリティは、単に 1 つのユーザ指定のプログラムを実行して、 サーバを起動し、別のプログラムを実行して希望するクライアントを起動し、 そして次にどちらかが終了するまで待機します。 ユーザ指定のプログラムのいずれかまたは両方ともがシェルスクリプトで あるため、このことによって、優れたインタフェースには欠けることに なりますが、かなり柔軟性がもたらされます。 このため、xinit はエンドユーザ向けではありません。
ディスプレイ名
ユーザのために、あらゆる X サーバは以下の形式のディスプレイ名を もっています。
hostname:displaynumber.screennumber
この情報は、アプリケーションによって、どのようにサーバに接続を行い、 どのスクリーンをデフォルトで使用すべき(複数のモニターを備えた ディスプレイ上で)かを決定するのに使用されます。
hostname
hostname は、ディスプレイが物理的に接続されるマシン名を指定します。 hostname が指定されなかった場合は、同一のマシン上のサーバと通信を 行うのに最も効率的な方法が使用されます。
displaynumber
用語 "ディスプレイ" は通常、共通キーボードとポインタ(マウス、 タブレット等)を共有するモニターの集合体を指すのに使用されます。 ほとんどのワークステーションは、キーボード1つしかもたず、したがって ディスプレイ 1 つしかもたない場合が多いです。 ただし、より大規模なマルチユーザシステムでは、複数の人間が グラフィックス作業を同時に行えるよう、いくつかのディスプレイを もつことがよくあります。 混乱を避けるため、1 つのマシン上の各ディスプレイには、そのディスプレイ に対する X サーバが起動される際に ディスプレイ番号 (0 から始まる) が割り当てられます。
screennumber
ディスプレイの中には、2 つ以上のモニター間でキーボード 1 つとポインタ 1つを共有するものもあります。 各モニターは、独自の一連のウィンドウをもっているため、各スクリーンには そのディスプレイに対する X サーバが起動される際に、スクリーン番号 (0 から始まる) が割り当てられます。 スクリーン番号が指定されない場合は、スクリーン 0 が使用されます。
UNIX システムで、デフォルトのディスプレイ名は、DISPLAY 環境変数内に ストアされます。 この変数は、xterm 端末エミュレータによって自動的に設定されます。 ただし、ネットワーク上の別のマシンにログインする場合は、自分の ディスプレイを指すように手動で DISPLAY を設定しなければなりません。 以下に例を示します。
% setenv DISPLAY myws:0
$ DISPLAY=myws:0; export DISPLAY
最後に、ほとんどの X プログラムは、DISPLAY の内容を一時的にオーバライド するのに、−display displayname のコマンド行オプションを 受け付けます。 これは通常、ウィンドウを別の人のスクリーン上にポップするのに使用した り、xterm が自分のディスプレイをもう一度指すように"リモートシェル"コ マンドの 1部として使用されます。 以下に例を示します。
% xeyes −display joesws:0 −geometry 1000x1000+0+0
% rsh big xterm −display myws:0 −ls < /dev/null &
X サーバは、様々な異なった通信チャネル(ネットワークバイトストリーム、 共有メモリ等)上の接続に注意を払います。 なぜならば、特定のサーバと交信を行うにはいくつかの方法があるからです。 ディスプレイ名の hostname 部分は、使用すべきチャネルのタイプ (トランスポート層とも呼ばれる)を決定するのに使用されます。 MIT によるサンプルサーバは、下記のタイプの接続をサポートします。
TCP/IP
ディスプレイ名の hostname 部分は、サーバマシンの IP アドレス名で なければなりません。 Internet のフルネーム、省略名、および IP アドレスはすべて許されます。 たとえば、expo.lcs.mit.edu:0、 expo:0、 18.30.0.212:0、 bigmachine:1、および hydra:0.1。
UNIX domain sockets
ディスプレイ名の hostname 部分は、文字列 "unix" (小文字)でなければ なりません。 たとえば、 unix:0、 unix:1、および unix:0.1。
DECnet
ディスプレイ名 hostname 部分は、サーバマシンのノード名とその後に 1 つ ではなく 2 つのコロンが付いたものでなければなりません。 たとえば、myws::0、 big::1、および hydra::0.1。
アクセス制御
サンプルサーバは、次の 2 つのタイプのアクセス制御を提供します。 クライアントがアクセスを要求するのに送信できる。 "魔法のクッキー" のリストを提供するオーソリゼーションプロトコル、および 接続が常に受け付けられるホストのリスト。 xdm はサーバの魔法のクッキーリストを初期化し、それらをユーザに アクセスすることのできるファイル内に入れます。 通常は、接続が常に受け付けられるホストのリストは空です。 このリストにエントリを追加する場合 (xhost で)は、サーバは それ以上それらのマシンからの接続に関する認証を行いません。 このことに注意してください。
xdm と Xlib の両方が使用するオーソリゼーション用ファイル は、環境変数 XAUTHORITY で指定されるか、.Xauthority の 名前をもったホームディレクトリ内で指定されるかのどちらかです。 xdm は、$HOME/.Xauthority の方を好み、それを作成するか、 あるいはオーソリゼーションレコードがすでに存在する場合は、それにマージ します。
オーソリゼーションレコードのコレクションを含んだオーソリゼーション ファイルのコレクションをマネージするには、xauth を使用します。 このプログラムで、レコードを抽出して、それらをファイルに挿入 することができます。 これを使用することにより、ログインを行うときに、オーソリゼーションを リモートマシンに送ることができます。 ファイルはマシンに依存しないため、単にファイルをコピーしたり NFS を 使用してファイルを共有することもできます。
ジオメトリ指定
ハードワイヤ端末ではなくウィンドウシステムを使用することの利点の 1 つは、 アプリケーションが特定のサイズやスクリーンの位置について 制限されないことです。 ディスプレイ上のウィンドウのレイアウトは、ユーザが動かしている ウィンドウマネージャによって制御されます(下記参照)が、 ほとんどの X プログラムは、このアプリケーションのメインウィンドウに 対する適切なサイズと位置を指定するための形式 −geometry WIDTHxHEIGHT+XOFF+YOFF (ここで WIDTH、 HEIGHT、 XOFF および YOFF は数字である) のコマンド行引数を 受け付けます。
ジオメトリ指定の WIDTH と HEIGHT 部分は通常、アプリ ケーションに応じてピクセルもしくは文字のどちらかで測定されます。 XOFF と YOFF 部分は、ピクセル単位で測定され、スクリーンの 左端または右端からと上端と下端それぞれからのウィンドウの距離を指定 するのに使用されます。 両方のタイプのオフセットは、指示されたスクリーンの端からそれに対応する ウィンドウの端までが測定されます。 X オフセットは、下記の方法で指定することができます。
+XOFF ウィンドウの左端は、スクリーンの左端から XOFF ピクセルだけ 中に入ったところに置かれます(つまり、ウィンドウの原点の X 座標 は XOFF となります)。 XOFF は負数であることもありますが、その場合は、ウィンドウの左端は スクリーンからはみ出します。
−XOFF ウィンドウの右端は、スクリーンの右端から XOFF ピクセルだけ 中に入ったところに置かれます。 XOFF は負数であることもありますが、その場合は、ウィンドウの右端は スクリーンからはみ出します。
Y オフセットも同じような意味をもちます。
+YOFF ウィンドウの上端は、スクリーンの上端から YOFF ピクセル下の ところです(つまり、ウィンドウの原点の Y 座標は YOFF となります)。 YOFF は負数であることもありますが、その場合は、ウィンドウの上端は スクリーンからはみ出します。
−YOFF ウィンドウの下端は、スクリーンの下端から YOFF ピクセル上の ところです。 YOFF は負数であることもありますが、その場合は、ウィンドウの下端は スクリーンからはみ出します。
オフセットはペアで与えなければなりません。 すなわち、XOFF あるいは YOFF のどちらか片方を 指定するには、両方いっしょにでなければなりません。 ウィンドウは、下記の指定を使用すると、スクリーンの 4 つの隅に 置くことができます。
+0+0 上部左隅
−0+0 上部右隅
−0−0 下部右隅
+0−0 下部左隅
下記の例においては、端末エミュレータはスクリーンのほぼ中央に置かれ、 ロード平均モニタ、メイルボックス、およびクロックは上部右隅に置かれます。
xterm −fn 6x10 −geometry 80x24+30+200 &
xclock −geometry 48x48−0+0 &
xload −geometry 48x48−96+0 &
xbiff −geometry 48x48−48+0 &
ウィンドウマネージャ
スクリーン上のウィンドウのレイアウトは、ウィンドウマネージャと 呼ばれる特別なプログラムによって制御されます。 多くのウィンドウマネージャは与えられたとおりのジオメトリ指定をそのまま 受け付けますが、それ以外のウィンドウマネージャはそれらを無視することも あります(たとえば、ユーザに対して、ポインタでスクリーン上にウィンドウの リージョンを明示的に描くよう求めます)。
ウィンドウマネージャは系統立った(複雑であるにもかかわらず) クライアントプログラムであるため、様々な異なるユーザインタフェースを 構築することができます。 中心的配給物には、オーバーラッピングウィンドウ、ポップアップメニュー、 point-and-click または click-to-type の入力モデル、およびスクリーンの 領域の最小限使用(つまり、ウィンドウ回りのタイトルバーを提供しない)を サポートする uwm と命名されたウィンドウマネージャといっしょに 提供されます。 これは簡単に見えるけれどもマスターするのは若干困難です。
ユーザ貢献の配給物で、その他にいくつかのウィンドウマネージャが 利用できます。
awm このウィンドウマネージャは、uwm から派生したものですが、オプション のタイトルバーを提供し、そのタイトルバーのレイアウトはユーザ別に あつらえることができます。
twm このウィンドウマネージャは、タイトルバー、ボックスのサイズ変更と 位置変更、そして特別にデザインされたアイコンを提供します。 これは、小型サイズと簡略性で知られています。
rtl これは、スクリーン上のウィンドウの再配置とサイズ変更を行って、それらが オーバラップすることを完全に防止する タイリング ウィンドウ マネージャです。
上記のウィンドウマネージャをどれも受諾できない人は、独自のものを 書くことをお勧めします。
フォント名
X でテキストとシンボルを表示するための文字のコレクション を フォント と呼びます。 フォントには通常、共通の外観を共有し、全体として見やすい形象が 含まれます(たとえば、単一サイズ、ボールド、斜体、および文字セット等)。 同様に、共通のタイプフェースに基づいたフォントのコレクション(その 種類には、ローマ字、ボールド、イタリック体、ボールドイタリック体、斜線、 およびボールドの斜線と呼ばれるものがあります)は、ファミリー と 呼ばれます。
同じリゾリューション(通常インチあたりのドット数で測定される)のフォント ファミリーのセットはさらに、ディレクトリ (それらは最初ファイル システムディレクトリにストアされているのでこう呼ばれる)にグループ分け されます。 各ディレクトリには、フォント名と、フォントをどのようにして見つける かについての情報をリストしているデータベースが含まれます。 サーバはこれらのデータベースを使用して、フォント名 (ファイル名とは何の関係もない) をフォントデータに翻訳します。
サーバがフォントを捜すときに見るフォントディレクトリのリストは、 フォントパス によって制御されます。 ほとんどのインストレーションでは、一般に使用されているすべての フォントディレクトリでサーバの起動を行うことを選択するでしょうが、 フォントパスは xset プログラムを使用して、いつでも変更することが できます。 ただし、ディレクトリ名はアプリケーションマシン上ではなく サーバ の マシン上にあることを忘れないことが大切です。
サンプルのサーバに対するデフォルトのフォントパスには、以下の 3 つの ディレクトリが含まれます。
/usr/lib/X11/fonts/misc
このディレクトリには、あらゆるシステムで利用できるいろいろなフォントが 含まれます。 これは固定幅フォント (6x10、6x12、 6x13、 8x13、 8x13 ボールドおよび 9x15) と カーソルフォントの非常に小さいファミリーが含まれます。 これにはまた、一般に使用される固定 (fixed) フォントと 可変 (variable) フォントに対するフォント名の別名があります。
/usr/lib/X11/fonts/75dpi
このディレクトリには、Adobe Systems 社、 Digital Equipment 社、 および Bitstream 社が開発したインチあたり 75 ドットのディスプレイ用の フォントが含まれます。 個々のファミリごとに、選りすぐれたサイズ、スタイル、および重みが 提供されています。
/usr/lib/X11/fonts/100dpi
このディレクトリには、75dpi ディレクトリ内のフォントの中の いくつかのインチあたり 100 ドットのバージョンが含まれます。
フォントデータベースは、フォントのソースまたはコンパイルされた バージョン(圧縮および非圧縮フォーマットの両方で)を含むディレクトリ 内で mkfontdir プログラムを実行することによって作成されます。 フォントがディレクトリに追加されるときは必ず、 mkfontdir を 再実行して、サーバが新しいフォントを見つけることができるように しなければなりません。 サーバがフォントデータベースを再び読取りできるようにする には、xset プログラムを使用してフォントパスをリセットします。 たとえば、私用ディレクトリにフォントを追加するには、下記のコマンドを 使用します。
% cp newfont.snf ~/myfonts
% mkfontdir ~/myfonts
% xset fp rehash
xlsfonts プログラムは、現在のフォントパス内のフォントデータベース で見つかったあらゆるフォントをリストするのに使用することができます。 フォント名は、個々のフォントを一意に識別するのに必要な情報をすべて 含んでいるため、かなり長くなる傾向があります。 ただし、サンプルのサーバは、フォント名のワイルドカードをサポート しているため、下記の完全な指定は、
−adobe−courier−medium−r−normal−−10−100−75−75−m−60−iso8859−1
以下のとおりに短縮することができます。
∗−courier−medium−r−normal−−∗−100−∗
シェルもまた ∗ と ? に対しては特別な意味をもつため、 ワイルドカードされたフォント名は次のとおりに引用符で囲まなければなりません。
% xlsfonts −fn ’∗−courier−medium−r−normal−−∗−100−∗’
フォントパス内の特定のディレクトリ内の複数のフォントがワイルドカード されたフォント名と一致する場合は、 どのフォントを返すかはサーバが選択します。 ただし、2 つ以上のディレクトリからのフォントが名前と一致する場合は、 必ずフォントパス内の最初のそのようなディレクトリから フォントを返さなければなりません。 上述の例は、75dpi および 100dpi ディレクトリの両方の フォントに一致します。 フォントパス内で 75dpi ディレクトリが 100dpi ディレクトリ より前にあれば、フォントのより小さい数字の方のバージョンを使用します。
カラー名
ほとんどのアプリケーションは、表示するテキストとグラフィックス内の種々の 要素の色をあつらえる(通常は、リソースまたはコマンド行引数を介して)方法 を提供します。 白黒ディスプレイでは選択の余地はありませんが、カラーディスプレイでは、 16 から 1600 万種類の色をどこへでも使用することができることも よくあります。
色は通常、一般的に使用されている名前(たとえば 赤、 白 あるいは 灰色がかった青)で指定します。 サーバは、通常 /usr/lib/X11/rgb.txt にあるカラーデータベースを 使用して、これらの名前を適切なスクリーンカラーに翻訳します。 カラー名は大文字でも小文字でも関係ありません。 すなわち、red、 Red、およびRED はいずれも同じ色指定を 表します。
多くのアプリケーションもまた、下記の形式の色指定を受け付けます。
#rgb
#rrggbb
#rrrgggbbb
#rrrrggggbbbb
ここで、r、 g、および b は、どのくらいの 量の 赤色、 緑色、および 青色 を表示するか( ゼロはなし(無色)、ffff は全部)を示す 16 進の数字です。 指定内の各フィールドは、同じ桁数(たとえば、#rrgb または #gbb は 許されない)でなければなりません。 4 桁未満(たとえば #rgb)のフィールドは、各桁の後にゼロが埋め込まれます。 (たとえば、#r000g000b000)。 主要な 8 色は、下記のとおりに表されます。
黒#000000000000 (無色)
赤#ffff00000000
緑#0000ffff0000
青#00000000ffff
黄色#ffffffff0000 (赤と緑は全部、青はなし)
赤紫#ffff0000ffff
青緑#0000ffffffff
白#ffffffffffff (赤、緑、および青全部)
残念なことに、同じ入力が与えられた場合でも、異なったモニタでは 異なった陰影が生じるため、RGB カラー指定は汎用的ではありません。 同様に、カラー名も標準の命名法がなく、カラーデータベースも モニターごとに調整する必要があるため、汎用的なものではありません。
アプリケーションの開発者は、それぞれの使用カラーをあつらえることが できるように注意を払わなければなりません。
キー
X のキーボードモデルは、次の 2 つの層に分けられます。 物理的キーを表すサーバ固有のコード(キーコード と呼ぶ)、および キー上に現れる文字または単語を表すサーバに依存しない シンボル(keysyms と呼ぶ)。 キーコードを keysyms に変換するために、サーバ内には 2 つのテーブルが 保持されています。
modifier list (モディファイアリスト)
キーの中には、モディファイア として知られ、1つのキーに付加 されている異なったシンボル(たとえば、Shift-a では大文字の A が生成され、 Ctrl-l ではフォームフィード文字の ^L が生成される)を選択するのに 使用されるものもあります。 サーバは、種々のモディファイアに対応するコードのリストを保持しています。 いつキーを押したり離したりしても、サーバは指示されたキーのキーコードを 含む イベント ならびに、どのモディファイアキーが現在押されるかを 指定するマスクを生成します。 ほとんどのサーバは、最初からキーボード上の種々のシフト、コントロール、 およびシフトロックキーを含むために、このリストをセットアップします。
keymap table(キーマップテーブル)
アプリケーションは、イベントキーコードとモディファイアマスクを、 各キーコードに対して1行、 および各モディファイアに対して1列を含む keysym テーブル を使用して、 keysyms に翻訳します。 このテーブルは、通常のタイプライターの決まりに対応するようにサーバに よって初期化されますが、クライアントプログラムでしか使用されません。
ほとんどのプログラム(たとえば X ツールキットで書かれたもの)は、 keysyms を直接処理します。 ほとんどのプログラミングライブラリは、keysyms を適切なタイプの文字列 (たとえば、ISO Latin-1)に変換するためのルーチンを備えています。 ただし、そのようなルーチンを使用しているプログラムは通常、移植性に 欠け、柔軟性もやや低くなります。
オプション
ほとんどのプログラムは、コマンド行オプションと引数に対しては同じ名前を 使おうとします。 X ツールキットで書かれたあらゆるアプリケーションは、下記のオプションを 自動的に受け付けます。
−display display
このオプションは、使用する X サーバ名を指定します。
−geometry geometry
このオプションは、ウィンドウの最初のサイズと位置を指定します。
−bg color, −background color
どちらのオプションも、ウィンドウのバックグラウンドの色を指定します。
−bd color, −bordercolor color
どちらのオプションも、ウィンドウのボーダの色を指定します。
−bw number, −borderwidth number
どちらのオプションも、ウィンドウのボーダの幅をピクセル単位で指定します。
−fg color, −foreground color
どちらのオプションも、テキストあるいはグラフィックスの色を指定します。
−fn font, -font font
どちらのオプションも、テキストを表示するために使用するフォントを 指定します。
−iconic
このオプションは、アプリケーションのウィンドウがユーザによってすぐに アイコン化されたかのように、最初はビジブルでないことをユーザが望む ことを示します。 ウィンドウマネージャは、アプリケーションによるリクエストを承諾しない こともあります。
−jfn font, -jfont font
どちらのオプションも、日本語テキストを表示するのに使用する漢字フォント を指定します。
−name
このオプションは、名前を指定します。 アプリケーションに対するリソースはこの名前のもとで見つけられなければ なりません。 このオプションは、実行可能なファイル名を変更するためにリンクを作成 しにいくことなしに、シェルの別名内でアプリケーションの各呼び出しを 区別するのに役に立ちます。
−rv, −reverse
どちらのオプションも、可能な場合、プログラムが反転表示をシミュレート することを示し、これはフォアグラウンドおよびバックグラウンドをスワップ することによって行われることが多いです。 すべてのプログラムがそれを許したり、正確にインプリメントしたりする訳では ありません。 これは通常、白黒ディスプレイでしか使用されません。
+rv
このオプションは、プログラムは反転表示をシミュレートしないことを示します。 反転表示は必ずしも正しく行われる訳ではないので、これを使用して、 あらゆるデフォルトをオーバライドします。
−synchronous
このオプションは、X サーバに対するリクエストを、 非同期的にではなく同期的に送信することを示します。 Xlib は通常、サーバに対するリクエストを緩衝記憶するので、 エラーはそれが生じた直後に報告されないこともあります。 このオプションは、アプリケーションをデバックできるよう、 バッファリングを停止します。 これは、決してワーキングプログラムとともに使用してはなりません。
−title string
このオプションは、このウィンドウに対して使用するタイトルを指定します。 この情報を、ウィンドウを識別するなんらかの見出しを提供するために、 ウィンドウマネージャが用いることもあります。
−xrm resourcestring
このオプションは、任意のデフォルトをオーバライドするためのリソース名と 値を指定します。 これはまた、明示的なコマンド引数をもたないリソースを設定するのに非常に 役に立ちます。
リソース
アプリケーションを各個人の好みにより簡単に合わせることができる ように X は、プログラムリソース(たとえば、バックグラウンド、ウィンドウ タイトルなど)に対するデフォルト値をストアするためにいくつかのメカニズム をサポートします。 リソースは下記の形式の文字列で指定されます。
name∗subname∗subsubname...: value
これらは、アプリケーションを実行するときに様々な位置から読み込まれます。 Xlib ルーチンの XGetDefault(3X) および X ツールキット内のユーティリティは、下記のリソースを獲得します。
RESOURCE_MANAGER ルートウィンドウプロパティ
あらゆるマシン上でクライアントが使用できなければならない グローバルリソースは、xrdb プログラムを使用してルートウィンドウ 上の RESOURCE_MANAGER プロパティ内にストアしなければなりません。 これは、ユーザがディスプレイマネージャまたは xinit を 介して X を起動する場合にしばしば注意しなければならないことです。
アプリケーション固有のファイル
あらゆるアプリケーションあるいはマシン固有のリソースは、 XAPPLOADDIR ディレクトリ(これは標準配給物の /usr/lib/X11/app-defaults である構成パラメータである)内にあるクラスリソースファイル内にストアする ことができます。 X ツールキットを使用しているプログラムも、Class と命名された ファイル(ここで、Class とは、特定のアプリケーションのクラス名 である)に対する環境変数の XAPPLRESDIR (デフォルト値は、ユーザの ホームディレクトリ)によって命名されるディレクトリ内を捜します。 XAPPLOADDIR および XAPPLRESDIR 構成ファイルは、プロパティが値を オーバライドできるよう、RESOURCE_MANAGER プロパティの 前に 実際に ロードされます。
XENVIRONMENT
あらゆるユーザおよびマシン固有のリソースは、 すべてのアプリケーションによってロードされる リソースファイル名に XENVIRONMENT 環境変数を設定 することによって指定することができます。 この変数が定義されない場合は、X ツールキットは、.Xdefaults-hostname (ここで、hostname とは、アプリケーションが実行されているホスト名である)と命名されたファイルを捜します。
−xrm resourcestring
X ツールキットを使用するアプリケーションは、 コマンドから指定されたリソースをもつことができます。 resourcestring は、上述のとおりの単一のリソース名と値です。 なお、文字列にシェルによって解釈される文字(たとえば、アスタリスク)が 含まれる場合は、それらを引用符で囲まなければなりません。 任意の数の −xrm 引数をコマンド行上に与えることができます。
プログラムリソースは、classes と呼ばれるグループに編成されるので、 個々のリソース(各々が instances と呼ばれる)のコレクションを 1度に設定することができます。 規則により、リソースのインスタンス名は小文字で始まり、 クラス名は大文字で始まります。 複数の語のリソースは、後続するキャピタライズされた語の最初の文字と連結 されます。 X ツールキットで書かれたアプリケーションは、少なくとも以下のリソース をもちます。
background (クラス Background)
このリソースは、ウィンドウのバックグラウンドの色を指定します。
borderWidth (クラス BorderWidth)
このリソースは、ウィンドウボーダの幅をピクセル単位で指定します。
borderColor (クラス BorderColor)
このリソースは、ウィンドウボーダの色を指定します。
ほとんどの X ツールキットは、foreground (クラス Foreground) というリソースももっていて、 ウィンドウ内のテキストとグラフィックスの色を指定します。
クラスとインスタンス指定を組み合わせることによって、 アプリケーションの選択を迅速かつ簡単に設定することができます。 カラーディスプレイのユーザは、バックグラウンドとフォアグラウンドクラス を特定のデフォルトに設定したいと望む場合が多いです。 そうすれば、すべての関連リソースを定義しなくても、 テキストカーソルのような特定のカラーインスタンスを オーバライドすることができます。 以下に例を示します。
bitmap∗Dashed: off
XTerm∗cursorColor: gold
XTerm∗multiScroll: on
XTerm∗jumpScroll: on
XTerm∗reverseWrap: on
XTerm∗curses: on
XTerm∗Font: 6x10
XTerm∗scrollBar: on
XTerm∗scrollbar∗thickness: 5
XTerm∗multiClickTime: 500
XTerm∗charClass: 33:48,37:48,45−47:48,64:48
XTerm∗cutNewline: off
XTerm∗cutToBeginningOfLine: off
XTerm∗titeInhibit: on
XTerm∗ttyModes: intr ^c erase ^? kill ^u
XLoad∗Background: gold
XLoad∗Foreground: red
XLoad∗highlight: black
XLoad∗borderWidth: 0
emacs∗Geometry: 80x65−0−0
emacs∗Background: #5b7686
emacs∗Foreground: white
emacs∗Cursor: white
emacs∗BorderColor: white
emacs∗Font: 6x10
xmag∗geometry: −0−0
xmag∗borderColor: white
uwm∗bordercolor: black
uwm∗Foreground: #f00
uwm∗Background: #ede7e2
uwm∗borderwidth: 0
uwm∗iborderwidth: 0
uwm∗mborderwidth: 1
上記のリソースがホームディレクトリ内の、.Xresources と呼ばれる ファイルにストアされている場合は、以下のコマンドを使ってサーバ内の どの既存サーバにでもそれらを追加することができます。
% xrdb −merge $HOME/.Xresources
これは、しばしばユーザフレンドリーな起動スクリプトがユーザ固有の デフォルトをいずれかの現場側のデフォルトにマージする方法です。 あらゆる現場で、自動的にリソースをロードする便利な方法を準備するよう 推奨します。 詳細な情報については、Xlib マニュアルの リソースマネージャ の使用 の項を参照ください。
例
下記は、しばしば使用されるコマンドに対するコマンド行の例を列挙した ものです。 個々のコマンドについての情報に関しては、マニュアル中のそれぞれの コマンドの項を参照してください。
% xrdb −load $HOME/.Xresources
% xmodmap −e "keysym BackSpace = Delete"
% mkfontdir /usr/local/lib/X11/otherfonts
% xset fp+ /usr/local/lib/X11/otherfonts
% xmodmap $HOME/.keymap.km
% xsetroot −solid ’#888’
% xset b 100 400 c 50 s 1800 r on
% xset q
% uwm
% xmag
% xclock −geometry 48x48−0+0 −bg blue −fg white
% xeyes −geometry 48x48−48+0
% xbiff −update 20
% xlsfonts ’∗helvetica∗’
% xlswins −l
% xwininfo −root
% xdpyinfo −display joesworkstation:0
% xhost −joesworkstation
% xrefresh
% xwd | xwud
% bitmap companylogo.bm 32x32
% xcalc −bg blue −fg magenta
% xterm −geometry 80x66−0−0 −name myxterm $∗
診断
様々なプログラムから、いろいろなエラーメッセージが出されます。 様々なツールキットは、アプリケーションを簡単にあつらえることが できるよう、エラーテキストを見つけるための共通のメカニズムを提供する よう推奨されています。 Xlib C 言語ライブラリに直接インタフェースするよう書かれたプログラムは、 自身のエラーチェックを行うものと想定されています。
Xlib のデフォルトエラーハンドラ(他の多くのツールキットによっても 使用される)は、標準リソースを使用して誤りが生じた場合に診断メッセージ を作成します。 それらのメッセージに対するデフォルトは 通常、/usr/lib/X11/XErrorDB にストアされます。 このファイルが存在しない場合は、エラーメッセージはやや簡潔で暗号化 されたようなものとなります。
X ツールキットが、リソース文字列を適切な内部フォーマットに変換する際の エラーに出会った場合は、エラーメッセージは通常表示されません。 これは、一連のリソースを様々なディスプレイ(たとえば、カラー対白黒、 多数のフォント対小数のフォント等)全体を通じてもつのが望ましいときに便利です。 ただし、あるアプリケーションがなぜ失敗するのかを判断しようとする場合に 問題を生じることもあります。 StringConversionsWarning リソースを設定することによって、 この動作をオーバライドすることができます。
ツールキットに常に文字列変換エラーメッセージを表示させるために、 xrdb プログラム(ユーザのホームディレクトリ内 の .Xresources あるいは .Xres と呼ばれることが多い)を使用して、 RESOURCE_MANAGER プロパティにロードされるファイルの上部に 下記のリソースを置かなければなりません。
∗StringConversionWarnings: on
ある特定のアプリケーションに対してだけ変換メッセージを表示するには、 適切なインスタンス名をアスタリスクの前に置きます。
xterm∗StringConversionWarnings: on
バグ
同じようなバグが 繰り返し 生じた場合は、X バグ報告書を送る方法 について現場システム管理者に問い合わせてください。
関連事項
Xserver(1), mkfontdir(1), bitmap(1), uwm(1), x10tox11(1), xauth(1), xbiff(1), xcalc(1), xclock(1), xdpyinfo(1), xedit(1), xev(1), xfd(1), xhost(1), xinit(1), xkill(1), xload(1), xlogo(1), xlsfonts(1), xlswins(1), xmag(1), xman(1), xmh(1), xmodmap(1), xpr(1), xprop(1), xrdb(1), xrefresh(1), xset(1), xsetroot(1), resize(1), xterm(1), xwd(1), xwininfo(1), xwud(1), Xapollo(1), Xqdss(1), Xqvss(1), Xsun(1), XmacII(1), Xplx(1), bdftosnf(1), kbd_mode(1), todm(1), tox(1), biff(1), init(8), ttys(5), Xlib − C 言語 X インタフェース、 X ツールキットイントリンシックス − C 言語 X インタフェース、 および X リソースの使用と指定
版権
下記の版権と許可通告は、MIT による X ウィンドウシステムの標準配給物の 大部分にあてはまる権利と制限を概略したものです。 その他の部分は、追加のまたは異なる版権と許可をもっています。 個々のソースファイルを参照のこと。 Copyright 1984, 1985, 1986, 1987, 1988, Massachusetts Institute of Technology. 本ソフトウェアとその資料を何らかの目的で無料で使用、複写、 修正および配布することは、上記の版権通告がすべてのコピーに記載され、 その版権通告と本許可通告がサポート資料に記載され、 また、特別な書面による事前の許可なくしてソフトウェアの販売に 関係する広告や宣伝に M.I.T. の名称を使用しないことを 前提として許可するものとする。 M.I.T. は、あらゆる目的に対する本ソフトウェアの適合性に関しては 何の表示も行わない。 本ソフトウェアは、明示的にも暗示的にもいかなる保証も行わず、 "そのまま" で供給される。 本ソフトウェアは、AT&T もしくはカリフォルニア大学の評議員から 何のライセンスも受けていない。
著者
多数。 何人かの著者名については、 標準ソース内の doc/contributors ファイルを参照のこと。
NEWS-OSRelease 3.3