書式
xrdb [-option ...] [filename]説明
xrdb はスクリーン 0 のルートウィンドウの RESOURCE_MANAGER プロパティの内容、 あるいは任意または全てのスクリーンのルートウィンドウの SCREEN_RESOURCES プロパティの内容、あるいはこれらを結合したものの設定 や取得を行う。 通常は X の起動ファイルからこのコマンドを実行する。X のクライアントの大部分は、RESOURCE_MANAGER と SCREEN_RESOURCES プロ パティを用いて、アプリケーション用の色やフォント等のユーザの好みの設定 を取得する。この情報(全てのクライアントが使用できる)はディスク上ではな くサーバ内にあるので、X の前のバージョンでの問題であった、使用するであろ う全てのマシンの defaults ファイルを管理しなければならない点を解決 している。これにより、ファイルを編集せずにデフォルト値を動的に変更する ことも可能となった。
RESOURCE_MANAGER プロパティはディスプレイの全てのスクリーンで適用され るリソースに対して使われる。それぞれのスクリーンの SCREEN_RESOURCES プ ロパティは、そのスクリーンで使用される追加(または上書き)のリソースを指 定する。(スクリーンが 1 つしかない場合は、SCREEN_RESOURCES は通常使わ れず、全てのリソースは RESOURCE_MANAGER プロパティ内に置かれる。)
filename で指定したファイル(filename が - かファイル名の指定がなければ標準入力 からの内容)は、使われるサーバの機能に基づいて定義された以下のシンボル を用いて追加的に C プリプロセッサに渡される:
- SERVERHOST=hostname
- 接続するディスプレイのホスト名部分。
- SRVR_name
- SERVERHOST のホスト名文字列を有効な識別子に変える。 例えば、"my-dpy.lcs.mit.edu" は SRVR_my_dpy_lcs_mit_edu となる。
- HOST=hostname
- SERVERHOST と同じである。
- DISPLAY_NUM=num
- サーバホストでのディスプレイ番号。
- CLIENTHOST=hostname
- xrdb が動作しているホストの名前。
- CLNT_name
- CLIENTHOST のホスト名文字列を有効な識別子に変える。 例えば、"expo.lcs.mit.edu" は CLNT_expo_lcs_mit_edu となる。
- RELEASE=num
- サーバ用のベンダのリリース番号。この番号の解釈は VENDOR によって変化 する。
- REVISION=num
- このサーバがサポートしている X プロトコルのマイナーバージョン(現在は 0)。
- VERSION=num
- このサーバがサポートしている X プロトコルのメジャーバージョン(常に 11)。
- VENDOR=vendor
- サーバのベンダを示す文字列リテラル。
- VNDR_name
- VENDOR 名称の文字列を有効な識別子に変える。 例えば、"MIT X Consortium" は VNDR_MIT_X_Consortium となる。
- EXT_name
- サーバがサポートしているそれぞれのプロトコル機能拡張に対して定義されて いるシンボル。それぞれの機能拡張の名前は有効な識別子に変えられる。 例えば、"X3D-PEX" は EXT_X3D_PEX となる。
- NUM_SCREENS=num
- スクリーンの総数。
- SCREEN_NUM=num
- 現在のスクリーンの番号(0 から始まる)。
- BITS_PER_RGB=num
- RGB 色指定での最大のビット数。 これは、ハードウェアが生成できる各プライマリの異なるシェードの数につい て 2 を底とした対数を取ったものである。これは通常は PLANES とは関係な い点に注意すること。
- CLASS=visualclass
- StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor, DirectColor のいずれか。これはルートウィンドウのビジュアルクラスである。
- CLASS_visualclass=visualid
- #ifdef の形式で指定できるルートウィンドウのビジュアルクラス。 この値はヴィジュアルのID の数値である。
- COLOR
- CLASS が StaticColor, PseudoColor, TrueColor, DirectColor のいずれかの 場合に限って定義される。
- CLASS_visualclass_depth=num
- スクリーンがサポートしている各ビジュアルに対して定義されるシンボル。 このシンボルはビジュアルのクラスと深さを持つ。この値はビジュアルの数値 ID である。(複数のビジュアルが同じクラスと深さを持つ場合、サーバが最初 に報告したビジュアルの数値 ID が使われる。)
- HEIGHT=num
- ルートウィンドウの高さのピクセル数。
- WIDTH=num
- ルートウィンドウの幅のピクセル数。
- PLANES=num
- ルートウィンドウのビットプレーンの個数(深さ)。
- X_RESOLUTION=num
- スクリーンの X 方向解像度(メートル当りのピクセル数)。
- Y_RESOLUTION=num
- スクリーンの Y 方向解像度(メートル当りのピクセル数)。
SRVR_name, CLNT_name, VNDR_name, EXT_name の識別子は、文字と数字以外のすべての文字をアンダースコア(下線, _)に変 更した形式である。
感嘆符(!)で始まる行は無視され、コメントとして扱われる。
xrdb は標準入力から読み込むことができるので、端末やシェルスクリプトから直接 プロパティの内容を変更できる点に注意すること。
オプション
xrdb プログラムでは次のオプションが使える:
- -help
- このオプション(またはサポートされていないオプション)を指定すると、使用 可能なオプションとパラメータの短い説明が出力される。
- -display display
- このオプションは使用する X サーバを指定する。X(7) を参照すること。 -screen オプションで使用するスクリーンも指定する。これは、 -global に対するプリプロセッサシンボルを求めるスクリーンを指定す る。
- -all
- このオプションを指定すると、スクリーン独立のリソースプロパティ (RESOURCE_MANAGER)と、ディスプレイの全てのスクリーンのスクリーン固有の プロパティ(SCREEN_RESOURCES)に対する操作が行われる。例えば、 -query と一緒に用いると、全てのプロパティの内容が出力される。 -load, -override, -merge の場合には、それぞれのスク リーンで 1 回づつ入力ファイルが処理される。全てのスクリーンに対する出 力のうち共通に起こるリソースは集められ、これらはスクリーン独立のリソー スとして適用される。残りのリソースは、スクリーン毎の個々のプロパティに 適応される。これがデフォルトの操作モードである。
- -global
- このオプションを指定すると、スクリーン独立の RESOURCE_MANAGER プロパティ に対してのみ操作が行われる。
- -screen
- このオプションを指定すると、ディスプレイのデフォルトスクリーンの SCREEN_RESOURCES プロパティに対してのみ操作が行われる。
- -screens
- このオプションを指定すると、ディスプレイのそれぞれのスクリーンの SCREEN_RESOURCES プロパティに対して操作が行われる。 -load, -override と -merge オプションを指定した場合、 入力ファイルはそれぞれのスクリーンに対して処理される。
- -n
- このオプションを指定すると、指定したプロパティ(-load, -override または -merge と一緒に使用した場合)やリソース (-edit と一緒に使用した場合)に対する変更内容が標準出力に出力され るが、実際の実行は行われない。
- -quiet
- このオプションを指定すると、重複しているエントリに対して警告を表示しない。
- -cpp filename
- このオプションは、使用する C プリプロセッサプログラムのパス名を指定する。 xrdb は CPP を使うように設計されているが、フィルタとして動作し、かつ -D, -I, -U オプションを使えるのであれば、どんなプログラムでも プリプロセッサとして利用できる。
- -nocpp
- このオプションを指定すると、 xrdb は入力ファイルをプリプロセッサを通ってもプロパティをロードしないうちは 実行しない。
- -symbols
- このオプションを指定すると、プリプロセッサ用に定義されたシンボルは標準 出力に出力される。
- -query
- このオプションを指定すると、指定したプロパティの現在の内容が標準出力に 出力される。 入力リソースファイル中のプリプロセッサコマンドは、プロパティの一部では なく入力ファイルの一部なので、このオプションを指定したときに得られる 出力に現れない点に注意すること。 -edit オプションを使うと、プリプロセッサコマンドを壊すことなく、 プロパティの内容を入力リソースファイルにマージして書き戻すことができる。
- -load
- このオプションを指定すると、入力は指定したプロパティの新しい値として ロードされ、既存のものと置き換わる(つまり、古い内容は消去される)。 これはデフォルトの動作である。
- -override
- このオプションを指定すると、入力は指定したプロパティの現在の内容と 置き換わるのではなく追加される。重複しているエントリについては、 新しいエントリが前のエントリを上書きする。
- -merge
- このオプションを指定すると、入力は指定したプロパティの現在の内容と 置き換わるのではなく、マージされた上で辞書順にソートされる。
- -remove
- このオプションを指定すると、指定したプロパティがサーバから削除される。
- -retain
- このオプションを指定すると、xrdb が最初のクライアントの場合にサー バがリセットしないように指示される。xdm と xinit は必ず最 初のクライアントとして動作するので、このオプションが通常の条件下で必要 になることがはない。
- -edit filename
- このオプションを指定すると、指定したプロパティの内容は編集されて結果が 指定されたファイルに格納される。この際には既にリストされている値は全て 置き換えられる。このオプションを使うと、コメントやプリプロセッサ行を保 存したままでデフォルト値に行った変更をリソースファイルに書き戻すことが できる。
- -backup string
- このオプションは -edit で作成されるバックアップファイルに付けるサフィックスを指定する。
- -Dname[=value]
- このオプションはプリプロセッサへ渡され、 #ifdef 等の条件で使用するシンボルを定義するために使われる。
- -Uname
- このオプションはプリプロセッサへ渡され、このシンボルの定義を全て消去す るために使われる。
- -Idirectory
- このオプションはプリプロセッサへ渡され、 #include によって参照するファイルを探すディレクトリを指定するために使われる。
ファイル
一般化した ~/.Xdefaults ファイル。環境変数
- DISPLAY
- 使うディスプレイを指定する。
バグ
他のプログラムと矛盾を起こさないようにするために、引き数がない場合の デフォルトの動作は上書きではなく問い合わせになっているべきである。
著者
Bob Scheifler, Phil Karlton が Jim Gettys の書いたオリジナル版を 書き直した。