
私は数日前からdwmを使い始め、ターミナルエミュレータとしてxterm(uxterm)を使っています。
しかし、カラーで出力する一部のアプリケーション(vi/vim、lsなど)は、明るい色と(時には)太字のフォントを使用することがわかりました。私の端末の背景色は暗いパステルなので、色を一致させたいです。
これらの色をどのように変更できますか? #xxxxxx色を使用する方法はありますか?
答え1
Xterm 構成に合格しました。XResources。デフォルトよりも明るい青を使用して、黒の背景に白に設定できます(もちろん、必要に応じて色を調整してください)。
XTerm.VT100.background: Black
XTerm.VT100.color0: Black
XTerm.VT100.color1: Red
XTerm.VT100.color2: Green
XTerm.VT100.color3: Yellow
XTerm.VT100.color4: CornflowerBlue
XTerm.VT100.color5: Magenta
XTerm.VT100.color6: Cyan
XTerm.VT100.color7: White
XTerm.VT100.colorBD: White
XTerm.VT100.colorBDMode: true
XTerm.VT100.colorUL: Yellow
XTerm.VT100.colorULMode: true
XTerm.VT100.cursorColor: Red
XTerm.VT100.foreground: White
xcolors
rgb.txt
あなたは使用すること/etc/X11
ができます太字で表示される色です。 (デフォルト)に設定すると、この設定は無視され、太字のテキストが太字で表示されます。 、下線も同様です。それ以上に行くことができます(xtermのバージョンとコンパイル時の設定に応じて最大またはそれ以下)。スルーは0〜7に対応し、太字で表示されます。明示的に設定しない限り、アプリケーションは16色以上の色をほとんど使用しません。/usr/X11
/usr/share/X11
#RRGGBB
colorBD
colorBDMode
false
colorUL
colorULMode
color8
color255
color8
color15
これらの設定をというファイルに入れます~/.Xdefaults
。ほとんどのシステムはログイン時にこのファイルを自動的にロードします。システムにない場合は、X 起動スクリプトに次のコマンドを追加します。
xrdb -merge ~/.Xdefaults
背景色17に基づいて前景色42の外観をテストするには、この端末のシェルで次のコマンドを実行します。
printf '\033[38;5;%dm\033[48;5;%dm%s\033[0m\n' 42 17 "Hello, world."
拡張カラーサポートなしでxtermがコンパイルされている場合は、クラシックコントロールシーケンスを使用する必要があります。
printf '\033[3%dm\033[4%dm%s\033[0m\n' 4 1 "Hello, world."
この場合、前景色と背景色は0〜7の範囲になければなりません。 xtermが16色のサポートにコンパイルされている場合とをそれぞれ置き換えて、より明るいバージョン(8〜15色)を選択します[3
。[4
[9
[10
答え2
.Xdefaults
ホームディレクトリのファイルを編集するだけです。.Xdefaults
次のように、他の人が利用できるいくつかの設定を試すことができます。これ「zenburn」の暗いカラースキームを使用してください。 「xterm」で始まる行のみを使用します。私は今テストしましたが、uxterm
このように動作します。何らかの理由でこれが機能しない場合は、行の先頭を「uxterm」に変更してください。
答え3
dwmを使用していると述べたので、他の回答で述べたように、Xリソースをそのままにして代わりに端末を呼び出すコマンドを変更することもできます。私はconfig.h
ターミナルコマンドを次のように修正しました。
static const char *termcmd[] = { "uxterm", "+cm", "+dc", "-bg", "black", "-fg", "gold", NULL };
カラーを可能にし、ブラックシードにゴールドを使用します。https://linux.die.net/man/1/xterm利用可能なオプションについて学びます。 (設定を変更したら、dwmを再コンパイルする必要があります。)
答え4
長い話を短く
この色をどのように変更できますか?
ファイルを使用してこれらの色を変更できます.Xresources
。
[I] #xxxxxx色を使用する方法はありますか?
はい。たとえば(私はそれをあなたのものとしてxterm*color1: ffa70a
お勧めしませんが)。他の仕様では同等のオプションが使用できるようです。私の考えでは、これはもっと読みやすいと思います(特に* NIXシステムを学ぶ人にとってはもっとそうです。気分が良ければ自由に使用してください)。lightsalmon
xterm*color1
xterm*color1: rgb:ff/a7/0a
#ffa70a
すべての色をデフォルトより明るくする例は次のとおりです。
$ cd
$ test -f .Xresources && \
cp .Xresources .Xresources.$(date '%s').bak \
# backing up existing .Xresources if it exists
$ test -f .Xresources || touch .Xresources \
# creating .Xresources if it doesn't exist
お気に入りのエディタを使って編集してください。~/.Xresources
この例では、ファイルは次のようになります。
xterm*color1: gray40
xterm*color2: red5
xterm*color3: green5
xterm*color4: yellow5
xterm*color5: magenta5
xterm*color6: cyan5
xterm*color7: white5
xterm*color8: gray50
xterm*color9: red2
xterm*color10: green2
xterm*color11: yellow2
xterm*color13: magenta2
xterm*color14: cyan2
xterm*color15: white2
走る
$ xrdb -merge ~/.Xresources
だからあなたの
$ xterm &
あまり明るいものを持ってくるはずです。
私にとって非常に役に立ったので、TL; DRでリソースに言及する必要がありますxterm
。
Thomas E. Dickeyの目に見えない島:XTerm FAQ
詳細
@Gilles_'SO-_stop_being_evil'には素晴らしい答えがあります。特に、printf
端末で色をプレビューする方法とASCIIカラーコードをエスケープする方法についての情報が好きです。
@Gillesの答えは解決策を見つけるのに役立ちました。私のものXTermが明るすぎる。気になる部分は明るい緑色です<username>@<machine-name>
。 (スクリーンショットがない理由はコメント{1}を参照してください。)リストされている色に変更することはできません。
xtermが16色のサポートでコンパイルされている場合は、[3と[4]をそれぞれ[9と[10]]に置き換えてください]より明るいバージョン(色8-15)を選択してください。
見に行くように案内されました。X.orgのドキュメント。前のリンクが指している場合
https://www.x.org/releases/X11R6.7.0/doc/xterm.1.html#:~:text=color0%20%28class%20Color0%29
「color0(クラスColor0)」のあるページ部分に移動し、次にCtrl「color0(クラスColor0)」に対して+操作を実行しません。ドキュメントにはf後に何も記載されていませんが、読むことはできます。color0
color6
color7
これはISO-6429拡張色を指定します。デフォルトは...
その後の色は@Gillesのテーブルと一致しますが、ドキュメントの内容を表示します。太字で強調表示し、角かっこ内に追加した説明でこれを2番目に表示する方法を提供するために繰り返します。
...デフォルトはそれぞれ次のとおりです。
ブラック[重要性color0
],
レッド3[重要性color1
],
グリーン3[color2
],
黄色3[color3
],
ダッジブルー1[color4
],
[ 気づくlinux.die.net/man/1/xterm
そして
man xterm | grep -B9 -A32 color4
どちらも「カスタマイズ可能な濃い青」をリストします。
何と一致するのかcolor4
。]
マゼンタ3[color5
], ターコイズ3[color6
]、そしてグレー90[color7
]。
これらの名前付き色のRGB(または他の色空間)座標を表示するには、X11
ルックアップを使用しますが、それでも機能しない場合はを使用してください。私は多くのリソースのリストをに見ましたが、私のコンピュータでは(注2を参照)にあります。rgb.txt
find /usr/share/ -type f -name "rgb.txt" 2>&1 | grep -i "X11"
find /usr/ -type f -name "rgb.txt" 2>&1 | grep -i "X11"
/usr/X11R6/lib/X11/rgb.txt
/usr/share/X11/rgb.txt
color8
また、以降は何も記載されていませんが、color14
読むcolor15
ことができます。
太い属性も有効な場合は、ISO-6429拡張色を指定します。デフォルトのリソース値は次のとおりです。
グレー30[color8
],
赤[color9
],
グリーン[color10
],
黄色[color11
],
スチールブルー1[color12
],
[ 気づくlinux.die.net/man/1/xterm
そして
man xterm | grep -m1 -B34 -A5 color15
両方とも「カスタマイズ可能な明るい青」をリストします。
何と一致するのかcolor12
。]
マゼンタ[color13
],
青[color14
]、
そして白色[color15
]。
「太い属性が有効な場合」は、デフォルト値を変更しないxterm*boldMode: false
限り.Xresources
、または.Xdefaults
。
.Xresources
これらすべての情報に基づいて、ホームディレクトリ(cd
;)にファイルを作成して、明るtouch .Xresources
すぎる緑色の問題を解決できました。おすすめしないという文をどこかで.Xdefaults
読んだので代わりにこれを選択しました。.Xdefaults
残念ながら、これについてのソースはありません。その後、この行を追加しました。
xterm*color10: green2
(green2
より明るく、green
より明るくgreen3
)
そして走っている
xrdb -merge ~/.Xresources
太い色を明るくするには、次の.Xresources
色を使用してください。
xterm*color8: gray20
xterm*color9: red2
xterm*color10: green2
xterm*color11: yellow2
xterm*color13: magenta2
xterm*color14: cyan2
xterm*color15: white2
あなたもできます。すべて他の色のペアと同じことをxterm*color3: green3
して明るさを減らします。xterm*color10:green6
#xxxxxx
16進数()とRGBの10進値を使用することもできます。他の色仕様も使用できることは間違いありません。したがって、あなたの質問に答えるには:
これらの色をどのように変更できますか? #xxxxxx色を使用する方法はありますか?
ファイルを使用してこれらの色を変更できます.Xresources
。
そして
#xxxxxx
次の色を使用できます。xterm*color10: #00ee00
(それぞれ)。
ノート:
{1}スクリーンショットを投稿したかったのですが、現在(2021年12月23日)StackExchangeのWebサイトで添付された画像を処理するのに問題があるようですが、Wayback Machineからバックアップを取得できませんでした。
{2}次のコマンドと出力はマイコンピュータ情報を表示します。私はRHEL 8を実行しています。 RHELは右編集する時間存在する第二企業エル私たちの中に。
$ uname -a
Linux MYMACHINE 4.18.0-240.10.1.el8_3.x86_64 #1 SMP Wed Dec 16 03:30:52 EST 2020 x86_64 x86_64 x86_64 GNU/Linux
その他の便利なリソース:
色名と色空間での位置
color[1]?[0-9]
特定の要因がどのように影響するかを説明する有用な説明を含むSO回答
ArchLinux:Xdefault端末の色を理解する
xtermでcolors[0..15]を使用するものは何ですか?
アプリケーション固有の.xresourcesの例
AstroBetter - xTermと端末のカスタマイズ:色LS_COLORS
、これらの作業を試みる前に、環境変数を慎重にバックアップしてくださいecho $LS_COLORS > ~/.env_LS_COLORS.$(date +'%s').bak
。
私が使用したものと非常に近いです。、私がやったように、これは太字の表示を無効にします。
おそらく最も役に立つでしょう:Thomas E. Dickeyの目に見えない島:XTerm FAQ