「X resources」の版間の差分
(同期) |
(→コメント: 同期) |
||
(4人の利用者による、間の5版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:設定ファイル]] |
[[Category:X サーバー]] |
[[Category:X サーバー]] |
||
[[de:Xdefaults]] |
[[de:Xdefaults]] |
||
[[en:X resources]] |
[[en:X resources]] |
||
[[ru:X resources]] |
[[ru:X resources]] |
||
+ | {{Related articles start}} |
||
+ | {{Related|X Logical Font Description}} |
||
+ | {{Related|ドットファイル}} |
||
+ | {{Related articles end}} |
||
'''Xresources''' はユーザーレベルの設定''ドットファイル''で、通常は {{ic|~/.Xresources}} に存在します。X クライアントアプリケーションの設定パラメータである [[Wikipedia:X resources|X resources]] を設定するのに使われます。 |
'''Xresources''' はユーザーレベルの設定''ドットファイル''で、通常は {{ic|~/.Xresources}} に存在します。X クライアントアプリケーションの設定パラメータである [[Wikipedia:X resources|X resources]] を設定するのに使われます。 |
||
10行目: | 14行目: | ||
* ターミナルの色の定義 |
* ターミナルの色の定義 |
||
* ターミナルの設定 |
* ターミナルの設定 |
||
− | * DPI やアンチエイリアス、ヒンティングなど X フォントの設定 |
+ | * DPI やアンチエイリアス、ヒンティングなど X [[フォント]]の設定 |
− | * X カーソルテーマの変更 |
+ | * X [[カーソルテーマ]]の変更 |
− | * xscreensaver のテーマ設定 |
+ | * [[xscreensaver]] のテーマ設定 |
− | * |
+ | * 低水準 X アプリケーションの設定 ({{Pkg|xorg-xclock}}, {{Pkg|xpdf}}, [[rxvt-unicode]] など) |
− | |||
− | {{Note|{{ic|~/.Xdefaults}} の使用は非推奨となっているので、この記事では xrdb でロードされる resources のみを扱います。}} |
||
== インストール == |
== インストール == |
||
24行目: | 26行目: | ||
=== リソースファイルのロード === |
=== リソースファイルのロード === |
||
− | リソースは X サーバーに保存されるため、一度だけ読み込む必要があります。また、リモートの X11 クライアントからもアクセスできます (SSH 経由でフォワーディングされる場合など)。 |
+ | リソースは X サーバーに保存されるため、一度だけ読み込む必要があります。また、リモートの X11 クライアントからもアクセスできます (SSH 経由で[[Secure Shell#X11 フォワーディング|フォワーディング]]される場合など)。 |
リソースファイルをロードして現在の設定を置き換えるには: |
リソースファイルをロードして現在の設定を置き換えるには: |
||
47行目: | 49行目: | ||
<nowiki>[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources</nowiki> |
<nowiki>[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources</nowiki> |
||
− | {{ |
+ | {{Note|{{ic|~/.xinitrc}} の中で xrdb コマンドをバックグラウンドで実行してはいけません。リソースがロードされる前に xrdb の後に起動したプログラムがリソースを検索してしまう可能性があります。}} |
===デフォルト設定=== |
===デフォルト設定=== |
||
55行目: | 57行目: | ||
現在ロードされている resources を確認するには: |
現在ロードされている resources を確認するには: |
||
− | xrdb -query -all |
+ | $ xrdb -query -all |
===Xresources の構文=== |
===Xresources の構文=== |
||
81行目: | 83行目: | ||
;区切り文字 |
;区切り文字 |
||
:ドット ({{ic|'''.'''}}) は階層を一つ下ることを示します。上記の例では、名前、クラス、リソースの順番で降りて行っています。コロン ({{ic|''':'''}}) はリソースの宣言と値を分けるのに使われます。 |
:ドット ({{ic|'''.'''}}) は階層を一つ下ることを示します。上記の例では、名前、クラス、リソースの順番で降りて行っています。コロン ({{ic|''':'''}}) はリソースの宣言と値を分けるのに使われます。 |
||
+ | |||
+ | {{Note|Xresources ファイルの構文についてさらに詳しくは {{man|3|XrmGetDatabase|FILE_SYNTAX}} を見てください。}} |
||
====ワイルドカードマッチ==== |
====ワイルドカードマッチ==== |
||
− | アスタリスク |
+ | クエスチョンマークとアスタリスクはワイルドカードとして使うことができ、一つのルールを多数のアプリケーションやエレメントに適用することができます。{{ic|?}} はどれかひとつのコンポーネントの名前にマッチし、{{ic|*}} は任意の数のコンポーネントを表します。 |
+ | 前記の例であれば、XScreenSaver だけでなく、クラス名 {{ic|Dialog}} にリソース名 {{ic|headingFont}} を含む全てのプログラムに同じフォントを適用したい場合、以下のように記述できます: |
||
− | Using the previous example, if you want to apply the same font to all programs (not just XScreenSaver) that contain the class name {{ic|Dialog}} which contains the resource name {{ic|headingFont}}, you would write: |
||
− | ''' |
+ | '''?'''.Dialog.headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
+ | クラスは関係なくリソース {{ic|headingFont}} を含む全てのプログラムに同一のルールを適用したい場合、以下のように記述します: |
||
− | If you want to apply this same rule to all programs that contain the resource {{ic|headingFont}}, regardless of its class, you would write: |
||
'''*'''headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
'''*'''headingFont: -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
+ | |||
+ | ワイルドカードのマッチングルールについて詳しくは {{man|3|XrmGetResource|MATCHING_RULES}} を参照してください。 |
||
==== コメント ==== |
==== コメント ==== |
||
Xresources ファイルにコメントを付けたいときは、コメントの前にエクスクラメーションマークを付けて下さい ({{ic|!}})、例: |
Xresources ファイルにコメントを付けたいときは、コメントの前にエクスクラメーションマークを付けて下さい ({{ic|!}})、例: |
||
− | |||
− | ! 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 |
! The following rule will be ignored because it has been commented out |
||
!Xft.antialias: true |
!Xft.antialias: true |
||
+ | |||
+ | エクスクラメーションマークは行の最初の文字でなければならないことに注意してください。 |
||
==== ファイルのインクルード ==== |
==== ファイルのインクルード ==== |
||
+ | |||
+ | {{Note|この機能を使うには {{ic|GNU CPP}} などの C プリプロセッサが必要です。}} |
||
アプリケーションごとに別々のファイルを使いたい場合、メインファイルで {{ic|#include}} を使ってください。例: |
アプリケーションごとに別々のファイルを使いたい場合、メインファイルで {{ic|#include}} を使ってください。例: |
||
120行目: | 127行目: | ||
}} |
}} |
||
+ | === リソースの値を取得 === |
||
− | ==使用例== |
||
− | 以下の例を見ることで Xresources ファイルを使用してどうやってアプリケーションの設定を変更するのか理解できるはずです。[https://gist.github.com/anonymous/fa98de9fd70b51611303] にはもっとサンプルがあります。わからないときはアプリケーションの man ページも参照してください。 |
||
+ | (bash スクリプトなどで使いたい場合) {{AUR|xgetres}} を使うことでリソースの値を取得できます: |
||
− | ===ターミナルカラー=== |
||
+ | $ xgetres xscreensaver.Dialog.headingFont |
||
− | [[コンソールのカラー出力#ターミナルエミュレータ]]を見てください。 |
||
+ | -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
− | == |
+ | ==使用例== |
+ | 以下の例を見ることで Xresources ファイルを使用してどうやってアプリケーションの設定を変更するのか理解できるはずです。[https://gist.github.com/anonymous/fa98de9fd70b51611303] にはもっとサンプルがあります。わからないときはアプリケーションの man ページも参照してください。 |
||
+ | * [[コンソールのカラー出力#ターミナルエミュレータ]] |
||
− | [[カーソルテーマ#X resources]] を見てください。 |
||
+ | * [[カーソルテーマ#X resources]] |
||
− | |||
+ | * [[フォント設定#fontconfig をサポートしていないアプリケーション]] |
||
− | === Xft === |
||
+ | * [[Xterm#リソースファイルの設定]] |
||
− | |||
+ | * [[Rxvt-unicode#設定]] |
||
− | [[フォント設定#fontconfig をサポートしていないアプリケーション]]を見てください。 |
||
+ | * {{man|1|xpdf|OPTIONS}} |
||
− | |||
− | === Xterm === |
||
− | |||
− | [[Xterm#リソースファイルの設定]]を見てください。 |
||
− | |||
− | === rxvt-unicode === |
||
− | |||
− | [[Rxvt-unicode#設定]]を見てください。 |
||
− | |||
− | === Xpdf === |
||
− | |||
− | [http://linux.die.net/man/1/xpdf man xpdf] の {{ic|'''Options'''}} を見てください。 |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
152行目: | 149行目: | ||
[[GDM]] などの[[ディスプレイマネージャ]]は ''xrdb'' で {{ic|--nocpp}} 引数を使用することがあります。 |
[[GDM]] などの[[ディスプレイマネージャ]]は ''xrdb'' で {{ic|--nocpp}} 引数を使用することがあります。 |
||
+ | |||
+ | === xrdb -query からの出力が無い === |
||
+ | |||
+ | {{ic|xrdb -query}} が何も出力しないことも珍しくありません。上記の [[X resources#リソースファイルのロード|リソースファイルのロード]] と [[X resources#xinitrc|xinitrc]] に従ってみてください。 また、そこに記載されているファイルの一部が空である可能性があることに注意してください。 |
||
==参照== |
==参照== |
||
− | * [https://engineering.purdue.edu/ECN/Support/KB/Docs/UsingTheXdefaultsFil Using the Xdefaults File] - |
+ | * [https://engineering.purdue.edu/ECN/Support/KB/Docs/UsingTheXdefaultsFil Using the Xdefaults File] - X が Xdefaults ファイルをどのように解釈するのか説明した記事 |
2023年1月9日 (月) 22:16時点における最新版
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
))
- 区切り文字
- ドット (
.
) は階層を一つ下ることを示します。上記の例では、名前、クラス、リソースの順番で降りて行っています。コロン (:
) はリソースの宣言と値を分けるのに使われます。
ワイルドカードマッチ
クエスチョンマークとアスタリスクはワイルドカードとして使うことができ、一つのルールを多数のアプリケーションやエレメントに適用することができます。?
はどれかひとつのコンポーネントの名前にマッチし、*
は任意の数のコンポーネントを表します。
前記の例であれば、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
使用例
以下の例を見ることで Xresources ファイルを使用してどうやってアプリケーションの設定を変更するのか理解できるはずです。[2] にはもっとサンプルがあります。わからないときはアプリケーションの man ページも参照してください。
- コンソールのカラー出力#ターミナルエミュレータ
- カーソルテーマ#X resources
- フォント設定#fontconfig をサポートしていないアプリケーション
- Xterm#リソースファイルの設定
- Rxvt-unicode#設定
- xpdf(1) § OPTIONS
トラブルシューティング
解析エラー
GDM などのディスプレイマネージャは xrdb で --nocpp
引数を使用することがあります。
xrdb -query からの出力が無い
xrdb -query
が何も出力しないことも珍しくありません。上記の リソースファイルのロード と xinitrc に従ってみてください。 また、そこに記載されているファイルの一部が空である可能性があることに注意してください。
参照
- Using the Xdefaults File - X が Xdefaults ファイルをどのように解釈するのか説明した記事