web-dev-qa-db-ja.com

xtermの色が明るすぎる

数日前にdwmを使い始めたばかりで、ターミナルエミュレーターとしてxterm(uxterm)を使用しています。

ただし、カラーで出力する特定のアプリケーション(vi/vim、lsなど)が明るい色と(場合によっては)太字のフォントを使用していることに気づきました。端末の背景色が濃いパステルなので、色を合わせたいです。

これらの色を変更するにはどうすればよいですか?#xxxxxxの色を使用する方法はありますか?

7
n0pe

Xtermは Xリソース で設定されます。これは、黒を白に、デフォルトよりも明るい青に設定する方法です(明らかに、必要に応じて色を調整してください)。

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

Xの色名を使用できます(すべての色名はxcolorsで、またはrgb.txtと呼ばれるファイルで確認できます。/etc/X11/usr/X11、または/usr/share/X11またはシステムに応じて同様の場所)または#RRGGBBcolorBDは太字に使用される色です。 colorBDModefalse(デフォルト)に設定すると、この設定は無視され、太字のテキストは太字フォントで表示されます。同じことがcolorULcolorULMode、下線にも当てはまります。 color8を超えることができます(xtermのバージョンとコンパイル時の構成に応じて、最大color255以下)。 color8color15は0〜7に対応し、太字で表示されます。 16を超える色は、明示的に構成しない限り、アプリケーションで使用されることはほとんどありません。

これらの設定を~/.Xdefaultsというファイルに入れます。ほとんどのシステムでは、ログイン時にこのファイルが自動的に読み込まれます。読み込まれない場合は、次のコマンドをX起動スクリプトに追加してください。

xrdb -merge ~/.Xdefaults

前景色42と背景色17の外観をテストするには、そのターミナルのシェルでこれを実行します。

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色サポートでコンパイルされている場合、[3[4をそれぞれ[9[10に置き換えて、明るいバージョン(色8〜15)を選択します。

.Xdefaultsホームディレクトリのファイル。利用可能な他の人々を試すことができます.Xdefaults設定 this one のように、 "zenburn"の暗い配色を使用します。 「xterm」で始まる行だけを使用します。 uxtermでも同様に機能することをテストしました。何らかの理由でうまくいかない場合は、行の先頭を「uxterm」に変更してください。

2
rozcietrzewiacz

Dwm:を使用していると述べたので、(他の回答で述べたように)Xリソースをそのままにして、代わりに端末を呼び出すコマンドを変更することもできます。私のconfig.h端末コマンドを変更して、

static const char *termcmd[]  = { "uxterm", "+cm", "+dc", "-bg", "black", "-fg", "gold", NULL };

これにより、色が有効になり、黒に金が使用されます。使用可能なオプションについては、 https://linux.die.net/man/1/xterm を参照してください。 (構成を変更した後、dwmを再コンパイルする必要があることに注意してください。)

0
Echsecutor