「X リソース」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→参照: add TranslationStatus) |
Kusanaginoturugi (トーク | 投稿記録) (序文を修正) |
||
10行目: | 10行目: | ||
'''X リソースファイル''' はユーザーレベルの設定''ドットファイル''で、通常は {{ic|~/.Xresources}} に存在します。X クライアントアプリケーションの設定パラメータである [[Wikipedia:X resources|X resources]] を設定するのに使われます。 |
'''X リソースファイル''' はユーザーレベルの設定''ドットファイル''で、通常は {{ic|~/.Xresources}} に存在します。X クライアントアプリケーションの設定パラメータである [[Wikipedia:X resources|X resources]] を設定するのに使われます。 |
||
+ | 特に次の目的で使用できます: |
||
− | Xresources は様々な設定をすることができます、例えば: |
||
− | * ターミナルの |
+ | * ターミナル環境の設定(例:ターミナルの色) |
− | * ターミナルの設定 |
||
* DPI やアンチエイリアス、ヒンティングなど X [[フォント]]の設定 |
* DPI やアンチエイリアス、ヒンティングなど X [[フォント]]の設定 |
||
* X [[カーソルテーマ]]の変更 |
* X [[カーソルテーマ]]の変更 |
||
20行目: | 19行目: | ||
== インストール == |
== インストール == |
||
+ | |||
{{pkg|xorg-xrdb}} パッケージを[[インストール]]してください。 |
{{pkg|xorg-xrdb}} パッケージを[[インストール]]してください。 |
||
2024年7月2日 (火) 19:19時点における最新版
X リソースファイル はユーザーレベルの設定ドットファイルで、通常は ~/.Xresources
に存在します。X クライアントアプリケーションの設定パラメータである X resources を設定するのに使われます。
特に次の目的で使用できます:
- ターミナル環境の設定(例:ターミナルの色)
- DPI やアンチエイリアス、ヒンティングなど X フォントの設定
- X カーソルテーマの変更
- xscreensaver のテーマ設定
- 低水準 X アプリケーションの設定 (xorg-xclock, xpdf, rxvt-unicode など)
目次
インストール
設定
X(7) § RESOURCES および XrmGetDatabase(3) § FILE SYNTAX には、X リソースのメカニズムとファイル構文に関する詳細情報が記載されています。
~/.Xresources
は一般的なファイル名であり、xrdb
はこれを独自に扱っているわけではありません。他のファイル名(例えば ~/.config/X11/Xresources
や ~/.config/X11/Xresources.d/application-name
)を使用することもできます(#サンプルおよび#インクルードファイルも参照)。
基本構文
X リソースファイルの構文は以下のような リソース行 のシーケンスです:
application_name.Class.resourceName: value application_name.resourceName: value Class.resourceName: value application_name*resourceName: value *resourceName: value
application_name
と Class
のサブストリングにはドット(.
)は含まれませんが、resourceName
のサブストリングにはドットが含まれる場合があります。例えば、Dialog.bodyFont
は XScreenSaver の内部リソースであり、本文フォントおよびフォールバックフォントを設定するために指定されます:
xscreensaver-auth.default.Dialog.bodyFont: times new roman 12, dejavu serif 12
- application_name
- アプリケーションの名前、例えば
urxvt
,xpdf
,xterm
など。 インスタンス名 とも呼ばれます。
- Class
- リソースをまとめるために使用される分類。クラス名は通常大文字です。
- resourceName
- 値を設定するリソースの名前。リソースは通常、連結された大文字と小文字で表されます。
- value
- リソースの実際の値。これには次の3種類があります:
- 整数(整数値)
- ブール値(true/false、yes/no、on/off)
- 文字列(文字の列)— 例えば単語(
white
)、色(#ffffff
)、またはパス(/usr/bin/firefox
)
- 区切り文字
- ドット(
.
)は tight binding であり、直近のコンポーネントを分離するために使用されます(つまり、階層の各ステップを示す)。上記の例では、アプリケーション名から始まり、クラスに降り、最後にリソース自体に降ります。 - アスタリスク(
*
)は loose binding であり、何らかのコンポーネントを表すために使用されます(含まれない場合もあります)。 - コロン(
:
)はリソース名と値を分離するために使用されます。
ワイルドカードマッチング
クエスチョンマーク(?
)とアスタリスク(*
)はワイルドカードとして使用でき、多くの異なるアプリケーションや要素に適用できる単一のルールを書くのが簡単になります。?
は任意の単一のコンポーネント名に一致し、*
は任意の数の中間コンポーネントを含むものに一致します。
前述の例を使用して、クラス名に Dialog
を含むすべてのプログラムに同じフォントを適用したい場合(XScreenSaver に限らず)、次のように書くことができます:
?.Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
クラスに関係なく、headingFont
リソースを含むすべてのプログラムに同じルールを適用したい場合は、次のように書くことができます:
*headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
詳細については XrmGetResource(3) § MATCHING RULES を参照してください。
コメント
感嘆符(!
)で始まる行は無視されます。例えば:
! 次のルールはコメントアウトされているため無視されます !Xft.antialias: true
インクルードファイル
リソース設定を複数のファイルに分けるため(例:各アプリケーションに独自のファイルを使用するため)、C preprocessor の #include
ディレクティブ を使用します:
~/.config/X11/Xresources
#include "Xresources.d/fonts" #include "Xresources.d/rxvt-unicode" #include "Xresources.d/xscreensaver" #include "Xresources.d/xterm"
#include で参照されるファイルが適用される設定ファイルのディレクトリから到達できない場合は、検索するディレクトリを渡す必要があります:
$ xrdb -load -I${HOME}/.config/X11 ~/.Xresources
デフォルト設定
インストールされている X11 アプリケーションのデフォルト設定を確認するには、/usr/share/X11/app-defaults/
を参照してください。
プログラム固有のリソースに関する詳細情報は通常、プログラムの man ページに記載されています。xterm(1) § RESOURCES はその良い例であり、X リソースとそのデフォルト値のリストが含まれています。
現在ロードされているリソースを確認するには:
$ xrdb -query -all
サンプル
- コンソールのカラー出力#ターミナルエミュレータ
- カーソルテーマ#X リソース
- フォント設定#fontconfig をサポートしていないアプリケーション
- rxvt-unicode#設定
- xpdf(1) § OPTIONS
- Xterm#設定
- klassiker (mrdotx) — Rxvt-unicode パッチ開発者のドットファイル
使用法
リソースファイルの読み込み
リソースは 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 ファイルをどのように解釈するのか説明した記事
- Overlooked Points of X Resources by Thomas Dickey