「X リソース」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://linux.die.net/」を「https://linux.die.net/」に置換) |
(同期) |
||
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 のみを扱います。}} |
{{Note|{{ic|~/.Xdefaults}} の使用は非推奨となっているので、この記事では xrdb でロードされる resources のみを扱います。}} |
||
24行目: | 28行目: | ||
=== リソースファイルのロード === |
=== リソースファイルのロード === |
||
− | リソースは X サーバーに保存されるため、一度だけ読み込む必要があります。また、リモートの X11 クライアントからもアクセスできます (SSH 経由でフォワーディングされる場合など)。 |
+ | リソースは X サーバーに保存されるため、一度だけ読み込む必要があります。また、リモートの X11 クライアントからもアクセスできます (SSH 経由で[[Secure Shell#X11 フォワーディング|フォワーディング]]される場合など)。 |
リソースファイルをロードして現在の設定を置き換えるには: |
リソースファイルをロードして現在の設定を置き換えるには: |
||
47行目: | 51行目: | ||
<nowiki>[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources</nowiki> |
<nowiki>[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources</nowiki> |
||
− | {{ |
+ | {{Note|{{ic|~/.xinitrc}} の中で xrdb コマンドをバックグラウンドで実行してはいけません。リソースがロードされる前に xrdb の後に起動したプログラムがリソースを検索してしまう可能性があります。}} |
===デフォルト設定=== |
===デフォルト設定=== |
||
55行目: | 59行目: | ||
現在ロードされている resources を確認するには: |
現在ロードされている resources を確認するには: |
||
− | xrdb -query -all |
+ | $ xrdb -query -all |
===Xresources の構文=== |
===Xresources の構文=== |
||
81行目: | 85行目: | ||
;区切り文字 |
;区切り文字 |
||
:ドット ({{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}} を参照してください。 |
||
==== コメント ==== |
==== コメント ==== |
||
104行目: | 112行目: | ||
==== ファイルのインクルード ==== |
==== ファイルのインクルード ==== |
||
+ | |||
+ | {{Note|この機能を使うには {{ic|GNU CPP}} などの C プリプロセッサが必要です。}} |
||
アプリケーションごとに別々のファイルを使いたい場合、メインファイルで {{ic|#include}} を使ってください。例: |
アプリケーションごとに別々のファイルを使いたい場合、メインファイルで {{ic|#include}} を使ってください。例: |
||
119行目: | 129行目: | ||
xrdb -I''$HOME'' ~/.Xresources |
xrdb -I''$HOME'' ~/.Xresources |
||
}} |
}} |
||
+ | |||
+ | === リソースの値を取得 === |
||
+ | |||
+ | (bash スクリプトなどで使いたい場合) {{AUR|xgetres}} を使うことでリソースの値を取得できます: |
||
+ | |||
+ | $ xgetres xscreensaver.Dialog.headingFont |
||
+ | -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1 |
||
==使用例== |
==使用例== |
||
145行目: | 162行目: | ||
=== Xpdf === |
=== Xpdf === |
||
− | + | {{man|1|xpdf|OPTIONS}} の {{ic|'''Options'''}} を見てください。 |
|
== トラブルシューティング == |
== トラブルシューティング == |
||
155行目: | 172行目: | ||
==参照== |
==参照== |
||
− | * [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 ファイルをどのように解釈するのか説明した記事 |
2018年4月29日 (日) 15:32時点における版
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 ファイルにコメントを付けたいときは、コメントの前にエクスクラメーションマークを付けて下さい (!
)、例:
! 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
リソースの値を取得
(bash スクリプトなどで使いたい場合) xgetresAUR を使うことでリソースの値を取得できます:
$ xgetres xscreensaver.Dialog.headingFont -*-fixed-bold-r-*-*-*-100-*-*-*-*-iso8859-1
使用例
以下の例を見ることで Xresources ファイルを使用してどうやってアプリケーションの設定を変更するのか理解できるはずです。[2] にはもっとサンプルがあります。わからないときはアプリケーションの man ページも参照してください。
ターミナルカラー
コンソールのカラー出力#ターミナルエミュレータを見てください。
Xcursor
カーソルテーマ#X resources を見てください。
Xft
フォント設定#fontconfig をサポートしていないアプリケーションを見てください。
Xterm
Xterm#リソースファイルの設定を見てください。
rxvt-unicode
Rxvt-unicode#設定を見てください。
Xpdf
xpdf(1) § OPTIONS の Options
を見てください。
トラブルシューティング
解析エラー
GDM などのディスプレイマネージャは xrdb で --nocpp
引数を使用することがあります。
参照
- Using the Xdefaults File - X が Xdefaults ファイルをどのように解釈するのか説明した記事