回答:
~/.Xdefaults
Xリソースを保存する古い方法です。このファイルは、Xlibプログラムが起動するたびに再読み込みされます。X11をネットワーク経由で使用する場合、ファイルはプログラムと同じファイルシステムに存在する必要があります。
~/.Xresources
より新しいです。それがロードされるxrdb
にRESOURCE_MANAGER
X11のルートウィンドウのプロパティ。プログラムがリソースを検索するたびに、から直接読み取られRESOURCE_MANAGER
ます。
このプロパティが存在しない場合、Xlibは.Xdefaults
すべてのプログラム起動時に古い読み取り方法に戻ります。ほとんどのディストリビューション~/.Xresources
は、存在する場合は自動的にロードされるため、手動で.Xdefaults
実行したことがない場合でも無視されることに注意してくださいxrdb
。
新しいメソッドの利点は、xrdb
一度呼び出すだけで十分であり、ローカルまたはリモートに関係なく、このディスプレイで実行されているすべてのプログラムがリソースを利用できることです。(名前~/.Xresources
は単なる慣習です。xrdb
任意のファイルをロードするために使用できます.Xdefaults
。)
XlibプログラミングマニュアルP.441:
X11R2より前は、Xリソース設定はユーザーのホームディレクトリの.Xdefaultsファイルから読み取られ、オプションでXクライアントが実行されているマシンで読み取られたため、複数のファイルを維持するのは困難でした。
その後、xrdbプログラムは、.Xresourcesのユーザーリソース設定を現在のXサーバーのルートウィンドウのXA_RESOURCE_MANAGERプロパティに保存するようになり、同じサーバーに接続されているすべてのクライアントがそれらにアクセスできるようになりました。ユーザーがxrdbを呼び出してプロパティを設定していない場合、.Xdefaultsが読み取られます。
[...] Xリソースは、すべての画面に適用されるか特定の画面に適用されるかに応じて、2つの標準の場所に保存されます。
- 画面0のルートウィンドウのRESOURCE_MANAGERプロパティ
- 任意の画面のルートウィンドウのSCREEN_RESOURCESプロパティ
それで終わりではありません。
$XENVIRONMENT
変数もあり、設定されていない場合はデフォルトになります。これは、同じ方法で使用されているが、常に関係なく、かどうかの読みが存在します。ファイルを使用して、一部の設定をマシン固有に保ちながら、グローバル設定を使用できます。~/.Xdefaults-hostname
.Xdefaults
RESOURCE_MANAGER
.Xdefaults-hostname
xrdb
以下にリストされている項目#4と#5は両方とも、純粋なXlibプログラムでのみ使用されるように見えます。GTK3や他のツールキットでは使用されません。
4番目の場所は、$XAPPLRESDIR
環境変数が指すディレクトリです。(奇妙なことに、変数が設定$HOME
されていない場合はデフォルトとして使用されます。)プログラムが起動されると、次のファイルのいずれかが存在するかどうかが調べられます(ファイル名はプログラムのクラス名と同じです):
$XAPPLRESDIR/$LC_CTYPE/XTerm
$XAPPLRESDIR/language/XTerm
$XAPPLRESDIR/XTerm
(最初のコンポーネント以外のすべてを除去language
すること$LC_CTYPE
により派生します。たとえば、en_US.utf-8
→ en
。)
第五の位置は、システム全体「のapp-defaults」ディレクトリです。繰り返しますが、app-defaultsディレクトリは、プログラムにちなんだ名前のファイルがある場合、プログラムの起動時にチェックされます。たとえば、XTerm(Arch Linux)では次を使用します。
/etc/X11/$LC_CTYPE/app-defaults/XTerm
/etc/X11/language/app-defaults/XTerm
/etc/X11/app-defaults/XTerm
/usr/share/X11/$LC_CTYPE/app-defaults/XTerm
/usr/share/X11/language/app-defaults/XTerm
/usr/share/X11/app-defaults/XTerm
app-defaultsファイルは通常/usr/share
、プログラム自体とともにインストールされます。管理者のオーバーライドはに行きます/etc
。
上記のすべての詳細は、X.orgツールキットのドキュメント(記事X Toolkit Intrinsics-C Language Interfaceのセクション「Resource Databaseのロード」)で詳しく説明されています。
残念ながら、私は(読み:恐ろしく時代遅れの)彼らは今年2012年にしかし、歴史のために無関係である主な理由は、Xのリソースを記述する任意の最近のユーザーガイドを見つけることができなかった情報を、あなたが読むことができますX11 R3とR4のためのX Window SystemのユーザーガイドをX Window Systemセクション9:リソースの設定(181ページから始まる)の。
xrdb
しているこれまでのログイン以来、このXディスプレイのために実行されて-であるXのrootプロパティが存在する場合、 -その後、Xlibはまったくもう.Xdefaultsファイルを使用しません。