Contact
Impressum
Why this name?
FC5 · FC6 · MDV20070 · MDV20071 · MDV20080 · MDV20081 · MDV20090 · RH9 · RHEL4 · RHEL5 · SLES9 · SLES10 · SUSE101 · SUSE102 · SUSE103 · SUSE110 · SUSE111 · centos4 · centos5 · debian-etch · debian-sarge · debian-unstable · f7 · f8 · f9 · f10 · ubuntu606 · ubuntu610 · ubuntu704 · ubuntu710 · ubuntu804 · ubuntu810

X

名前

X − 移植性の高い、ネットワーク透過なウィンドウシステム

書式

X ウィンドウシステムは広範囲なコンピュータとグラフィックマシン上で稼働 するネットワーク透過なウィンドウシステムである。X コンソーシアムのソ フ トウェア配布物は ANSI C と POSIX に準拠しているほとんどのシステムで比較 的簡単に構築できる。商用パッケージも広範囲のプラットフォームで利用可 能 である。

X コンソーシアムは、このソフトウェアに言及する時には次の名称を使用する ことを求めている:

X
X ウィンドウシステム(X Window System)
X バージョン 11(X Version 11)
X ウィンドウシステム, バージョン 11(X Window System, Version 11)
X11

X Window System は X Consortium, Inc. の登録商標である。

説明

X ウィンドウシステムのサーバはビットマップディスプレイを持つコンピュ ー タ で稼働する。サーバはユーザの入力や様々なプロセス間通信チャネルを通じ て様々なクライアントからの出力要求を受け付ける。ごく一般的な場合には ク ラ イアントプログラムはサーバの動作しているマシンの上で動作するが、クラ イアントは(異なるアーキテクチャのマシンとオペレーティングシステムを含め て)他のマシンからも透過的に実行できる。

X は重なりあって階層構造を持つサブウィンドウおよびテキストやグラフィッ クスの操作を、白黒ディスプレイでもカラーディスプレイでもサポートして い る。利用可能な関数の正式な説明については Xlib - C 言語 X インタフェース マニュアル、 X ウィンドウシステムプロトコル 仕様書、 X ツールキットイン ト リンシクス - C 言語インタフェース マニュアルとツールキットに関する様 々な文書を参照すること。

