「X リソース」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
3行目: 3行目:
 
[[de:Xdefaults]]
 
[[de:Xdefaults]]
 
[[en:X resources]]
 
[[en:X resources]]
  +
[[ru:X resources]]
 
'''Xresources''' はユーザーレベルの設定''ドットファイル''で、通常は {{ic|~/.Xresources}} に存在します。X クライアントアプリケーションの設定パラメータである [[Wikipedia:X resources|X resources]] を設定するのに使われます。
 
'''Xresources''' はユーザーレベルの設定''ドットファイル''で、通常は {{ic|~/.Xresources}} に存在します。X クライアントアプリケーションの設定パラメータである [[Wikipedia:X resources|X resources]] を設定するのに使われます。
   
12行目: 13行目:
 
* X カーソルテーマの変更
 
* X カーソルテーマの変更
 
* xscreensaver のテーマ設定
 
* xscreensaver のテーマ設定
* ローレベルな X アプリケーションの設定 ({{Pkg|xorg-xclock}}, {{AUR|xpdf}}, {{Pkg|rxvt-unicode}} など)
+
* ローレベルな X アプリケーションの設定 ({{Pkg|xorg-xclock}}, {{Pkg|xpdf}}, {{Pkg|rxvt-unicode}} など)
   
 
{{Note|{{ic|~/.Xdefaults}} の使用は非推奨となっているので、この記事では xrdb でロードされる resources のみを扱います。}}
 
{{Note|{{ic|~/.Xdefaults}} の使用は非推奨となっているので、この記事では xrdb でロードされる resources のみを扱います。}}
   
  +
== インストール ==
==初めに==
 
{{pkg|xorg-xrdb}} がシステムにインストールされていることを確認してください。
+
{{pkg|xorg-xrdb}} パッケージを[[インストール]]してください。
   
  +
== 使用方法 ==
===.Xresources の解析===
 
{{ic|~/.Xresources}} ファイルはデフォルトでは存在しません。プレーンテキストファイルなので、お好きなテキストエディタで作成・編集することができます。ファイルが存在する場合、{{ic|xrdb}} (Xorg resource database) プログラムによって自動的に解析されます。ただし、それには以下のどちらかの条件を満たしている必要があります:
 
* [[ディスプレイマネージャ]]を使って X にログインしている。ほとんどの DM はログイン時に自動的に {{ic|~/.Xresources}} ファイルをロードします。
 
* {{ic|startx}} を使用している場合、{{ic|~/.[[xinitrc]]}} を編集する必要があります。詳しくは下を参照してください。
 
resources は X サーバーに保存されるため、アプリを起動するたびにファイルを読み取る必要はありません。
 
   
  +
=== リソースファイルのロード ===
.Xresources ファイルを再読み込みさせて、古い resources を捨てさせるには:
 
   
  +
リソースは X サーバーに保存されるため、一度だけ読み込む必要があります。また、リモートの X11 クライアントからもアクセスできます (SSH 経由でフォワーディングされる場合など)。
xrdb ~/.Xresources
 
   
.Xresources ファイルを再読み込みさせ、古い resources 維持させるには:
+
リソースファイルをロードし現在の設定置き換えるには:
   
xrdb -merge ~/.Xresources
+
$ xrdb ''~/.Xresources''
   
  +
リソースファイルをロードして現在の設定とマージするには:
{{Tip|{{ic|~/.Xresources}} is just a naming convention; xrdb can load any file. If you use xrdb manually, you can put such a file anywhere you want (for example, {{ic|~/.config/Xresources}}).}}
 
  +
{{Note|Resources loaded with xrdb are also accessible to ''remote'' X11 clients (such as those forwarded over SSH).}}
 
  +
