「X リソース」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) 細 (Kusanaginoturugi がページ「X resources」を「X リソース」に移動しました: より一般的な名称に変更) |
Kusanaginoturugi (トーク | 投稿記録) (→使用例: 英語版より記事を追加) |
||
134行目: | 134行目: | ||
-*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
-*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
− | ==使用 |
+ | == 使用法 == |
− | 以下の例を見ることで Xresources ファイルを使用してどうやってアプリケーションの設定を変更するのか理解できるはずです。[https://gist.github.com/anonymous/fa98de9fd70b51611303] にはもっとサンプルがあります。わからないときはアプリケーションの man ページも参照してください。 |
||
+ | === リソースファイルの読み込み === |
||
− | * [[コンソールのカラー出力#ターミナルエミュレータ]] |
||
+ | |||
− | * [[カーソルテーマ#X resources]] |
||
+ | リソースは X サーバーに保存されるため、一度だけ読み込めばよいです。また、''リモート'' の X11 クライアント(例えば [[OpenSSH#X11 フォワーディング|SSH 経由で転送]] されるもの)からもアクセスできます。 |
||
− | * [[フォント設定#fontconfig をサポートしていないアプリケーション]] |
||
+ | |||
− | * [[Xterm#リソースファイルの設定]] |
||
+ | リソースファイル(一般的な {{ic|.Xresources}} など)を読み込み、現在の設定を置き換えます: |
||
− | * [[Rxvt-unicode#設定]] |
||
+ | |||
− | * {{man|1|xpdf|OPTIONS}} |
||
+ | $ xrdb ''~/.Xresources'' |
||
+ | |||
+ | リソースファイルを読み込み、現在の設定にマージします: |
||
+ | |||
+ | $ xrdb -merge ''~/.Xresources'' |
||
+ | |||
+ | {{Note| |
||
+ | * ほとんどの [[ディスプレイマネージャ]]はログイン時に {{ic|~/.Xresources}} ファイルを読み込みます。 |
||
+ | * 古い {{ic|~/.Xdefaults}} ファイルは X11 プログラムが開始されるときに読み込まれますが、現在のセッションで ''xrdb'' が使用されていない場合に限ります。 [https://groups.google.com/forum/#!msg/comp.windows.x/hQBEdql8l-Q/hF3DETcIHGwJ] |
||
+ | }} |
||
+ | |||
+ | === xinitrc === |
||
+ | |||
+ | デフォルトの [[xinitrc]] のコピーを {{ic|.xinitrc}} として使用している場合、それはすでに {{ic|~/.Xresources}} をマージしています。 |
||
+ | |||
+ | カスタムのものを使用している場合は、次を追加します: |
||
+ | |||
+ | {{hc|.xinitrc|<nowiki>[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources</nowiki>}} |
||
+ | |||
+ | {{Note|{{ic|~/.xinitrc}} 内で xrdb コマンドをバックグラウンドにしないでください。そうしないと、xrdb の後に起動したプログラムがリソースを読み込む前にリソースを探すことがあります。}} |
||
+ | |||
+ | === リソース値の取得 === |
||
+ | |||
+ | リソースの値を取得したい場合(例えば、bash スクリプトで使用したい場合)、{{AUR|xgetres}} を使用できます: |
||
+ | |||
+ | $ xgetres xscreensaver.Dialog.headingFont |
||
+ | -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
== トラブルシューティング == |
== トラブルシューティング == |
2024年7月2日 (火) 19:01時点における版
X リソースファイル はユーザーレベルの設定ドットファイルで、通常は ~/.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
))
- 区切り文字
- ドット (
.
) は階層を一つ下ることを示します。上記の例では、名前、クラス、リソースの順番で降りて行っています。コロン (:
) はリソースの宣言と値を分けるのに使われます。
ワイルドカードマッチ
クエスチョンマークとアスタリスクはワイルドカードとして使うことができ、一つのルールを多数のアプリケーションやエレメントに適用することができます。?
はどれかひとつのコンポーネントの名前にマッチし、*
は任意の数のコンポーネントを表します。
前記の例であれば、XScreenSaver だけでなく、クラス名 Dialog
にリソース名 headingFont
を含む全てのプログラムに同じフォントを適用したい場合、以下のように記述できます:
?.Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
クラスは関係なくリソース headingFont
を含む全てのプログラムに同一のルールを適用したい場合、以下のように記述します:
*headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
ワイルドカードのマッチングルールについて詳しくは XrmGetResource(3) § MATCHING_RULES を参照してください。
コメント
Xresources ファイルにコメントを付けたいときは、コメントの前にエクスクラメーションマークを付けて下さい (!
)、例:
! 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
リソースの値を取得
(bash スクリプトなどで使いたい場合) xgetresAUR を使うことでリソースの値を取得できます:
$ xgetres xscreensaver.Dialog.headingFont -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
使用法
リソースファイルの読み込み
リソースは X サーバーに保存されるため、一度だけ読み込めばよいです。また、リモート の X11 クライアント(例えば SSH 経由で転送 されるもの)からもアクセスできます。
リソースファイル(一般的な .Xresources
など)を読み込み、現在の設定を置き換えます:
$ xrdb ~/.Xresources
リソースファイルを読み込み、現在の設定にマージします:
$ xrdb -merge ~/.Xresources
xinitrc
デフォルトの xinitrc のコピーを .xinitrc
として使用している場合、それはすでに ~/.Xresources
をマージしています。
カスタムのものを使用している場合は、次を追加します:
.xinitrc
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
リソース値の取得
リソースの値を取得したい場合(例えば、bash スクリプトで使用したい場合)、xgetresAUR を使用できます:
$ xgetres xscreensaver.Dialog.headingFont -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
トラブルシューティング
解析エラー
GDM などのディスプレイマネージャは xrdb で --nocpp
引数を使用することがあります。
xrdb -query からの出力が無い
xrdb -query
が何も出力しないことも珍しくありません。上記の リソースファイルのロード と xinitrc に従ってみてください。 また、そこに記載されているファイルの一部が空である可能性があることに注意してください。
参照
- Using the Xdefaults File - X が Xdefaults ファイルをどのように解釈するのか説明した記事