理工系研究者のための Mac OS X, Windows, Linux メモ
 

.Xdefaultsと.Xresourcesの違い

参考:UNIXの部屋

.Xdefaultsと.Xresourcesは共に、X window Systemのリソースを設定するファイル。.Xresources はこの名前でなければいけない訳では無くて、慣例としてこの名前になっている。

それぞれの Xのアプリケーションは起動する毎に .Xdefaults を参照する。

リソース設定をすることで、Xのアプリケーションのデフォルトの設定を指定することができる。

例えばktermのウインドウの大きさを 90x30にしたいならば .Xdefaults に次のように書く。

KTerm*VT100*geometry: 90x30

.Xdefaults中でコメントアウトするには、!を用いる。

.Xresourcesに書いた設定を反映させるにはリソースデータベースに読み込ませる必要がある。そのためには、

% xrdb -merge .Xresources

を実行する。システムデフォルトのリソース設定を上書きしないように -merge オプションでマージするようにする。.Xresources は自動的には読み込まれないので、起動時に読み込むようにするためには ~/.xinitrc や ~/.xsession に、

% xrdb -merge $HOME/.Xresources

と書く。データベースを確認するには、

% xrdb -query

とする。通常は .Xdefaults を用いた方が便利だが、Xアプリケーションを他の端末からリモートで使う場合には .Xdefaults と .Xresources の違いがあらわれる。

ローカルホストからリモートホストにログインし(ssh, telnetなど)、リモートホストのXアプリをローカルホストに飛ばして使う場合を考える。リモートホストに.Xdefaultsが存在している場合、起動しようとしているXアプリケーションはリモートホストに存在する.Xdefaultsを読み込む。.Xdefaultsが無ければ、ローカルホストでxrdbによって設定してあるリソース設定を読み込む。