$ xrdb -merge ''~/.Xresources''
{{Warning|
 
  +
* If you background the execution of xrdb in a chain of commands in {{ic|~/.xinitrc}}, the programs launched in the same chain might not be able to make use of it, so it is recommended to ''never'' background the xrdb command within {{ic|~/.xinitrc}}.
 
  +
{{Note|
* The older and deprecated {{ic|~/.Xdefaults}} file is read every time you start an X11 program such as {{ic|xterm}}, but '''only''' if {{ic|xrdb}} has not '''ever''' been used in the current X session. [https://groups.google.com/forum/#!msg/comp.windows.x/hQBEdql8l-Q/hF3DETcIHGwJ]
 
  +
* 大抵の[[ディスプレイマネージャ]]はログイン時に {{ic|~/.Xresources}} ファイルをロードします。
  +
* 古い {{ic|~/.Xdefaults}} ファイルは X11 プログラムが起動したときに読み込まれます。ただし現在のセッションで ''xrdb'' が使われていない場合に限ります [https://groups.google.com/forum/#!msg/comp.windows.x/hQBEdql8l-Q/hF3DETcIHGwJ]。
 
}}
 
}}
   
===xinitrc に追加===
+
=== xinitrc ===
  +
[[デスクトップ環境]]を使っていない場合、以下の行を {{ic|~/.[[xinitrc]]}} に追加する必要があります:
 
  +
デフォルトの [[xinitrc]] のコピーを {{ic|.xinitrc}} として使っている場合、既に {{ic|~/.Xresources}} はマージされています。
  +
  +
カスタムした {{ic|.xinitrc}} を使っている場合、以下の行を追加してください:
  +
 
<nowiki>[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources</nowiki>
 
<nowiki>[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources</nowiki>
  +
  +
{{Warning|{{ic|~/.xinitrc}} の中で xrdb コマンドをバックグラウンドで実行してはいけません。リソースがロードされる前に xrdb の後に起動したプログラムがリソースを検索してしまう可能性があります。}}
   
 
===デフォルト設定===
 
===デフォルト設定===
100行目: 105行目:
 
==== ファイルのインクルード ====
 
==== ファイルのインクルード ====
   
  +
アプリケーションごとに別々のファイルを使いたい場合、メインファイルで {{ic|#include}} を使ってください。例:
To use different files for each application, use {{ic|#include}} in the main file. For example:
 
   
 
{{hc|~/.Xresources|
 
{{hc|~/.Xresources|
116行目: 121行目:
   
 
==使用例==
 
==使用例==
  +
以下の例を見ることで Xresources ファイルを使用してどうやってアプリケーションの設定を変更するのか理解できるはずです。[https://gist.github.com/anonymous/fa98de9fd70b51611303] にはもっとサンプルがあります。わからないときはアプリケーションの man ページも参照してください。
The following samples should provide a good understanding of how application settings can be modified using an Xresources file. For full details, refer to the man page of the application in question.
 
 
===Terminal colors===
 
Most terminals, including [[xterm]] and [[urxvt]], support at least 16 basic colors. The following is an example of a 16-color scheme. The colors 0-7 are the 'normal' colors, while colors 8-15 are their 'bright' counterparts, used for highlighting and such. A good place to start when making your Xresources, is to define the default terminal colors:
 
{{bc|
 
! terminal colors ------------------------------------------------------------
 
 
! tangoesque scheme
 
*background: #111111
 
*foreground: #babdb6
 
! Black (not tango) + DarkGrey
 
*color0: #000000
 
*color8: #555753
 
! DarkRed + Red
 
*color1: #ff6565
 
*color9: #ff8d8d
 
! DarkGreen + Green
 
*color2: #93d44f
 
*color10: #c8e7a8
 
! DarkYellow + Yellow
 
*color3: #eab93d
 
*color11: #ffc123
 
! DarkBlue + Blue
 
*color4: #204a87
 
*color12: #3465a4
 
! DarkMagenta + Magenta
 
*color5: #ce5c00
 
*color13: #f57900
 
!DarkCyan + Cyan (both not tango)
 
*color6: #89b6e2
 
*color14: #46a4ff
 
! LightGrey + White
 
*color7: #cccccc
 
*color15: #ffffff
 
}}
 
 
xterm や rxvt で自動的に色を付けたり下線を引く方法は [[man ページ#xterm や rxvt-unicode で man ページのカラー出力]] を見て下さい。
 
 
For more examples of color schemes, see the [[#Contributed examples]] section at the bottom of this article.
 
 
===Xcursor resources===
 
マウスカーソルのテーマとサイズを設定:
 
 
! Xcursor --------------------------------------------------------------------
 
 
Xcursor.theme: Vanilla-DMZ-AA
 
Xcursor.size: 22
 
 
Available themes reside in {{ic|/usr/share/icons}} and local themes can be installed to {{ic|~/.icons}}.
 
 
===Xft resources===
 
You can define basic font resources without the need of a {{ic|fonts.conf}} file or a desktop environment. Note however, the use of a desktop environment and/or {{ic|fonts.conf}} can override these settings. Your best option is to use one or the other, but not both.
 
 
! Xft settings ---------------------------------------------------------------
 
 
Xft.dpi: 96
 
Xft.antialias: true
 
Xft.rgba: rgb
 
Xft.hinting: true
 
Xft.hintstyle: hintslight
 
 
===Xterm resources===
 
The following resources will open [[xterm]] in an 80x25 character window with a scroll-bar and scroll capability for the last 512 lines. The specified [[フォント#Bitmap|Terminus]] facename is a popular and clean terminal font.
 
 
! xterm ----------------------------------------------------------------------
 
 
xterm*VT100.geometry: 80x25
 
xterm*faceName: Terminus:style=Regular:size=10
 
!xterm*font: -*-dina-medium-r-*-*-16-*-*-*-*-*-*-*
 
xterm*dynamicColors: true
 
xterm*utf8: 2
 
xterm*eightBitInput: true
 
xterm*saveLines: 512
 
xterm*scrollKey: true
 
xterm*scrollTtyOutput: false
 
xterm*scrollBar: true
 
xterm*rightScrollBar: true
 
xterm*jumpScroll: true
 
xterm*multiScroll: true
 
xterm*toolBar: false
 
 
===rxvt-unicode (urxvt) resources===
 
{{Pkg|rxvt-unicode}} features an extensive list of options which can be configured via {{ic|~/.Xresources}}. Refer to the urxvt man page or [[Urxvt#~/.Xresources の作成|this wiki article]] for details.
 
 
===Aterm の設定===
 
aterm のサンプル設定 (urxvt とよく似ています):
 
 
!aterm settings-------------------------------------------------------------
 
 
aterm*background: black
 
aterm*foreground: white
 
aterm*transparent: true
 
aterm*shading: 30
 
aterm*cursorColor: gray
 
aterm*saveLines: 2000
 
!aterm*tinting: gray
 
aterm*scrollBar: false
 
!aterm*scrollBar_right: true
 
aterm*transpscrollbar: true
 
aterm*borderwidth: 0
 
aterm*font: -*-terminus-*-*-*-*-*-*-*-*-*-*-*-*
 
aterm*geometry: 80x25
 
!aterm*fading: 70
 
 
===Xpdf resources===
 
以下は軽量な PDF ビューアである {{AUR|xpdf}} の基本的なリソースです:
 
 
! xpdf -----------------------------------------------------------------------
 
 
xpdf*enableFreetype: yes
 
xpdf*antialias: yes
 
xpdf*foreground: black
 
xpdf*background: white
 
xpdf*urlCommand: /usr/bin/firefox %s
 
 
Anything more detailed than the above you should be putting in {{ic|~/.xpdfrc}} instead. See the xpdf man page for more information. Note that {{ic|viKeys}} is deprecated.
 
 
===Lal clock resources===
 
 
! lal clock ------------------------------------------------------------------
 
 
lal*font: Arial
 
lal*fontsize: 12
 
lal*bold: true
 
lal*color: #ffffff
 
lal*width: 150
 
lal*format: %a %b %d %l:%M%P
 
 
===Xclock の設定===
 
基本的な xclock の設定。xclock の man ページには全てのリソースが載っています。
 
 
! xclock ---------------------------------------------------------------------
 
 
xclock*update: 1
 
xclock*analog: false
 
xclock*Foreground: white
 
xclock*background: black
 
 
===X11-ssh-askpass resources===
 
 
! x11-ssh-askpass ------------------------------------------------------------
 
 
x11-ssh-askpass*font: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 
x11-ssh-askpass*background: #000000
 
x11-ssh-askpass*foreground: #ffffff
 
x11-ssh-askpass.Button*background: #000000
 
x11-ssh-askpass.Indicator*foreground: #ff9900
 
x11-ssh-askpass.Indicator*background: #090909
 
x11-ssh-askpass*topShadowColor: #000000
 
x11-ssh-askpass*bottomShadowColor: #000000
 
x11-ssh-askpass.*borderWidth: 1
 
 
===XScreenSaver resources===
 
以下は [[XScreenSaver]] のテーマのサンプルです。詳しい情報は、XScreenSaver の man ページを参照してください。
 
 
{{Note|In older versions of XScreenSaver, if the {{ic|~/.xscreensaver}} file exists, it overrides any settings in the X resource database. However, in the latest versions, you can use both simultaneously.}}
 
 
! xscreensaver ---------------------------------------------------------------
 
 
!font settings
 
xscreensaver.Dialog.headingFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
 
xscreensaver.Dialog.bodyFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 
xscreensaver.Dialog.labelFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 
xscreensaver.Dialog.unameFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 
xscreensaver.Dialog.buttonFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
 
xscreensaver.Dialog.dateFont: -*-dina-medium-r-*-*-12-*-*-*-*-*-*-*
 
xscreensaver.passwd.passwdFont: -*-dina-bold-r-*-*-12-*-*-*-*-*-*-*
 
!general dialog box (affects main hostname, username, password text)
 
xscreensaver.Dialog.foreground: #ffffff
 
xscreensaver.Dialog.background: #111111
 
xscreensaver.Dialog.topShadowColor: #111111
 
xscreensaver.Dialog.bottomShadowColor: #111111
 
xscreensaver.Dialog.Button.foreground: #666666
 
xscreensaver.Dialog.Button.background: #ffffff
 
!username/password input box and date text colour
 
xscreensaver.Dialog.text.foreground: #666666
 
xscreensaver.Dialog.text.background: #ffffff
 
xscreensaver.Dialog.internalBorderWidth:24
 
xscreensaver.Dialog.borderWidth: 20
 
xscreensaver.Dialog.shadowThickness: 2
 
!timeout bar (background is actually determined by Dialog.text.background)
 
xscreensaver.passwd.thermometer.foreground: #ff0000
 
xscreensaver.passwd.thermometer.background: #000000
 
xscreensaver.passwd.thermometer.width: 8
 
!datestamp format--see the strftime(3) manual page for details
 
xscreensaver.dateFormat: %I:%M%P %a %b %d, %Y
 
 
===Xcalc resources===
 
Following are some xcalc resources to colorize and customize buttons.
 
 
!xcalc-----------------------------------------------------------------------
 
 
xcalc*geometry: 200x275
 
xcalc.ti.bevel.background: #111111
 
xcalc.ti.bevel.screen.background: #000000
 
xcalc.ti.bevel.screen.DEG.background: #000000
 
xcalc.ti.bevel.screen.DEG.foreground: LightSeaGreen
 
xcalc.ti.bevel.screen.GRAD.background: #000000
 
xcalc.ti.bevel.screen.GRAD.foreground: LightSeaGreen
 
xcalc.ti.bevel.screen.RAD.background: #000000
 
xcalc.ti.bevel.screen.RAD.foreground: LightSeaGreen
 
xcalc.ti.bevel.screen.INV.background: #000000
 
xcalc.ti.bevel.screen.INV.foreground: Red
 
xcalc.ti.bevel.screen.LCD.background: #000000
 
xcalc.ti.bevel.screen.LCD.foreground: LightSeaGreen
 
xcalc.ti.bevel.screen.LCD.shadowWidth: 0
 
xcalc.ti.bevel.screen.M.background: #000000
 
xcalc.ti.bevel.screen.M.foreground: LightSeaGreen
 
xcalc.ti.bevel.screen.P.background: #000000
 
xcalc.ti.bevel.screen.P.foreground: Yellow
 
xcalc.ti.Command.foreground: White
 
xcalc.ti.Command.background: #777777
 
xcalc.ti.button5.background: Orange3
 
xcalc.ti.button19.background: #611161
 
xcalc.ti.button18.background: #611161
 
xcalc.ti.button20.background: #611111
 
!uncomment to change label on division button
 
!xcalc.ti.button20.label: /
 
xcalc.ti.button25.background: #722222
 
xcalc.ti.button30.background: #833333
 
xcalc.ti.button35.background: #944444
 
xcalc.ti.button40.background: #a55555
 
xcalc.ti.button22.background: #222262
 
xcalc.ti.button23.background: #222262
 
xcalc.ti.button24.background: #222272
 
xcalc.ti.button27.background: #333373
 
xcalc.ti.button28.background: #333373
 
xcalc.ti.button29.background: #333373
 
xcalc.ti.button32.background: #444484
 
xcalc.ti.button33.background: #444484
 
xcalc.ti.button34.background: #444484
 
xcalc.ti.button37.background: #555595
 
xcalc.ti.button38.background: #555595
 
xcalc.ti.button39.background: #555595
 
XCalc*Cursor: hand2
 
XCalc*ShapeStyle: rectangle
 
 
==カラースキームコマンド==
 
Here are some fast bash commands you can run right in your shell.
 
 
===Display all 256 colors===
 
Prints all 256 colors across the screen, very quick.
 
<nowiki>(x=`tput op` y=`printf %76s`;for i in {0..256};do o=00$i;echo -e ${o:${#o}-3:3} `tput setaf $i;tput setab $i`${y// /=}$x;done)</nowiki>
 
 
===Display tput escape codes===
 
Replace {{ic|tput op}} with whatever tput you want to trace. {{ic|op}} is the default foreground and background color.
 
{{hc
 
|<nowiki>$ ( strace -s5000 -e write tput op 2>&2 2>&1 ) | tee -a /dev/stderr | grep -o '"[^"]*"'</nowiki>
 
|033[\033[1;34m"\33[39;49m"\033[00m
 
}}
 
 
===Enumerating colors supported by terminals===
 
The following command will let you discover all the terminals you have terminfo support for, and the number of colors each terminal supports. The possible values are: 8, 15, 16, 52, 64, 88 and 256.
 
{{hc
 
|<nowiki>$ for T in `find /usr/share/terminfo -type f -printf '%f '`;do echo "$T `tput -T $T colors`";done|sort -nk2</nowiki>
 
|Eterm-88color 88
 
rxvt-88color 88
 
xterm+88color 88
 
xterm-88color 88
 
Eterm-256color 256
 
gnome-256color 256
 
konsole-256color 256
 
putty-256color 256
 
rxvt-256color 256
 
screen-256color 256
 
screen-256color-bce 256
 
screen-256color-bce-s 256
 
screen-256color-s 256
 
xterm+256color 256
 
xterm-256color 256
 
}}
 
 
===Enumerating terminal capabilities===
 
This command is useful to see what features that are supported by your terminal.
 
{{hc
 
|<nowiki>$ infocmp -1 | sed -nu 's/^[ \000\t]*//;s/[ \000\t]*$//;/[^ \t\000]\{1,\}/!d;/acsc/d;s/=.*,//p'|column -c80</nowiki>
 
|bel cuu ich kb2 kf15 kf3 kf44 kf59 mc0 rmso smul
 
blink cuu1 il kbs kf16 kf30 kf45 kf6 mc4 rmul tbc
 
bold cvvis il1 kcbt kf17 kf31 kf46 kf60 mc5 rs1 u6
 
cbt dch ind kcub1 kf18 kf32 kf47 kf61 meml rs2 u7
 
civis dch1 indn kcud1 kf19 kf33 kf48 kf62 memu sc u8
 
clear dl initc kcuf1 kf2 kf34 kf49 kf63 op setab u9
 
cnorm dl1 invis kcuu1 kf20 kf35 kf5 kf7 rc setaf vpa
 
}}
 
 
==カラースキームスクリプト==
 
Any of the following scripts will display a chart of your current terminal color scheme. Handy for testing and whatnot.
 
 
===Script #1===
 
{{bc|1=
 
#!/usr/bin/bash
 
#
 
# This file echoes a bunch of color codes to the
 
# terminal to demonstrate what's available. Each
 
# line is the color code of one foreground color,
 
# out of 17 (default + 16 escapes), followed by a
 
# test use of that color on all nine background
 
# colors (default + 8 escapes).
 
#
 
 
T='gYw' # The test text
 
 
echo -e "\n 40m 41m 42m 43m\
 
44m 45m 46m 47m";
 
 
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
 
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
 
' 36m' '1;36m' ' 37m' '1;37m';
 
do FG=${FGs// /}
 
echo -en " $FGs \033[$FG $T "
 
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
 
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
 
done
 
echo;
 
done
 
echo
 
}}
 
 
===Script #2===
 
{{bc|1=
 
#!/usr/bin/bash
 
# Original: http://frexx.de/xterm-256-notes/ {{Dead link|2013|11|21}}
 
# http://frexx.de/xterm-256-notes/data/colortable16.sh {{Dead link|2013|11|21}}
 
# Modified by Aaron Griffin
 
# and further by Kazuo Teramoto
 
FGNAMES=(' black ' ' red ' ' green ' ' yellow' ' blue ' 'magenta' ' cyan ' ' white ')
 
BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT')
 
 
echo " ┌──────────────────────────────────────────────────────────────────────────┐"
 
for b in {0..8}; do
 
((b>0)) && bg=$((b+39))
 
 
echo -en "\033[0m ${BGNAMES[b]} │ "
 
 
for f in {0..7}; do
 
echo -en "\033[${bg}m\033[$((f+30))m ${FGNAMES[f]} "
 
done
 
 
echo -en "\033[0m │"
 
echo -en "\033[0m\n\033[0m │ "
 
 
for f in {0..7}; do
 
echo -en "\033[${bg}m\033[1;$((f+30))m ${FGNAMES[f]} "
 
done
 
 
echo -en "\033[0m │"
 
echo -e "\033[0m"
 
 
((b<8)) &&
 
echo " ├──────────────────────────────────────────────────────────────────────────┤"
 
done
 
echo " └──────────────────────────────────────────────────────────────────────────┘"
 
}}
 
 
===Script #3===
 
{{bc|1=
 
#!/usr/bin/bash
 
# Original: http://frexx.de/xterm-256-notes/ {{Dead link|2013|11|21}}
 
# http://frexx.de/xterm-256-notes/data/colortable16.sh {{Dead link|2013|11|21}}
 
# Modified by Aaron Griffin
 
# and further by Kazuo Teramoto
 
 
 
FGNAMES=(' black ' ' red ' ' green ' ' yellow' ' blue ' 'magenta' ' cyan ' ' white ')
 
BGNAMES=('DFT' 'BLK' 'RED' 'GRN' 'YEL' 'BLU' 'MAG' 'CYN' 'WHT')
 
echo " ----------------------------------------------------------------------------"
 
for b in $(seq 0 8); do
 
if [ "$b" -gt 0 ]; then
 
bg=$(($b+39))
 
fi
 
 
echo -en "\033[0m ${BGNAMES[$b]} : "
 
for f in $(seq 0 7); do
 
echo -en "\033[${bg}m\033[$(($f+30))m ${FGNAMES[$f]} "
 
done
 
echo -en "\033[0m :"
 
 
echo -en "\033[0m\n\033[0m : "
 
for f in $(seq 0 7); do
 
echo -en "\033[${bg}m\033[1;$(($f+30))m ${FGNAMES[$f]} "
 
done
 
echo -en "\033[0m :"
 
echo -e "\033[0m"
 
 
if [ "$b" -lt 8 ]; then
 
echo " ----------------------------------------------------------------------------"
 
fi
 
done
 
echo " ----------------------------------------------------------------------------"
 
}}
 
 
===Script #4===
 
{{bc|1=
 
#!/usr/bin/env lua
 
 
function cl(e)
 
return string.format('\27[%sm', e)
 
end
 
 
function print_fg(bg, pre)
 
for fg = 30,37 do
 
fg = pre..fg
 
io.write(cl(bg), cl(fg), string.format(' %6s ', fg), cl(0))
 
end
 
end
 
 
for bg = 40,47 do
 
io.write(cl(0), ' ', bg, ' ')
 
print_fg(bg, ' ')
 
io.write('\n ')
 
print_fg(bg, '1;')
 
io.write('\n\n')
 
end
 
 
-- Andres P
 
}}
 
 
===Script #5===
 
{{bc|1=
 
#!/usr/bin/bash
 
#
 
# ANSI color scheme script featuring Space Invaders
 
#
 
# Original: http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921
 
# Modified by lolilolicon
 
#
 
 
f=3 b=4
 
for j in f b; do
 
for i in {0..7}; do
 
printf -v $j$i %b "\e[${!j}${i}m"
 
done
 
done
 
bld=$'\e[1m'
 
rst=$'\e[0m'
 
 
cat << EOF
 
 
$f1 ▀▄ ▄▀ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4 ▀▄ ▄▀ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst
 
$f1 ▄█▀███▀█▄ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4 ▄█▀███▀█▄ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst
 
$f1█▀███████▀█ $f2▀▀███▀▀███▀▀ $f3▀█▀██▀█▀ $f4█▀███████▀█ $f5▀▀███▀▀███▀▀ $f6▀█▀██▀█▀$rst
 
$f1▀ ▀▄▄ ▄▄▀ ▀ $f2 ▀█▄ ▀▀ ▄█▀ $f3▀▄ ▄▀ $f4▀ ▀▄▄ ▄▄▀ ▀ $f5 ▀█▄ ▀▀ ▄█▀ $f6▀▄ ▄▀$rst
 
 
$bld$f1▄ ▀▄ ▄▀ ▄ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4▄ ▀▄ ▄▀ ▄ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst
 
$bld$f1█▄█▀███▀█▄█ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4█▄█▀███▀█▄█ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst
 
$bld$f1▀█████████▀ $f2▀▀▀██▀▀██▀▀▀ $f3▀▀█▀▀█▀▀ $f4▀█████████▀ $f5▀▀▀██▀▀██▀▀▀ $f6▀▀█▀▀█▀▀$rst
 
$bld$f1 ▄▀ ▀▄ $f2▄▄▀▀ ▀▀ ▀▀▄▄ $f3▄▀▄▀▀▄▀▄ $f4 ▄▀ ▀▄ $f5▄▄▀▀ ▀▀ ▀▀▄▄ $f6▄▀▄▀▀▄▀▄$rst
 
 
 
$f7▌$rst
 
 
$f7▌$rst
 
 
$f7 ▄█▄ $rst
 
$f7▄█████████▄$rst
 
$f7▀▀▀▀▀▀▀▀▀▀▀$rst
 
 
EOF
 
}}
 
 
===Script #6===
 
{{bc|1=
 
#!/usr/bin/env ruby
 
# coding: utf-8
 
 
# ANSI color scheme script
 
# Author: Ivaylo Kuzev < Ivo >
 
# Original: http://crunchbang.org/forums/viewtopic.php?pid=134749%23p134749#p134749
 
# Modified using Ruby.
 
 
CL = "\e[0m"
 
BO = "\e[1m"
 
 
R = "\e[31m"
 
G = "\e[32m"
 
Y = "\e[33m"
 
B = "\e[34m"
 
P = "\e[35m"
 
C = "\e[36m"
 
 
print <<EOF
 
 
#{BO}#{R} ██████ #{CL} #{BO}#{G}██████ #{CL}#{BO}#{Y} ██████#{CL} #{BO}#{B}██████ #{CL} #{BO}#{P} ██████#{CL} #{BO}#{C} ███████#{CL}
 
#{BO}#{R} ████████#{CL} #{BO}#{G}██ ██ #{CL}#{BO}#{Y}██ #{CL} #{BO}#{B}██ ██#{CL} #{BO}#{P}██████ #{CL} #{BO}#{C} █████████#{CL}
 
#{R} ██ ████#{CL} #{G}██ ████#{CL}#{Y} ████ #{CL} #{B}████ ██#{CL} #{P}████ #{CL} #{C}█████ #{CL}
 
#{R} ██ ██#{CL} #{G}██████ #{CL}#{Y} ████████#{CL} #{B}██████ #{CL} #{P}████████#{CL} #{C}██ #{CL}
 
 
EOF
 
}}
 
 
===Script #7===
 
{{bc|1=
 
#!/bin/sh
 
# Original Posted at http://crunchbang.org/forums/viewtopic.php?pid=126921%23p126921#p126921
 
# [ESC] character in original post removed here.
 
 
# ANSI Color -- use these variables to easily have different color
 
# and format output. Make sure to output the reset sequence after
 
# colors (f = foreground, b = background), and use the 'off'
 
# feature for anything you turn on.
 
 
initializeANSI()
 
{
 
esc="$(echo -en '\e')"
 
   
  +
===ターミナルカラー===
blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m"
 
yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m"
 
cyanf="${esc}[36m"; whitef="${esc}[37m"
 
   
  +
[[コンソールのカラー出力#ターミナルエミュレータ]]を見てください。
blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m"
 
yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m"
 
cyanb="${esc}[46m"; whiteb="${esc}[47m"
 
   
  +
=== Xcursor ===
boldon="${esc}[1m"; boldoff="${esc}[22m"
 
italicson="${esc}[3m"; italicsoff="${esc}[23m"
 
ulon="${esc}[4m"; uloff="${esc}[24m"
 
invon="${esc}[7m"; invoff="${esc}[27m"
 
   
  +
[[カーソルテーマ#X resources]] を見てください。
reset="${esc}[0m"
 
}
 
   
  +
=== Xft ===
# note in this first use that switching colors doesn't require a reset
 
# first - the new color overrides the old one.
 
   
  +
[[フォント設定#fontconfig をサポートしていないアプリケーション]]を見てください。
#clear
 
   
  +
=== Xterm ===
initializeANSI
 
   
  +
[[Xterm#リソースファイルの設定]]を見てください。
cat << EOF
 
   
  +
=== rxvt-unicode ===
${yellowf} ▄███████▄${reset} ${redf} ▄██████▄${reset} ${greenf} ▄██████▄${reset} ${bluef} ▄██████▄${reset} ${purplef} ▄██████▄${reset} ${cyanf} ▄██████▄${reset}
 
${yellowf}▄█████████▀▀${reset} ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄${reset} ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄${reset} ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄${reset} ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄${reset} ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset}
 
${yellowf}███████▀${reset} ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███${reset} ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███${reset} ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███${reset} ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███${reset} ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset}
 
${yellowf}███████▄${reset} ${redf}████████████${reset} ${greenf}████████████${reset} ${bluef}████████████${reset} ${purplef}████████████${reset} ${cyanf}████████████${reset}
 
${yellowf}▀█████████▄▄${reset} ${redf}██▀██▀▀██▀██${reset} ${greenf}██▀██▀▀██▀██${reset} ${bluef}██▀██▀▀██▀██${reset} ${purplef}██▀██▀▀██▀██${reset} ${cyanf}██▀██▀▀██▀██${reset}
 
${yellowf} ▀███████▀${reset} ${redf}▀ ▀ ▀ ▀${reset} ${greenf}▀ ▀ ▀ ▀${reset} ${bluef}▀ ▀ ▀ ▀${reset} ${purplef}▀ ▀ ▀ ▀${reset} ${cyanf}▀ ▀ ▀ ▀${reset}
 
   
  +
[[Rxvt-unicode#設定]]を見てください。
${boldon}${yellowf} ▄███████▄ ${redf} ▄██████▄ ${greenf} ▄██████▄ ${bluef} ▄██████▄ ${purplef} ▄██████▄ ${cyanf} ▄██████▄${reset}
 
${boldon}${yellowf}▄█████████▀▀ ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄ ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄ ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄ ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄ ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset}
 
${boldon}${yellowf}███████▀ ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███ ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███ ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███ ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███ ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset}
 
${boldon}${yellowf}███████▄ ${redf}████████████ ${greenf}████████████ ${bluef}████████████ ${purplef}████████████ ${cyanf}████████████${reset}
 
${boldon}${yellowf}▀█████████▄▄ ${redf}██▀██▀▀██▀██ ${greenf}██▀██▀▀██▀██ ${bluef}██▀██▀▀██▀██ ${purplef}██▀██▀▀██▀██ ${cyanf}██▀██▀▀██▀██${reset}
 
${boldon}${yellowf} ▀███████▀ ${redf}▀ ▀ ▀ ▀ ${greenf}▀ ▀ ▀ ▀ ${bluef}▀ ▀ ▀ ▀ ${purplef}▀ ▀ ▀ ▀ ${cyanf}▀ ▀ ▀ ▀${reset}
 
   
  +
=== Xpdf ===
EOF}}
 
   
  +
[http://linux.die.net/man/1/xpdf man xpdf] の {{ic|'''Options'''}} を見てください。
==他のサンプル==
 
   
  +
== トラブルシューティング ==
Check out these links for some real world examples of X resource files, contributed by fellow community members.
 
   
  +
=== 解析エラー ===
{{Note|{{ic|~/.Xdefaults}} has the same syntax as {{ic|~/.Xresources}}, and it is recommended that you use {{ic|~/.Xresources}} because {{ic|~/.Xdefaults}} is deprecated upstream.}}
 
   
  +
[[GDM]] などの[[ディスプレイマネージャ]]は ''xrdb'' で {{ic|--nocpp}} 引数を使用することがあります。
* http://dotfiles.org/~buttons/.Xdefaults
 
* https://github.com/jelly/Dotfiles/blob/master/.Xdefaults
 
* https://paste.debian.net/14515/ .Xresources
 
   
 
==参照==
 
==参照==
   
 
* [https://engineering.purdue.edu/ECN/Support/KB/Docs/UsingTheXdefaultsFil Using the Xdefaults File] - An in-depth article on how X interprets the Xdefaults file
 
* [https://engineering.purdue.edu/ECN/Support/KB/Docs/UsingTheXdefaultsFil Using the Xdefaults File] - An in-depth article on how X interprets the Xdefaults file
* [http://wiki.afterstep.org/index.php?title=Rxvt-Unicode_Configuration_Tutorial Rxvt-unicode Configuration Tutorial] - lots of information for urxvt users
 
* [http://mkaz.com/solog/system/xterm-colors.html Example Colors and their names] - listing of example colors and their color names for xterm and other X-applications.
 
* [https://web.archive.org/web/20090130061234/http://phraktured.net/terminal-colors/ Color Themes] - Extensive list of terminal color themes by Phraktured.
 
* [http://xcolors.net/ Xcolors.net] List of user-contributed terminal color themes.
 
* [http://beta.andrewrcraig.us/index.php?page=xcolors Xcolors by dkeg]
 

2016年11月12日 (土) 21:46時点における版

Xresources はユーザーレベルの設定ドットファイルで、通常は ~/.Xresources に存在します。X クライアントアプリケーションの設定パラメータである X resources を設定するのに使われます。

Xresources は様々な設定をすることができます、例えば:

  • ターミナルの色の定義
  • ターミナルの設定
  • DPI やアンチエイリアス、ヒンティングなど X フォントの設定
  • X カーソルテーマの変更
  • xscreensaver のテーマ設定
  • ローレベルな X アプリケーションの設定 (xorg-xclock, xpdf, rxvt-unicode など)
ノート: ~/.Xdefaults の使用は非推奨となっているので、この記事では xrdb でロードされる resources のみを扱います。

インストール

xorg-xrdb パッケージをインストールしてください。

使用方法

リソースファイルのロード

リソースは X サーバーに保存されるため、一度だけ読み込む必要があります。また、リモートの X11 クライアントからもアクセスできます (SSH 経由でフォワーディングされる場合など)。

リソースファイルをロードして現在の設定を置き換えるには:

$ xrdb ~/.Xresources

リソースファイルをロードして現在の設定とマージするには:

$ xrdb -merge ~/.Xresources
ノート:
  • 大抵のディスプレイマネージャはログイン時に ~/.Xresources ファイルをロードします。
  • 古い ~/.Xdefaults ファイルは X11 プログラムが起動したときに読み込まれます。ただし現在のセッションで xrdb が使われていない場合に限ります [1]

xinitrc

デフォルトの xinitrc のコピーを .xinitrc として使っている場合、既に ~/.Xresources はマージされています。

カスタムした .xinitrc を使っている場合、以下の行を追加してください:

[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
警告: ~/.xinitrc の中で xrdb コマンドをバックグラウンドで実行してはいけません。リソースがロードされる前に xrdb の後に起動したプログラムがリソースを検索してしまう可能性があります。

デフォルト設定

インストールした 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 xpdfOptions を見てください。

トラブルシューティング

解析エラー

GDM などのディスプレイマネージャxrdb--nocpp 引数を使用することがあります。

参照