コンソールの色を表示するbash関数を作成しました。
しかし、一部の色はそのように表示できないようです! (?)
また、奇妙な「明るい黒」に注意してください!
(注:以下のスクリーンダンプはxtermのものですが、これはコンソールモードで使用するためのものです。スクリーンダンプを取得するにはxtermを使用する必要がありました。しかし、見た目はほとんど同じです。)
function clr () {
Color_names="bla red gre yel blu mag cya whi"
Color_arr=($Color_names)
for m in {0..15}
do
tput setaf $m
echo -n ${Color_arr[$((m % 8))]}" "
done
echo
tput sgr0
cat /sys/module/vt/parameters/default_red \
/sys/module/vt/parameters/default_grn \
/sys/module/vt/parameters/default_blu | tr "," "\t"
}
チェックするとtput colors
、答えは8であることがわかるでしょう。明るい色を表示する方法はtput bold
。
これは、前景と背景のすべての8x8x2の組み合わせ、通常と太字を示しています。
for cmd in sgr0 bold; do
tput $cmd
for i in $(seq 0 7); do
for j in $(seq 0 7); do
tput setaf $i; tput setab $j; echo -n " $i,$j "
done
tput sgr0; echo; tput $cmd
done
done
このブログ投稿を参照してください: http://www.enigmacurry.com/2009/01/20/256-colors-on-the-linux-terminal/
編集:tput-color
の結果が8色しかない場合は、ncursesを使用して弱点を解決できます。 ubuntuでそれをインストールします:
Sudo apt-get install ncurses-term
〜/ .bashrcまたは〜/ bash_profileに次の行を追加します。
export TERM=xterm-256color
スクリプトの代わりに、emacsコマンドを使用して色を確認できます。ターミナルでemacs -nw
を使用してemacsを実行し、コマンドM-x list-colors-display
を入力します
ウィッチターミナルは関係ありません。このツールはすべてのターミナルエミュレータで動作します;-)
Linuxコンソールに使用できる端末の説明がいくつかあります。もちろん、最も一般的に使用されるものは TERM=linux
で設定されます。
別の方法として、 TERM=linux-16color
があります。これは、@ angusの回答に見られる太字/色の組み合わせを実行します。
linux
とlinux-16color
をinfocmp
と比較すると、次のようになります。
comparing linux to linux-16color.
comparing booleans.
comparing numbers.
colors: 8, 16.
ncv: 18, 63.
pairs: 64, 256.
comparing strings.
setab: '\E[4%p1%dm', '\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m'.
setaf: '\E[3%p1%dm', '\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m'.
%t;5
と%t;1
の部分は、blink属性とbold属性(ディスプレイハードウェアの機能)を使用して、tput setab
とtput setaf
に入力された値に応じて明るい背景色と前景色を取得します。
これは、linux-16color
でncursesテストプログラムを使用して作成されたスクリーンショットです。