UNIX/Linuxの部屋 設定ファイル:~/.Xdefaults

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




設定ファイル ~/.Xdefaults X Window System のリソース設定を記述するファイル このエントリーをはてなブックマークに追加

X Window System のリソース設定とは、第二の環境変数のようなもので、X アプリケーションの設定を決めることができる。環境変数は子プロセスにだけ引き継がれるが、X のリソースは全ての X クライアントに反映される。

kterm の起動時に、ウィンドウが 90x45 の大きさになってほしいとしよう。この場合
% kterm -geometry 90x45
とタイプすればよい。タイプがめんどくさいなら、
% alias kterm kterm -geometry 90x45
とすれば
% kterm
だけで 90x45 のウィンドウが開くようになる。しかし、これではウィンドウマネージャのメニューから kterm を起動した場合は -geometry が認識されない。もちろんウィンドウマネージャの設定ファイルにも「kterm -geometry 90x45」と書けばいいのだが、ここで 91x50 に設定を変更したい場合、alias を設定したファイルと、ウィンドウマネージャの設定ファイルの両方を書き換えなければならず面倒である。

ここにリソース設定の存在意義がある。上記の例では ~/.Xdefaults に、
KTerm*VT100*geometry: 90x45
と書いておけば、その後起動される kterm のウィンドウサイズは 90x45 になるし、ウィンドウマネージャから実行しても同じ設定となる。

つまりリソースを設定すると、X アプリケーションの設定を一元管理できるわけである。

普通、「command」という名前の X アプリケーションは、「command.foo.bar」などというリソース名を参照する。例えば kterm は「KTerm.VT100.font」、emacsなら「emacs.Geometry」などを参照する。kterm は「KTerm...」、emacs は「emacs...」と、大文字小文字の違いに注意。一部のコマンドのリソース名は先頭文字が大文字だが、そうでないものもある。これは各アプリケーションの man を読んでチェックするしかないだろう (と思う)。

なお、行頭に「!」を付けると、その行はコメント行とみなされる。

~/.Xresources との違いは ~/.Xresources の項を参照してほしい。