FreeBSD QandA 1032
Q. ~/.Xresourcesと~/.Xdefaultsって、どう違うんですか?
A. ~/.Xdefaults は、xrdb でディスプレイに対してリソースを
登録して「無い」場合に、XToolkitアプリケーションが起動時に
サーバリソースデータベースとして読み込むファイルです。
つまり、xrdb -query として、登録済リソースが表示されるような
状況では、~/.Xdefaultsは参照されません。
ですから、Xのリソース設定に関しては
(1). ~/.Xresourcesに記述して、~/.xinitrc(~/.xsession)に
xrdb -merge $HOME/.Xresources
と書く。
(2). ~/.Xdefaultsに記述して、各Xアプリケーション(が使っている
ツールキットのライブラリ)に読み込ませる。
のどちらでもいいです。
ただ、(2)の場合、~/.Xdefaultsを編集した後にXアプリケーションを
起動すると、(xrdb を実行しなくても) 最新の情報が反映される、
という特徴があります。
しかし、Xクライアントを他のマシン上で実行している場合は
ローカルではなく、リモートの ~/.Xdefaults を読んでしまいます。
一方(1)は、Xクライアントをローカルで実行しようとリモートで
実行しようと、同じリソース設定が参照されます。つまり、
ディスプレイにプロパティとしてリソースを登録するのが xrdb なのです。
ですから、一応(1)が推奨される方法でしょう。
本来は ~/.Xresources というファイル名でなくてもいいのですが、
~/.xinitrcや~/.xsessionがない場合に実行される
/usr/X11R6/lib/X11/xinit/xinitrc
/usr/X11R6/lib/X11/xdm/Xsession
の中で ~/.Xresources というファイルを参照するようになっているので、
この慣例にならって ~/.Xresources というファイル名にしておくのが
無難でしょう。
間違い・追加情報を見付けた場合は、
修正案の投稿のしかた を読んだ上で、
QandA@jp.FreeBSD.org まで
お知らせください。