X リソース
Xresources はユーザーレベルの設定ドットファイルで、通常は ~/.Xresources
に存在します。X クライアントアプリケーションの設定パラメータである X resources を設定するのに使われます。
Xresources は様々な設定をすることができます、例えば:
- ターミナルの色の定義
- ターミナルの設定
- DPI やアンチエイリアス、ヒンティングなど X フォントの設定
- X カーソルテーマの変更
- xscreensaver のテーマ設定
- ローレベルな X アプリケーションの設定 (xorg-xclock, xpdf, rxvt-unicode など)
目次
インストール
使用方法
リソースファイルのロード
リソースは X サーバーに保存されるため、一度だけ読み込む必要があります。また、リモートの X11 クライアントからもアクセスできます (SSH 経由でフォワーディングされる場合など)。
リソースファイルをロードして現在の設定を置き換えるには:
$ xrdb ~/.Xresources
リソースファイルをロードして現在の設定とマージするには:
$ xrdb -merge ~/.Xresources
xinitrc
デフォルトの xinitrc のコピーを .xinitrc
として使っている場合、既に ~/.Xresources
はマージされています。
カスタムした .xinitrc
を使っている場合、以下の行を追加してください:
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
デフォルト設定
インストールした X11 アプリのデフォルト設定を確認したいときは、/usr/share/X11/app-defaults/
の中を見て下さい。
プログラムの resources に関する詳細はプログラムの man ページに大抵記述されています。xterm の man ページなどが良い例で、X resources とデフォルト値のリストが載っています。
現在ロードされている resources を確認するには:
xrdb -query -all
Xresources の構文
基本構文
Xresources ファイルの構文は以下の通りです:
name.Class.resource: value
実際の例:
xscreensaver.Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
- name
- アプリケーションの名前。xterm や xpdf など。
- class
- リソースをグループ化するのに使われるクラス。クラスの名前は一文字目を大文字にします。
- resource
- 値を変更するリソースの名前。リソースは小文字+大文字で表現します。
- value
- リソースの値。3つのタイプが存在します:
- Integer (数字)
- Boolean (true/false, yes/no, on/off)
- String (文字列) (例: 単語 (
white
), 色 (#ffffff
), パス (/usr/bin/firefox
))
- 区切り文字
- ドット (
.
) は階層を一つ下ることを示します。上記の例では、名前、クラス、リソースの順番で降りて行っています。コロン (:
) はリソースの宣言と値を分けるのに使われます。
ワイルドカードマッチ
アスタリスクをワイルドカードとして使うことができ、一つのルールを多数のアプリケーションやエレメントに適用することができます。
Using the previous example, if you want to apply the same font to all programs (not just XScreenSaver) that contain the class name Dialog
which contains the resource name headingFont
, you would write:
*Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
If you want to apply this same rule to all programs that contain the resource headingFont
, regardless of its class, you would write:
*headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
コメント
Xresources ファイルにコメントを付けたいときは、コメントの前にエクスクラメーションマークを付けて下さい (!
)、例:
! This is a comment placed above some Xft settings Xft.dpi: 96 ! this is an inline comment
! The following rule will be ignored because it has been commented out !Xft.antialias: true
ファイルのインクルード
アプリケーションごとに別々のファイルを使いたい場合、メインファイルで #include
を使ってください。例:
~/.Xresources
#include ".Xresources.d/xterm" #include ".Xresources.d/rxvt-unicode" #include ".Xresources.d/fonts" #include ".Xresources.d/xscreensaver"
ファイルのロードが失敗する場合、xrdb に -I
パラメータを付けてディレクトリを指定してください。例:
~/.xinitrc
xrdb -I$HOME ~/.Xresources
使用例
以下の例を見ることで Xresources ファイルを使用してどうやってアプリケーションの設定を変更するのか理解できるはずです。[2] にはもっとサンプルがあります。わからないときはアプリケーションの man ページも参照してください。
ターミナルカラー
コンソールのカラー出力#ターミナルエミュレータを見てください。
Xcursor
カーソルテーマ#X resources を見てください。
Xft
フォント設定#fontconfig をサポートしていないアプリケーションを見てください。
Xterm
Xterm#リソースファイルの設定を見てください。
rxvt-unicode
Rxvt-unicode#設定を見てください。
Xpdf
man xpdf の Options
を見てください。
トラブルシューティング
解析エラー
GDM などのディスプレイマネージャは xrdb で --nocpp
引数を使用することがあります。
参照
- Using the Xdefaults File - An in-depth article on how X interprets the Xdefaults file