設定/リセット

設定/リセット

設定で色を変更することはできますが、コマンドラインからターミナルの背景色とテキスト色を変更するにはどうすればよいでしょうか?

答え1

特定の XTerm/ANSI 互換端末 (やxtermなどgnome-terminal) では、デフォルトの 8/16 色パレットよりも大きいパレットを使用して色を設定できます (たとえば、88 色、256 色、または 16777216 色 (RGB) パレットを使用します。 と はどちらもxterm256gnome-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

スクリーンショット1

スクリーンショット

色を前景色に適用するか背景に適用するかに応じて、次のコマンドでそれぞれまたは<fg_bg>の値を使用します。3848

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'

スクリーンショット3

printf '\e[K'背景色を行全体に適用し、前景色をカーソルに適用するには、を使用してプロンプトを再描画する必要があります。

スクリーンショット4

互換性のある端末で ANSI カラー コードの代わりに RGB 値を使用して同じことを実現できます。色を前景色に適用するか背景に適用するかに応じて、次のコマンドでそれぞれまたは<fg_bg>の値を使用します。3848

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'

スクリーンショット5

printf '\e[K'ここでも、背景色を行全体に適用し、前景色をカーソルに適用するには、を使用してプロンプトを再描画する必要があります。

スクリーンショット6

printf '\e[0m'どちらの方法を使用しても、すべての属性をリセットできます。

スクリーンショット7

答え2

情報は以下から入手できますこのページプレビュー列を除く:

シーケンスは、エスケープ文字 (多くの場合、” ^[” または” <Esc>” で表されます) とそれに続くその他の文字 (” ^[FCm” (は、FC以下の箇条書きリストの数字の 1 つ)) で構成されます。

ではbashEscコードは次のいずれかになります。

  1. \e
  2. \033(8進数)
  3. \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

プロフィール(色)設定を変更する

dconf14.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

関連情報