X を使用するプログラムは大変多い。 X コンソーシアムがコアの配布物として 提供しているプログラムを以下に示す: 端末エミュレータ、xterm; ウィンドウ マネージャ、twm; ディスプレイマネージャ、xdm; コンソールリダイレクト プ ロ グ ラム、xconsole; メールインターフェース、xmh; ビットマップエディタ 、bitmap; リソース列挙/操作ツール、appres, editres; アクセス制御プロ グ ラム、xauth, xhost, と iceauth; ユーザ環境設定プログラム、xrdb, xcmsdb, xset, xsetroot, xstdcmap, xmodmap; 時計、 xclockoclock; フォント 表 示 、(xfd; フォント、ウィンドウとディスプレイの情報表示ユーティリティ、 xlsfonts, xwininfo, xlsclients, xdpyinfo, xlsatoms, と xprop; スクリ ー ン画像操作ユーティリティ、 xwd, xwud, と xmag; 性能測定ユーティリティ、 x11perf; フォントコンパイラ、 bdftopcf; fslsfonts, fstobdf; フォント サ ー バと関連ユーティリティ、 xfs, fsinfo, fslsfonts, fstobdf; X Image 拡 張実行プログラム, xieperf; mkfontdir; ディスプレイサーバと関連ユーテ ィ リ テ ィ、Xserver, rgb, mkfontd ir; リモート実行ユーティリティ、 rstartxon; クリップボードマネージャ、 xclipboard; xkbwatch; キーボード構成 記 述 コ ン パ イ ラ と関連ユーティリティ、 xkbcomp, xkbprint, xkbbell, xkbevd, xkbvleds, と xkbwatch; クライアント停止ユーティリティ、 xkill; 最 適化 X プロトコルプロキシ、 lbxproxy; ファイアウォールセキュリティプ ロキシ、 xfwp; プロキシを制御するプロキシマネージャ、 proxymngr; プロキ シ を発見するユーティリティ、 xfindproxy; Netscape Navigator のプラグイ ン, libxrx.solibxrxnest.so; RX MIME 型用の補助プログラム、 xrx; ス クリーンの全てもしくは一部を再描画するユーティリティ、 xrefresh

そ の他の多くのユーティリティ、ウィンドウマネージャ、ゲーム、ツールキッ トは、ユーザによる寄贈ソフトウェアとして X コンソーシアムの配布物のに含 まれているか、インターネット上の anonymous ftp で入手可能である。詳細は 自サイトの管理者に問い合わせること。

はじめに

X サーバの入手とクライアントアプリケーションの初期設定をする方法は主 に 2 つある。どちらを使うべきかは、稼働中のオペレーティングシステムや X の 他にウィンドウシステムを使用したいかどうかによって変わる。

xdm (X ディスプレイマネージャ)

X をディスプレイ上で常時実行させたい場合は、自サイトの管理者に そ の マシンに X ディスプレイマネージャ(X Display Manager) xdm を設定してもらうこと。このプログラムは普通はブート時にシステム によって起動され、サーバが常に実行しておいてユーザがログインで きるようにする。xdm が稼働している場合は、ログインを促す画面が ウィンドウに表示されて、ユーザ名とパスワードの入力を求めている はずである。ここで、単に通常の端末と同様にユーザ名とパスワード を そ れぞれ入力してリターンキーを押すこと。間違えた場合は xdm はエラーメッセージを表示してもう一度入力を求める。ログインが成 功すると xdm は X 環境を開始する。デフォルトでは、実行可能属性 の付いた .xsession という名前のファイルがホームディレクトリ に あれば、xdm はこれを初期クライアント (端末エミュレータ、時計、 ウィンドウマネージャ、背景ウィンドウやポインタの速度等を設定す るプログラム等)を実行するためのプログラム(またはシェルスクリプ ト)として扱う。

xinit (シェルから手動で起動した場合)

複数のウィンドウシステムをサポートしているサイトでは、xinit を 使 用して X を手動で開始するとよい。ユーザのマシンがそのような 環境であれば、自サイトの管理者が "x11", "startx", "xstart" の ような (標準リソースのロード、ウィンドウマネージャの起動、時計 の表示、端末エミュレータの起動を行うような)サイト独自のプロ グ ラムをちゃんと用意しているはずである。さもなければ、このような スクリプトを xinit プログラムを使って構築すること。このユー テ ィリティは、ユーザの指定したプログラムをひとつ実行してサーバを 起動し、次に別のプログラムを実行して使いたいクライアントを起動 させ、その後これらの終了を待つ。ユーザの指定したプログラムのど ちらかもしくは両方はシェルスクリプトかもしれず、自由度が高いた めにインタフェースをよくするのに手間がかかるかもしれない。した がって、xinit はエンドユーザ向けではない。

ディスプレイ名

ユーザから見ると、すべての X サーバは

hostname:displaynumber.screennumber ホスト名:ディスプレイ番号.スクリーン番号

という形式で ディスプレイ名(display name) を保持している。この情報は 、 ア プリケーションのサーバへの接続方法とデフォルトで使うスクリーンを決め る(複数のモニタに表示するとき)ために使われる。

hostname ホスト名

hostname は物理的にディスプレイが接続されたマシンの名前を指 定 する。ホスト名が与えられなかった場合は、同じマシン上にあるサー バと通信するのに最も効率の良い方法が使われる。

displaynumber ディスプレイ番号

「ディスプレイ(display)」という用語は通常、一般的なキーボー ド とポインタ (マウス、タブレット等) を共有するモニタの集合を指す ために使われる。ほとんどのワークステーションにはキーボードとデ ィ スプレイはそれぞれ 1 つずつしか接続されていない。巨大なマル チユーザシステムでは、複数の人がグラフィックスを使う作業ができ るように複数のディスプレイを持つことがよくある。混乱を避けるた めに、X サーバがディスプレイを起動するときにはそれぞれのディス プ レイに (0 から始まる) ディスプレイ番号(display number) を割 り当てる。ディスプレイ番号は必ずディスプレイ名に含まれていなけ ればならない。

screennumber スクリーン番号

デ ィスプレイによっては 1 つのキーボードとポインタを複数のモニ タで共有していることがある。それぞれのモニタはウィンドウの集合 を 持っているので、それぞれのスクリーンに X サーバがディスプレ イ起動時に (0 から始まる) スクリーン番号(screen number)を割 り 当 てる。スクリーン番号が与えられない場合はスクリーン 0 が使用 される。

POSIX システムでは、標準ディスプレイ名は DISPLAY 環境変数に格納される。 この変数は xterm 端末エミュレータによって自動的に設定される。しかし、ネ ットワーク上の他のマシンにログインするときは、自分が使うディスプレイ を DISPLAY が指すように設定しなければならない。例えば

  % setenv DISPLAY myws:0
  $ DISPLAY=myws:0; export DISPLAY

の ようにすること。 xon スクリプトを使用すると、リモートマシンで X プロ グラムを開始させることができる。このスクリプトは正しい DISPLAY 環境変数 を自動的に設定する。

最 後 に 、ほとんどの X プログラムは一時的に DISPLAY の内容を上書きする -display displayname というコマンド行オプションを受け付ける。これは他人 のスクリーンにウィンドウをポップアップさせるためや、リモートの xterm を コマンド自分のディスプレイに出すために「リモートシェル」コマンドの一 部 として使うことが一般的である。例えば、

  % xeyes -display joesws:0 -geometry 1000x1000+0+0
  % rsh big xterm -display myws:0 -ls </dev/null &

のようにすること。 X サーバは様々な異なる通信チャネル (ネットワークバイ トストリーム、共有メモリ等) との接続を待つ。指定されたサーバへの接続 方 法 は複数個あり得るので、ディスプレイ名の hostname の部分は使用するチャ ネル (トランスポート層とも呼ばれる)の種類を決めるために使われる。 X サ ーバは一般的に次の接続の種類をサポートしている:

local

ディスプレイ名のホスト名部分は空の文字列でなければならない。例 えば :0, :1, :0.1 となる。最も効率の良いローカル転送の方法が選 ばれる。

TCPIP

ディスプレイ名のホスト名部分はサーバマシンの IP アドレスでなけ ればならない。完全なインターネット名、短縮名、IP アドレスの い ず れ も 許 さ れ る。例えば x.org:0, expo:0, 198.112.45.11:0, bigmachine:1, hydra:0.1 は正しい指定である。

DECnet

ディスプレイ名のホスト名部分をサーバマシンのノード名とし、その 後 に コロンを 1 つではなく 2 つを置かなければならない。例えば myws::0, big::1, hydra::0.1 となる。

アクセス制御

X サーバは複数のタイプのアクセス制御を利用できる。X11 リリース 6 に用意 されている機構は以下の通りである:

ホスト単位アクセス

ホストに基づいた単純なアクセス制御
MIT-MAGIC-COOKIE-1

平文の「クッキー」を共有する
XDM-AUTHORIZATION-1

安全な DES ベースの秘密鍵を使用
SUN-DES-1

Sun の Secure RPC 機構に基づく
MIT-KERBEROS-5

Kerberos バージョン 5 のユーザ対ユーザ認証

xdm はサーバのアクセス制御を初期化し、ユーザがアクセスできるファイルに 認証情報を格納する。通常、必ず接続が許されるホストのリストは空であり 、 明 示的に認証されたクライアントだけがディスプレイに接続できる。ホストの リストに (xhost で) 項目を追加したときは、サーバはそれらのマシンから の 接続についての認証は行わない。xhost は注意して実行すること。

Xlib が認証データを伸長して取り出すファイルは XAUTHORITY 環境変数で指定 できる。デフォルト値はホームディレクトリの .Xauthority ファイルである。 xdm$HOME/.Xauthority を使用して認証データを作成する。あるいは、ユー ザがログインする時に既に認証データがあればこれにマージする。

複数のマシンを使用していてネットワークファイルシステムによってすべて の マ シン共通のホームディレクトリを共有している場合、認証ファイルについて 心配する必要はなく、システムはデフォルトで正常に動作するはずである。 そ う でない場合も認証ファイルはマシンに依存しないので、認証ファイルを共有 するには単にコピーすればよい。認証ファイルを管理するには xauth を使うこ と 。このプログラムを使うと、レコードを伸長し他のファイルに挿入すること ができる。リモートマシンがローカルマシンとホームディレクトリを共有し て い ない場合、これを使用するとログイン時にリモートマシンへ認証を送信でき る。 NFS, ftp, rcp 経由で「暗号化されずに」送信された認証情報はネットワ ー ク盗聴者が「盗む」ことができるので、認証されないアクセスを許してしま うかもしれない点に注意すること。多くの環境ではこれほどのセキュリティ 水 準 は必要ないが、必要ならば特定の認証データの正確な意味を知っておき、実 際に問題になるかどうかを知る必要がある。アクセス制御の詳細につ い て は Xsecurity のオンラインマニュアルを参照すること。

ジオメトリ指定

固 定サイズの画面の端末に代わるウィンドウシステムの優位性のひとつは、ア プリケーションがスクリーン上で特定の大きさや位置の制限を受ける必要が な い ことである。ディスプレイ上のウィンドウのレイアウトはユーザが実行して いるウィンドウマネージャが制御するが(後述)、ほとんどの X プログラムでは コ マ ン ド 行 で -geometry WIDTHxHEIGHT+XOFF+YOFFの形式 (ここで WIDTH, HEIGHT, XOFF, と YOFF は数値) の引き数を指定して、アプリケーションの メ インウィンドウの望ましい大きさと位置を指定できる。

ジオメトリ指定の WIDTHHEIGHT 部分の単位はピクセル数か文字数のどちら かであるが、これはアプリケーションによって異なる。 XOFFYOFF の単 位 は ピクセルであり、スクリーンの左端か右端の上端か下端からの間隔をウィン ドウにそれぞれ指定する。どちらのタイプのオフセットも、スクリーンの指 定 さ れた端からウィンドウの対応する端までの距離を指定する。X 軸方向のオフ セットは次の方法で指定する:

+XOFF

ウィンドウの左端をスクリーンの左端から XOFF ピクセル の 所 に配置する(つまり、ウィンドウの原点の X 座標は XOFF になる) 。

-XOFF

ウィンドウの右端をスクリーンの右端から XOFF ピクセル の 所 に配置する。XOFF は負の値でもよく、この場合にはウィンドウの 右端がスクリーンの外になる。

Y オフセットも同様な意味を持つ:

+YOFF

ウィンドウの上端をスクリーンの上端から YOFF ピクセル の 所 に配置する(つまり、ウィンドウの原点の Y 座標は YOFF となる) 。 YOFF は負の値でもよく、この場合にはウィンドウの上端がスクリ ーンの外になる。

-YOFF

ウィンドウの下端をスクリーンの下端から YOFF ピクセルの 所に配置する。YOFF が負の値でもよく、この場合にはウィンドウ の 下端がスクリーンの外になる。

オフセットは数値の組として与えなければならない。つまり、XOFFYOFF の どちらかを指定する場合には両方とも指定しなければならない。ウィンドウ を 画面の四隅に配置するには以下のように指定する:

+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 &

ウィンドウマネージャ

スクリーン上のウィンドウのレイアウトは ウィンドウマネージャ と呼ばれ る 特 別なプログラムによって制御される。多くのウィンドウマネージャは指定さ れたジオメトリ指定を受けつけるが、指定を無視するものもある(例えば、ポイ ン タでドラッグしてウィンドウ領域のスクリーン上の位置を明示的に指定させ る)。

ウィンドウマネージャは(たとえ複雑でも)通常のクライアントプログラムな の で 、色々なユーザインターフェースを構築できる。X コンソーシアムはウィン ドウの重ね表示、ポップア ッ プ メ ニ ュ ー 、point-and-click ま た は click-to-type 入力モデル、タイトルバー、かっこいいアイコン(アイコンのウ ィンドウがばらばらにできるのが嫌ならアイコンマネージャ) をサポートし た twm という名前のウィンドウマネージャを配布している。

他 の有名なウィンドウマネージャについては、X コンソーシアムの配布に含ま れるユーザ寄贈のソフトウェアを参照すること。

フォント名

X でテキストとシンボルを表示するための文字集合は、フォント として知られ て いる。一般的にフォントには見ためがそろっており並べると綺麗に見えるイ メージが含まれている(例えば、1 つの大きさ、太さ、スラント、文字集合) 。 同様に、共通のタイプフェースを基にしているフォントの集合(このバリエーシ ョンは通常 roman, bold, italic, bold italic oblique, bold oblique と 呼 ばれる)はファミリと呼ばれる。

フ ォントには色々な大きさのものがある。X サーバはスケーラブルフォントを サポートしている。これは 1 つのソースから任意の大きさのフォントを作成で き る フォントのことである。サーバはアウトラインフォントと ビットマップ フォントのスケーリングをサポートしている。アウトラインフォントのスケ ー リ ングでは、普通はビットマップフォントのスケーリングよりもずっとよい結 果が得られる。

X サーバはファイルシステム上のディレクトリに格納された個々のファイル 、 1 つ以上のフォントサーバ、またはディレクトリとフォントサーバの両方から フォントを取得できる。フォントを探すときに X サーバが調べる場所のリスト は、フォントパスで制御する。普通に X をインストールした場合には、X サー バは共通に使うフォントディレクトリをフォントパス内に持った状態で起動 す る ようになっているが、フォントパスはいつでも xset プログラムで変更でき る。しかしながら、ディレクトリ名はX サーバのマシンのものであってアプ リ ケーションのマシンのものではない点には注意すること。

ビ ットマップフォントファイルは普通、テキスト形式で記述されているフォン トを bdftopcf でバイナリ形式へコンパイルして作成する。フォントデータ ベ ー ス は 、 ソ ー ス またはコンパイルされたフォントがあるディレクトリで mkfontdir プログラムを実行して作成する。フォントを追加したときは、サ ー バが新しいフォントを見つけられるように、必ず mkfontdir を再実行しなけれ ばならない。サーバにフォントデータベースを再読み込みさせるには、xset プ ロ グラムでフォントパスを設定し直すこと。例えば、個人のディレクトリにフ ォントを追加した場合は次のコマンドを使用する:

  % cp newfont.pcf ~/myfonts
  % mkfontdir ~/myfonts
  % xset fp rehash

xfontselxlsfonts プログラムを使うと、あるサーバが使用できるフォント を 見ることができる。フォント名は個々のフォントを一意に特定するのに必要 な情報をすべて含むので、かなり長くなってしまう傾向がある。しかし、X サ ー バはフォント名のワイルドカード記述をサポートしているので、次のような 完全なフォント名

    -adobe-courier-medium-r-normal--10-100-75-75-m-60-iso8859-1

    -*-courier-medium-r-normal--*-100-*-*-*-*-iso8859-1

のように省略できる。

シェルにおいては *? は特別な意味を持っているので、ワイルドカード を 使ったフォント名は次のようにクォートしなければならない:

  % xlsfonts -fn ’-*-courier-medium-r-normal--*-100-*-*-*-*-*-*’

xlsfonts プログラムを使うと、指定されたパターンと一致するフォントを全て 列挙できる。引き数がない場合は利用可能な全てのフォントを列挙する。こ の プ ログラムは普通、同じフォントを色々なサイズで列挙する。基本となるスケ ーラブルフォントだけを見るには次のパターンを使うこと:

    -*-*-*-*-*-*-0-0-0-0-*-0-*-*
  -*-*-*-*-*-*-0-0-75-75-*-0-*-*
  -*-*-*-*-*-*-0-0-100-100-*-0-*-*

得られた名前の 1 つを指定したサイズのフォントに変換するには、最初 の 2 つの 0 のどちらかを 0 ではない値に置き換える。最初の 0 を含んでいる項目 はピクセル単位での大きさである。特定のフォントを指定するには、この 0 を 指定する高さ(ピクセル単位)に置き換える。また、二番目の 0 を含む項目はポ イントサイズである。これをデシポイント単位(722.7 デシポイントが 1 イ ン チ になる)のサイズに置き換える。最後の 0 はピクセルの 1/10 倍が単位とな る、平均的な幅を表すフィールドである。サーバによっては、この数値を指 定 するとスケーリングが歪んでしまう。

フォントサーバ名

TCP 接続で使用するフォントサーバ名は次に示す形式で指定できる:

  tcp/hostname:port
    tcp/hostname:port/cataloguelist

hostname はフォントサーバの稼働しているマシンの名前(あるいは 10 進数の アドレス) で指定する。port は接続用のフォントサーバが接続待ちをしている 10 進数の TCP のポート番号である。cataloguelist はカタログ名のリストで ’+’ で区切って指定する。

指定例: tcp/x.org:7100, tcp/198.112.45.11:7100/all

DECnet 接続で使用するフォントサーバ名は次に示す形式のいずれかで指定でき る:

  decnet/nodename::font$objname
    decnet/nodename::font$objname/cataloguelist

nodename はフォントサーバの稼働しているマシンの名前(または 10 進数のア ドレス)を指定する。objname は大文字と小文字の区別がある DECnet の通常の オブジェクト名である。cataloguelist ははカタログ名のリストで ’+’ で区切 って指定する。

指定例: DECnet/SRVNOD::FONT$DEFAULT, decnet/44.70::font$special/symbols

色名称

ほ とんどのアプリケーションには、表示するテキストやグラフィックスの各種 要素の色を指定する方法(リソースやコマンド行の引き数を使う)がある。色 は 抽 象的色名称かまたは数値による色指定により指定する。数値による色指定は デバイス依存(RGB)またはデバイス非依存の項目で識別することができる。色名 称文字列では大文字と小文字の区別はない。

X は "red", "blue" 等の抽象的色名称の利用に対応している。この抽象的色名 称に対応する値は 1 つまたは複数の色データベースを検索して取得でき る 。 Xlib はまず 0 個以上のクライアント側のデータベースを検索する。これらの データベースの個数、場所、内容は実装依存である。名称が見つからなかっ た ら、色は X サーバのデータベースから検索される。このテキスト形式のデータ ベースは一般に <XRoot>/lib/X11/rgb.txt ファイルに格納されている。ここで 、<XRoot> は X11 をインストールしたディレクトリのルートに置き換えること 。

数値による色指定は、色空間の名称と次の書式の数値の組で構成される:

    <color_space_name>:<value>/.../<value>

RGB デバイス指定はプレフィックス "rgb:" によって他と区別し、次の形式 で 指定する:

  rgb:<red>/<green>/<blue>

     <red>, <green>, <blue> := h | hh | hhh | hhhh
      h := 一桁の 16 進数

h は 4 ビットの値、 hh は 8 ビットの値、 hhh は 12 ビットの値、 hhhh は 16 ビットの値をそれぞれ表す。これらの数値は直接 X サーバに渡され、ガ ン マ補正に使用される。

8 つの基本色は次のように表す:

black

rgb:0/0/0
red

rgb:ffff/0/0
green

rgb:0/ffff/0
blue

rgb:0/0/ffff
yellow

rgb:ffff/ffff/0
magenta

rgb:ffff/0/ffff
cyan

rgb:0/ffff/ffff
white

rgb:ffff/ffff/ffff

互換性のために RGB デバイス用の古い書式がサポートされているが、これを使 い続けることは勧められない。書式は最初のシャープ記号(#)の後に数値指定が 続くものであり、以下のいずれかのフォーマットになる。

#RGB

(各 4 ビット)
#RRGGBB

(各 8 ビット)
#RRRGGGBBB

(各 12 ビット)
#RRRRGGGGBBBB

(各 16 ビット)

R, G, B は一桁の 16 進数を表す。それぞれに 16 ビットより小さい値が指定 されている場合、これは値の最上位のビットを表す(数値がスケーリングされる "rgb:" 形式とは異なる)。例えば、#3a7 は #3000a0007000 と同じである。

RGB による強度指定はプレフィックス "rgbi:" で識別され、次の書式で指定さ れる:

  rgbi:<red>/<green>/<blue>

red, green, blue は 0.0 から 1.0 の範囲の浮動小数点である。 1.0 が最 大 の 強度で 0.5 が半分の強度のように線形の強度を表す。この値は X サーバに 送る前の Xlib によってガンマ補正が行われる。これらの値の入力書式は、 符 号( 省略可能)、数値を示す文字列(小数点を含むこともある)、べき乗フィール ド(E 又は e の後ろに符号付き整数を続けたもの。省略可能)である。

標準のデバイス依存の文字列による指定は次の書式である:

CIEXYZ:<X>/<Y>/<Z>

(none, 1, none)
CIEuvY:<u>/<v>/<Y>

(~.6, ~.6, 1)
CIExyY:<x>/<y>/<Y>

(~.75, ~.85, 1)
CIELab:<L>/<a>/<b>

(100, none, none)
CIELuv:<L>/<u>/<v>

(100, none, none)
TekHVC:<H>/<V>/<C>

(360, 100, 100)

全ての値 (C, H, V, X, Y, Z, a, b, u, v, y, x) は浮動少数点の値である 。 この数値のいくつかには 0 から上限値の間の値を持つという制限がある。上記 のリストではこの上限値は括弧で括られている。これらの数値の書式 は 、’+’ か ’-’ の符号(省略可能)、小数点を含むことがある数値を表す文字列、省略可 能な指数フィールド(E または e の後ろに符号(省略可能)と数値を表す文字 列 を続けたもの)である。

デ バイス独立色の詳しい情報については Xlib のリファレンスマニュアルを参 照すること。

キーボード

X キーボードモデルは 2 つの層に分かれている。これは、(keycode と呼ば れ て い る) 物理的なキーを表すサーバ独自のコードと、 (keysym と呼ばれてい る) キー上に書かれている文字や言葉を表すサーバに依存しないシンボルで あ る。keycode から keysym へ変換する 2 つのテーブルはサーバ内に格納されて いる:

修飾キーリスト

(Shift, Control, Caps Lock のような) いくつかのキーはモディ フ ァイアとして知られていて、1 つのキーと組み合わせて色々なシンボ ルの選択をする時に用いる(Shift-a は大文字の A 、Control-l は制 御文字 ^L のように)。サーバは色々なモディファイアの組み合わせ に対応するキーコードのリストを保持している。キーを押したり離し たりする度に、サーバはどのモディファイアが正しく押されているか 指定するマスクおよび指示するキーのキーコードを含 む イ ベ ン ト(event) を生成する。ほとんどのサーバは、キーボード上の色々な Shift, Control, Caps Lock キーが最初からこのリストに含まれるよ うに設定を行う。

キーマップテーブル

アプリケーションはキーシンボルテーブルを使って、イベントキーコ ードとモディファイアマスクをキーシンボルに変換する。キーシンボ ル テーブルは、キーシンボルのそれぞれに対して 1 行、モディファ イアの各種状態に対して 1 列を持っている表である。このテーブ ル は通常のタイプライタのしきたりと一致するようにサーバが最初に初 期化する。テーブルが解釈されてキーシンボルになる正確なセマンテ ィ クスは 特定のプログラム、ライブラリと言語入力メソッドに依存 するが、それぞれの行の最初の 4 つのキーシンボルについては以 下 のようなしきたりが一般的に受け入れられている:

リ ストの最初の 4 つの要素は 2 つのキーシンボルのグループに分けられる。 グループ 1 は 1 番目と 2 番目のキーシンボルで、グループ 2 は 3 番目と 4 番目のキーシンボルである。それぞれのグループでは、 1 番目の要素がアルフ ァベットで 2 番目の要素が特別なキーシンボル NoSymbol ならば、このグルー プは 1 番目の要素が小文字で、2 番目の要素が大文字であるグループと同様に 扱われる。

グループの切り替えは MODE SWITCH という名前のキーシンボルで制御する。こ の切り替えは、このキーシンボルを何らかのキーに割り当て、そのキーを Mod1 から Mod5 のどれかのモディファイアに割り当てることによって行う。この モ ディファイアは「グループモディファイア」と呼ばれる。グループ 1 はグルー プモディファイアが無いときに使用され、グループ 2 はグループモディファイ アがあるときに使用される。

グ ループ内部では、モディファイアの状態によりどのキーシンボルが使用され ているのかがわかる。 1 番目のキーシンボルは Shift と Lock モディファ イ ア がオンになってない時に使用する。 2 番目のキーシンボルは Shift モディ ファイアがオンの時、Lock モディファイアがオンでかつ 2 番目のキーシン ボ ル が大文字のアルファベットである時、または Lock モディファイアキーがオ ンでかつ ShiftLock として解釈されている時に使われる。それ以外の場 合 は 、Lock モディファイアキーがオンでかつ CapsLock として解釈されている時は 、Shift モディファイアの状態は最初にキーシンボルを選択するために適用 さ れ る。しかし、そのキーシンボルが小文字のアルファベットならば、これに対 応する大文字のキーシンボルが代わりに使用される。

オプション

ほとんどの X プログラムでは、同じ名前のコマンド行オプションと引き数を使 用 できる。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

このオプションを指定すると、アプリケーションのウィンドウの起動 時の状態が可視状態ではなく、ユーザがウィンドウを即座にアイコン 化したような状態となる。ウィンドウマネージャは、アプリケーショ ンの要求を受け入れないかもしれない。

−name

このオプションはアプリケーションに対するリソースを探す時の名前 を指定する。このオプションは、同じアプリケーションを区別して実 行するためにシェルのエイリアスで使うと便利である。そうすればリ ンクを作って実行可能ファイル名を変える必要はない。

−rv, −reverse

どちらのオプションも、可能であればプログラムを反転表示をシミュ レートする。この表示は背景色と前景色の入れ替えで実現されること が多い。全てのプログラムでこうなるわけではないし、正しく実装さ れているとも限らない。このオプションが便利なのは普通は白黒ディ スプレイの場合だけである。

+rv

このオプションを指定すると反転表示のシミュレートを行わない。こ のオプションは反転表示が必ず失敗する場合にデフォルト値を上書き するために使う。

−selectionTimeout

このオプションは通信する 2 つのアプリケーションがセレクショ ン 要求に応答しなければならないタイムアウト時間をミリ秒単位で指定 する。

−synchronous

このオプションは X サーバへのリクエストを非同期ではなく同期 的 に送ることを指定する。 Xlib は通常はサーバへの要求をバッファに 蓄積し、エラーが起きても必ずしもすぐには報告しない。このオプシ ョンはアプリケーションのデバッグするときにバッファリングを無効 にできる。正しく動作しているプログラムに使用してはならない。

−title string

このオプションはウィンドウのタイトルを指定する。この情報は時々 ウィンドウマネージャによって使用され、ウィンドウを区別するため の見出しの類に使われる。

−xnllanguage language[_territory][.codeset]

このオプションはリソースの解決と他のファイル名に使用する言語、 地域とコードセットを指定する。

−xrm resourcestring

このオプションはデフォルト値を上書きするリソース名と値を指定す る。これはコマンド行引き数では明示的に指定できないようなリソー スを設定する際に役立つ。

リソース

ア プリケーションの仕立てを簡単に個人の好みに合わせられるようにするため 、 X はプログラムリソース(背景色、ウィンドウのタイトル等)のデフォルト値 を 格納するための機構を持っている。リソースはアプリケーションが実行され たときに色々な場所から読み込まれる。プログラムコンポーネントは階層的 に 指 定され、この階層中の各ノードはクラス名とインスタンス名で指定される。 アプリケーションのトップレベルのクラス名とインスタンス名はアプリケー シ ョ ン自身の名称である。慣習的に、アプリケーションのクラス名はプログラム 名と同じであるが、頭文字は大文字にする(例えば、Bitmap または Emacs)。た だ し、‘‘x’’ で始まるいくつかのプログラムについては、歴史的な理由から 2 文字目も大文字にされる。

リソースの正確な文法を示す:

ResourceLine = Comment | IncludeFile | ResourceSpec | <empty line>

Comment

=

"!" {<NULL 文字と改行以外の任意の文字>}

IncludeFile

=

"#" WhiteSpace "include" WhiteSpace FileName WhiteSpace

FileName

=

<OS で有効なファイル名>

ResourceSpec

=

WhiteSpace ResourceName WhiteSpace ":" WhiteSpace Value

ResourceName

=

[Binding] {Component Binding} ComponentName

Binding

=

"." | "*"

WhiteSpace

=

{<空白文字> | <水平タブ文字>}

Component

=

"?" | ComponentName

ComponentName

=

NameChar {NameChar}

NameChar

=

"a"−"z" | "A"−"Z" | "0"−"9" | "_" | "-"

Value

=

{<NULL 文字とエスケープされていない改行文字を以外の任意の文字>}

縦棒 (|) で区切られた要素は選択肢である。中括弧 ({...}) は囲んだ要素 の 0 回以上の繰り返しを表す。大括弧 ([...]) は囲んだ要素が省略可能であるこ とを表す。引用符 ("...") は文字列を囲むために使われる。

IncludeFile 行は指定したファイルの内容で置き換えるように解釈さ れ る 。 "include" という語は小文字でなければならない。ファイル名はその行が現れ たファイルがあるディレクトリから相対的に解釈される(例えば、ファイル名が ディレクトリも相対ディレクトリの指定も含まない場合)。

ResourceName は 2 つかそれ以上の結合文字での連続したシーケンスを含む。 このシーケンスが"." 文字だけを含む場合には 1 つの "." 文字で置き換え ら れ、そうでない場合には 1 つの "*" 文字で置き換えられる。

リ ソースデータベースは与えられた ResourceName に対して複数のエントリー を持つことはない。リソースファイルが同じ ResourceName に対して複数の 行 を持つ場合は、ファイルに最後に現れた行が使用される。

ResourceSpec 内の名前やコロンの前後の空白文字は無視される。 Value を空 白文字で始められるようにするため、2 文字のシーケンス ‘‘\space’’ (バック スラッシュに続く空白)が認識されて空白文字に置き換えられ、2 文字のシーケ ンス ‘‘\tab’’ (バックスラッシュに続く水平タブ)が認識されて水平タブに 置 き換えられる。 Value に改行文字を含められるようにするため、2 文字のシー ケンス ‘‘\n’’ が認識されて改行文字に置き換えられる。 Value がテキストフ ァ イ ル 内 で 複 数 行 で 分割して記述できるように、2 文字のシーケンス ‘‘\newline’’(バックスラッシュに続く newline)が認識される。このシーケ ン ス自体は値から削除される。 Value に任意の文字を含められるようにするため 、4 文字のシーケンス ‘‘\nnn’’が認識され、シーケンスで指定された8進値 を 持 つ1つのバイト値に置き換えられる。ここで、それぞれの n は ‘‘0’’−‘‘7’’ の範囲の値をとる。最後に、2 文字のシーケンス ‘‘\\’’ が認識され、1 つ の バックスラッシュで置き換えられる。

ア プリケーションがリソースの値を探すときには、クラス名とインスタンス名 の両方を使って階層構造の完全パスを指定する。しかし、通常はリソース値 に は 、パターンマッチング構造を用いて部分的にだけ指定された名前とクラスが 与えられる。アスタリスク(*)は緩い結合であり、間に任意の数の要素が入って い る こ とを表す。任意の数には何も入っていないことも含まれる。ピリオド (.) は強い結合であり、隣接する要素を区切るために使われる。疑問符(?)は任 意の 1 つの要素名またはクラスと一致する。データベースの項目は緩い結合で は終了できず、最後の要素("?" は許されない)は指定しなければならない。 検 索 アルゴリズムは、問い合わせられた完全な名前とクラスに対して最も近く ( 最も指定に近く)マッチするエントリーをリソースデータベースから検索する。 複 数のエントリーが完全な名前とクラスにマッチするときには、マッチするも のの中から 1 つだけを選ぶために優先順位の規則が使われる。

完全な名前とクラスは 1 回に1つのコンポーネントが左から右へ(最も高いな階 層 か ら低いの階層へと)走査される。それぞれのレベルでは、対応する要素か つ/またはマッチするそれぞれのエントリーの結合が決定され、これらの一致し た 要素と一致したエントリーが優先順位規則によって比較される。ルールが 1 つの項目をほかの項目から選択するまで、次のレベルに移動する前にそれぞ れ のルールがそれぞれのレベルで適応される。規則(優先順位)を以下に示す:

1.

マッチする要素を含むエントリー(名前、クラス、"?"のいずれか)は 、レベルを省略したエントリー(つまり、緩い結合でレベルとマッチする エントリー)より優先順位が高い。

2.

名前がマッチするエントリーは、クラスとマッチするエントリーと "?" を使用してマッチするエントリーのどちらよりも優先順位が高い 。 クラスがマッチするエントリーは "?" を使用してマッチするエントリー よりも優先順位が高い。

3.

強い結合が前にあるエントリーは、緩い結合が前にあるエントリ ー よりも優先順位が高い。

X ツールキットイントリンシクスに基づくプログラムは、次のソースからリソ ースを得る(他のプログラムは通常これらのソースの一部をサポートしてい る) 。

ルートウィンドウの RESOURCE_MANAGER プロパティ

全 て のマシン上のクライアントで使用可能なグローバルリソースは 、xrdb プログラムを用いて、最初のスクリーンのルートウィンド ウ 上の RESOURCE_MANAGER プロパティに格納しなければならない。

ルートウィンドウの SCREEN_RESOURCES プロパティ

全てのマシン上のクライアントで使用可能であり、与えられたスクリ ーンに固有のリソース(色など)は、そのスクリーンのルートウィンド ウ上の SCREEN_RESOURCES プロパティに格納される。 xrdb プログラ ムはリソースを自動的にソートして、リソースを RESOURCE_MANAGER と SCREEN_RESOURCES の適切な方に置く。

アプリケーション固有のファイル

ア プリケーション固有のリソースについては、XUSERFILESEARCHPATH 環境変数または XAPPLRESDIR 環境変数によって指定されたディレ ク トリ(これは 1 つのディレクトリを指す。POSIX システムでは最後が ’/’ でなければならない) と標準の位置にあるディレクトリ(通常 は <XRoot>/lib/X11/ 以下にあるが、これは XFILESEARCHPATH 環境変数 で上書きできる)が検索される。例えば、アプリケーションのデフ ォ ル トのリソースは <XRoot>/lib/X11/app-defaults/ に置かれる。詳 しくは X ツールキットイントリンシクス - C 言語インタフェースの マニュアルを参照すること。

XENVIRONMENT

全てのユーザ固有とマシン固有なリソースは、全てのアプリケーショ ンが読み込むべきリソースファイルの名前を XENVIRONMENT 環境変数 に設定することによって指定できる。この環境変数が定義されていな いときは、代わりに $HOME/.Xdefaults-hostname という名前のフ ァ イ ルが参照される。ここで、hostname はアプリケーションが動作し ているホスト名である。

−xrm resourcestring

リソースはコマンド行からも指定できる。resourcestring は、1 つ の リソース名と先程説明した値である。シェルに解釈される文字(ア スタリスク等)が文字列に含まれる場合にはクォートしなければな ら ない点に注意すること。任意の数の −xrm 引き数をコマンド行で指定 できる。

プログラムのリソースはクラスと呼ばれるグループにまとめられているので 、 グ ループの個々のリソース(それぞれを インスタンス と呼ぶ)を一度にすべて 設定できる。伝統的に、リソースのインスタンス名は小文字で始まり、クラ ス 名は大文字で始まる。複数の語からなるリソースは、次の語句の 1 文字目を大 文字にして語句を連結させる。X ツールキットイントリンシクスを使って書 か れたプログラムは最低限、次のリソースを持つ:

background (class Background)

このリソースはウィンドウの背景に使用する色を指定する。

borderWidth (class BorderWidth)

このリソースはウィンドウ枠の幅をピクセル数で指定する。

borderColor (class BorderColor)

このリソースはウィンドウ枠に使用する色を指定する。

X ツールキットイントリンシクスを使って書かれたプログラムは foreground リソース(Foreground クラス)も持つ。これは、ウィンドウ内のテキストやグラ フィックスで使用する色を指定する。

ク ラスとインタンスの指定を組み合わせることにより、アプリケーションの好 みを手早く、簡単に設定できる。カラーディスプレイのユーザは 、Background と 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:  rgb:5b/76/86
  emacs*Foreground:  white
  emacs*Cursor:  white
  emacs*BorderColor:  white
  emacs*Font:  6x10
  xmag*geometry: -0-0
  xmag*borderColor:  white

これらのリソースがホームディレクトリの .Xresources と呼ばれるファイルに 格納されている場合は、次のコマンドでサーバ内に存在するリソースに追加 で きる:

  % xrdb -merge $HOME/.Xresources

これは、取り扱いが簡単な X の起動スクリプトにおいて、ユーザの指定したデ フォルト値をサイト全体で使っているデフォルト値とマージするためによく 使 わ れている方法である。どのようなサイトでも、リソースをロードする便利な 方法を用意しておくとよい。詳細な情報については、Xlib のマニ ュ ア ル の Resource Manager Functions のセクションを参照すること。

環境変数

DISPLAY

これは唯一の必須オプションである。この変数は X サーバを指さなけ ればならない。「ディスプレイ名」セクションを参照すること。

XAUTHORITY

この変数は認証情報を持つファイルを指さなければならない。デフ ォ ル ト 値 は $HOME/.Xauthority である。 Xsecurity(7), xauth(1), xdm(1), Xau(3) を参照すること。

ICEAUTHORITY

この変数は認証データを持つファイルを指さなければならない。デ フ ォルト値は $HOME/.ICEauthority である。

LC_ALL, LC_CTYPE, LANG

3 つのうち空でない最初の変数が、現在のロケールの文字の処理、特 にデフォルトのエンコーディングに関す る 振 舞 い を 決 め る 。 locale(7), setlocale(3), locale(1) を参照すること。

XMODIFIERS

こ の変数を設定することにより、現在のロケール設定に対する重要な 追加情報を保持できる。普通は @im=<input-method> を設定して特 定 の 入力メソッドを有効にする。 XSetLocaleModifiers(3) を参照する こと。

XLOCALEDIR

この変数は、全てのロケールに対する、locale.alias フ ァ イ ル と Compose, XLC_LOCALE ファイル階層があるディレクトリを指さなけれ ばならない。デフォルト値は <XRoot>/lib/X11/locale である。こ の 値は通常は /usr/X11R6/lib/X11/locale である。

XENVIRONMENT

この変数は X リソースが置かれているファイルを指さなければならな い。デフォルト 値 は $HOME/.Xdefaults-<hostname> で あ る 。 <XRoot>/lib/X11/Xresources と異なり、このファイルは X のアプリ ケーションが起動する度に毎回参照される。

XFILESEARCHPATH

この変数はパス名のテンプレートのリストを格納する。このリスト は libXt がリソースファイルを検索する場所であり、リストはコロンで 区切られる。デフォルト値は以下の値である:

  <XRoot>/lib/X11/%L/%T/%N%C%S:\
  <XRoot>/lib/X11/%l/%T/%N%C%S:\
  <XRoot>/lib/X11/%T/%N%C%S:\
  <XRoot>/lib/X11/%L/%T/%N%S:\
  <XRoot>/lib/X11/%l/%T/%N%S:\
  <XRoot>/lib/X11/%T/%N%S

これは通常は以下の値である:

  /usr/X11R6/lib/X11/%L/%T/%N%C%S:\
  /usr/X11R6/lib/X11/%l/%T/%N%C%S:\
  /usr/X11R6/lib/X11/%T/%N%C%S:\
  /usr/X11R6/lib/X11/%L/%T/%N%S:\
  /usr/X11R6/lib/X11/%l/%T/%N%S:\
  /usr/X11R6/lib/X11/%T/%N%S

パス名のテンプレートは、以下の代入によってパス名に変換される。

  %N => 検索される名前 (ベース名)
  %T => 検索される型 (ディレクトリ名)
  %S => 検索されるサフィックス
  %C => リソースの「カスタマイズ」の値
        ("Customization" クラス)
  %L => ロケール名
  %l => ロケールの言語 (’_’ の前の部分)
  %t => ロケールの地域 (’_’ と ’.’ の間の部分)
  %c => ロケールのエンコーディング (’.’ の後の部分)

XUSERFILESEARCHPATH

この変数はパス名のテンプレートのリストを格納する。このリスト は libXt がユーザ独自のリソースファイルを検索する場所であり、リス トはコロンで区切られる。デフォルト値は以下の値である:

  $XAPPLRESDIR/%L/%N%C:\
  $XAPPLRESDIR/%l/%N%C:\
  $XAPPLRESDIR/%N%C:\
  $HOME/%N%C:\
  $XAPPLRESDIR/%L/%N:\
  $XAPPLRESDIR/%l/%N:\
  $XAPPLRESDIR/%N:\
  $HOME/%N

$XAPPLRESDIR のデフォルト値は $HOME である(後述)。

パス名のテンプレートは、以下の代入によってパス名に変換される。

  %N => 検索される名前 (ベース名)
  %T => 検索される型 (ディレクトリ名)
  %S => 検索されるサフィックス
  %C => リソースの「カスタマイズ」の値
        ("Customization" クラス)
  %L => ロケール名
  %l => ロケールの言語 (’_’ の前の部分)
  %t => ロケールの地域 (’_’ と ’.’ の間の部分)
  %c => ロケールのエンコーディング (’.’ の後の部分)

XAPPLRESDIR

この変数はユーザがアプリケーション依存のリソースファイルを格 納 す る場所のベースディレクトリを指さなければならない。デフォルト 値は $HOME である。変数 XUSERFILESEARCHPATH が設定されていな い 場合しか使われない。

XKEYSYMDB

こ の変数は非標準のキーシンボル定義が書かれたファイルを指さなけ ればならない。デフォルト値は <XRoot>/lib/X11/XKeysymDB である。 この値は通常は /usr/X11R6/lib/X11/XKeysymDB である。

XCMSDB

この変数は色名称データベースファイルを指さなければなら ない。デフォルト値は <XRoot>/lib/X11/Xcms.txt である。この値 は 通常は /usr/X11R6/lib/X11/Xcms.txt である。

XFT_CONFIG

この変数は Xft ライブラリの設定ファイルを指さなければならない。 デフォルト値は <XRoot>/lib/X11/XftConfig である。これは通 常 は /usr/X11R6/lib/X11/XftConfig である。

RESOURCE_NAME

こ の値は、実行されているプログラムに所属するリソースに対する主 な識別子を与える。デフォルト値はプログラムのパス名のベース名 で ある。

SESSION_MANAGER

こ の値はアプリケーションが接続すべきセッションマネージャを指示 する。 xsm(1), rstart(1) を参照すること。

XF86BIGFONT_DISABLE

この変数に空でない値を設定すると、XFree86 の Bigfont 機能拡張が 無 効となる。この機能拡張は共有メモリを使うことによってメモリ消 費を抑制する機構である。

XKB_FORCE
XKB_DISABLE
XKB_DEBUG
_XKB_CHARSET
_XKB_LOCALE_CHARSETS
_XKB_OPTIONS_ENABLE
_XKB_LATIN1_LOOKUP
_XKB_CONSUME_LOOKUP_MODS
_XKB_CONSUME_SHIFT_AND_LOCK
_XKB_IGNORE_NEW_KEYBOARDS
_XKB_CONTROL_FALLBACK
_XKB_COMP_LED _XKB_COMP_FAIL_BEEP

これらの変数は X キーボード機能拡張に影響を与える。

以下は、よく使われるコマンドの一部のコマンド行のサンプルを集めたもの で あ る。それぞれのコマンドに関する詳しい情報については、そのコマンドのオ ンラインマニュアルを参照すること。

  %  xrdb $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 ’rgbi:.8/.8/.8’
  %  xset b 100 400 c 50 s 1800 r on
  %  xset q
  %  twm
  %  xmag
  %  xclock -geometry 48x48-0+0 -bg blue -fg white
  %  xeyes -geometry 48x48-48+0
  %  xbiff -update 20
  %  xlsfonts ’*helvetica*’
  %  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 $*
  %  xon filesysmachine xload

返り値

様々なプログラムが種々のエラーメッセージを生成する。 Xlib 内の標準の エ ラ ーハンドラ(ツールキットアプリケーションの多くも使用している)は、標準 リソースを使用してエラー発生時の診断メッセージを作成する。これらのメ ッ セ ージのデフォルト値は通常は <XRoot>/lib/X11/XErrorDB に格納されている 。このファイルが無い場合には、エラーメッセージは短すぎてわけのわから な いものになるだろう。

X ツールキットイントリンシクスがリソースの文字列を適切な内部書式に変換 するときにエラーが起こると、通常はエラーメッセージは出力されない。様 々 なディスプレイ(カラーとモノクロの場合、フォントが多い場合と少ない場合な ど)で 1 つのリソースの組み合わせを使いたいときには便利であるが、アプ リ ケ ーションがうまく動作しない理由を調べるときには問題になるだろう。この 挙動は StringConversionsWarning リソースを設定することにより上書きで き る。

X ツールキットイントリンシクスが常に文字列変換のエラーを出力するように 強制するには、xrdb プログラムを使って RESOURCE_MANAGER プロパティの内容 を ロ ー ドするファイル(ユーザのホームディレクトリにある .Xresources.Xres であることが多い)に次のリソースを加えること:

  *StringConversionWarnings: on

文字列変換のメッセージを特定のアプリケーションだけで出力させるには、 適 切なインスタンス名をアスタリスクの前に付ける:

  xterm*StringConversionWarnings: on

関連項目

XProjectTeam(7), XStandards(7), Xsecurity(7), appres(1), bdftopcf(1), bitmap(1), editres(1), fsinfo(1), fslsfonts(1), fstobdf(1), iceauth(1), imake(1), lbxproxy(1), makedepend(1), mkfontdir(1), oclock(1), proxymngr(1), rgb(1), resize(1), rstart(1), smproxy(1), twm(1), x11perf(1), x11perfcomp(1), xauth(1), xclipboard(1), xclock(1), xcmsdb(1), xconsole(1), xdm(1), xdpyinfo(1), xfd(1), xfindproxy(1), xfs(1), xfwp(1), xhost(1), xieperf(1), xinit(1), xkbbell(1), xkbcomp(1), xbkevd(1), xkbprint(1), xkbvleds(1), xkbwatch(1), xkill(1), xlogo(1), xlsatoms(1), xlsclients(1), xlsfonts(1), xmag(1), xmh(1), xmodmap(1), xon(1), xprop(1), xrdb(1), xrefresh(1), xrx(1), xset(1), xsetroot(1), xsm(1), xstdcmap(1), xterm(1), xwd(1), xwininfo(1), xwud(1). Xserver(1), Xdec(1), XmacII(1), Xsun(1), Xnest(1), Xvfb(1), XFree86(1), XDarwin(1), kbd_mode(1), Xlib − C Language X Interface, and X Toolkit Intrinsics − C Language Interface

登録商標

X Window System は X Consortium, Inc. の登録商標である。

著者

非常にたくさんの著者がいる。リリース 6.3 の配布物は X Consortium, Inc. が 配布している。ここに挙げるべき全ての人々の名前は個々のドキュメントや ソースファイルの中にある。このリリースに関わった X Consortium に在籍 す る スタッフは Donna Converse (名誉メンバ), Stephen Gildea (名誉メンバ), Kaleb Keithley, Matt Landau (名誉メンバ), Ralph Mor (名誉メンバ), Janet O’Halloran, Bob Scheifler, Ralph Swick, Dave Wiggins (名誉メンバ), Reed Augliere である。

X ウィンドウシステムの基本部分は、元々マサチ ュ ー セ ッ ツ 工 科 大 学 (Massachusetts Institute of Technology) の コ ン ピ ュータ科学研究所 (Laboratory for Computer Science)が開発し、その全ての権利は X コンソ ー シアムに 1994/01/01 付けで譲渡された。 X Consortium, Inc. は 1996/12/31 付けで解散した。X ウィンドウシステムに関する全ての権利は Open Software Foundation へ譲渡された。


FC5 · FC6 · MDV20070 · MDV20071 · MDV20080 · MDV20081 · MDV20090 · RH9 · RHEL4 · RHEL5 · SLES9 · SLES10 · SUSE101 · SUSE102 · SUSE103 · SUSE110 · SUSE111 · centos4 · centos5 · debian-etch · debian-sarge · debian-unstable · f7 · f8 · f9 · f10 · ubuntu606 · ubuntu610 · ubuntu704 · ubuntu710 · ubuntu804 · ubuntu810                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
No Banana Union - No Software Patents