設定で色を変更することはできますが、コマンドラインからターミナルの背景色とテキスト色を変更するにはどうすればよいでしょうか?
答え1
特定の XTerm/ANSI 互換端末 (やxterm
などgnome-terminal
) では、デフォルトの 8/16 色パレットよりも大きいパレットを使用して色を設定できます (たとえば、88 色、256 色、または 16777216 色 (RGB) パレットを使用します。 と はどちらもxterm
256gnome-terminal
色と 16777216 色 (RGB) パレットの両方をサポートしています)。シェルがこれを上書きする可能性があることに注意してください (たとえば の場合がこれに該当しますzsh
)。
以下は、256 色パレットをサポートする XTerm/ANSI 互換端末で、256 色パレットの色とその ANSI カラー コードを一覧表示するスクリプトです。
#!/bin/bash
for((i=16; i<256; i++)); do
printf "\e[48;5;${i}m%03d" $i;
printf '\e[0m';
[ ! $((($i - 15) % 6)) -eq 0 ] && printf ' ' || printf '\n'
done
色を前景色に適用するか背景に適用するかに応じて、次のコマンドでそれぞれまたは<fg_bg>
の値を使用します。38
48
printf '\e[<fg_bg>;5;<ANSI_color_code>m'
たとえば、前景色 ( <fg_bg>
= 38
) を赤 ( <ANSI_color_code>
= 196
) に、背景色 ( <fg_bg>
= 48
) を黒 ( <ANSI_color_code>
= 0
) に設定するには、次のようにします。
printf '\e[38;5;196m Foreground color: red\n'
printf '\e[48;5;0m Background color: black\n'
printf '\e[K'
背景色を行全体に適用し、前景色をカーソルに適用するには、を使用してプロンプトを再描画する必要があります。
互換性のある端末で ANSI カラー コードの代わりに RGB 値を使用して同じことを実現できます。色を前景色に適用するか背景に適用するかに応じて、次のコマンドでそれぞれまたは<fg_bg>
の値を使用します。38
48
printf '\e[<fg_bg>;2;<R>;<G>;<B>m'
たとえば、前景色 ( <fg_bg>
= 38
) を赤 ( <R>
= 255
、<G>
= 0
、<B>
= 0
) に、背景色 ( <fg_bg>
= 48
) を黒 ( <R>
= 0
、<G>
= 0
、<B>
= 0
) に設定するには、次のようにします。
printf '\e[38;2;255;0;0m Foreground color: red\n'
printf '\e[48;2;0;0;0m Background color: black\n'
printf '\e[K'
ここでも、背景色を行全体に適用し、前景色をカーソルに適用するには、を使用してプロンプトを再描画する必要があります。
printf '\e[0m'
どちらの方法を使用しても、すべての属性をリセットできます。
答え2
情報は以下から入手できますこのページプレビュー列を除く:
シーケンスは、エスケープ文字 (多くの場合、” ^[
” または” <Esc>
” で表されます) とそれに続くその他の文字 (” ^[FCm
” (は、FC
以下の箇条書きリストの数字の 1 つ)) で構成されます。
ではbash
、Escコードは次のいずれかになります。
\e
\033
(8進数)\x1B
(16進数)
注1:「\e[0m
」シーケンスは、すべての属性 (書式設定と色) を削除します。各色付きテキストの最後にこれを追加すると良いでしょう。
注2:前景色と背景色は端末の設定やすべての色がサポートされているわけではありません。
設定/リセット
0
: すべての修飾子、前景、背景の属性をリセット/削除します。echo -e "\e[0mNormal Text"
1
: 太字/明るい:echo -e "Normal \e[1mBold"
2
: 暗め:echo -e "Normal \e[2mDim"
4
: 下線:echo -e "Normal \e[4mUnderlined"
5
: 点滅 (XTerm 以外のほとんどの端末では動作しません):echo -e "Normal \e[5mBlink"
7
: 反転/反転:echo -e "Normal \e[7minverted"
8
: 非表示(機密情報に役立ちます):echo -e "Normal \e[8mHidden Input"
21
: 太字/明るい文字をリセット/削除:echo -e "Normal \e[1mBold \e[21mNormal"
22
: リセット/削除 dim:echo -e "Normal \e[2mDim \e[22mNormal"
24
: 下線をリセット/削除:echo -e "Normal \e[4mUnderlined \e[24mNormal"
25
: 点滅をリセット/削除:echo -e "Normal \e[5mBlink \e[25mNormal"
27
: リセット/削除 反転/反転:echo -e "Normal \e[7minverted \e[27mNormal"
28
: 非表示をリセット/削除:echo -e "Normal \e[8mHidden \e[28mNormal"
前景
39
: デフォルト (通常は緑、白、または薄い灰色):echo -e "Default \e[39mDefault"
30
: 黒:echo -e "Default \e[30mBlack"
(背景色との組み合わせが最適:echo -e "Default \e[30;107mBlack on white"
)31
: 赤(緑の背景では使用しないでください)32
: 緑33
: 黄色34
: 青35
: マゼンタ/パープル36
: シアン37
: ライトグレー90
: 暗灰色91
: ライトレッド92
: ライトグリーン93
: ライトイエロー94
: ライトブルー95
: ライトマゼンタ/ピンク96
: ライトシアン97
: 白
背景
49
: デフォルトの背景色(通常は黒または青)40
: 黒41
: 赤42
: 緑43
: 黄色44
: 青45
: マゼンタ/パープル46
: シアン47
: ライトグレー (白の前景では使用しないでください)100
: ダークグレー (黒の前景では使用しないでください)101
: ライトレッド102
: ライトグリーン (白の前景では使用しないでください)103
: ライトイエロー(白の前景には使用しないでください)104
: ライトブルー (ライトイエローの前景では使用しないでください)105
: ライトマゼンタ/ピンク (明るい前景では使用しないでください)106
: ライトシアン (白の前景では使用しないでください)107
: 白(明るい前景では使用しないでください)
前景色と背景色の両方を一度に設定するには、フォームを使用しますecho -e "\e[S;FG;BGm"
。例: echo -e "\e[1;97;41m"
(太字の白の前景色、赤の背景色)
256 色のオプションについては、ソース ページを参照してください。
答え3
色を偶発的に変更する
偶発的に色を変えることを意図している場合:
あなたはセッターム指示:
setterm -term linux -back <background_colour> -fore <text_color> -clear
選択できる色は次のとおりです(前景と背景の両方)。
black|blue|green|cyan|red|magenta|yellow|white|default
その他のオプションについては、以下をご覧ください。
setterm -help
プロフィール(色)設定を変更する
dconf
14.04では、色やターミナルを設定するためのオプションが見つかりませんでした。ただし、gconftool
まずプロフィール名を取得する必要があります:
gconftool-2 --get /apps/gnome-terminal/global/profile_list
次に、プロフィールのテキストの色を設定します。
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/foreground_color" --type string "#FFFFFF"
例えば、テキストの色を白に設定するには
背景色も同様です:
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/background_color" --type string "#000000"
例えば背景色を黒に設定するには
あるいは、色の名前を設定するには、setterm コマンドと同じパレットからwhite
または を使用するだけです。例:green
gconftool-2 --set "/apps/gnome-terminal/profiles/<profile_name>/background_color" --type string black
答え4
色付きの出力を得るために使用されるさまざまなカラーコードは、色付きの背景:
40 black
41 red
42 green
43 yellow
44 blue
45 magenta
46 cyan
47 white
したがって、次のコマンドを実行すると背景が赤くなります。
$ echo -e '\e[0;41m'
シェル、ターミナル エミュレーターなどによっては、 が必要ない場合もあります-e
。