コンソール/仮想端末で利用可能なすべての色を変更する方法はありますか?
コンソールとは、xtermやurxvtのようなものではなく、CTRL + ALT + F1を押した後に取得することを意味します。だからそれは変化を意味していると思います。
次のようにエスケープシーケンスを使用して8つの色を変更できます。
echo -en "\e]PY######"
ここで、Yは色の数値ID(0〜7)、######は16進カラー値です。
私の究極の目標は、Solarizedカラースキームをコンソールに移植することです。なぜなら、コンソールにあるのか、vimにあっても同じように見えたいからです。
これに提案がありますか?
xtermのhtop:
xtermのhtop、夏時間の色
8つの色を適用した後、コンソールのhtop:
htopコンソールで8つの色を適用したら、次のことができます。
答え1
TTYフレームバッファコンソールは、カーネルハッキングなしで8〜16色以上を持つことはできません。次の引用を参照してください。 「Linuxフレームバッファは256(またはそれ以上)の色をサポートしていますが、Linuxコンソールドライバはサポートされていません。したがって、コンソールアプリケーションはまだ16色に制限されています。フレームバッファの有無にかかわらずLinuxコンソール。」
したがって、16色または8色以上の色はありません。 ~/.bashrcで説明されているのと同じコマンドを使用して、フレームバッファ端末(別名ctrl + alt + 1)の色を変更する方法についてのチュートリアルがあります。TTYチュートリアルの色
答え2
コンソールでこのbash機能を試してください。偶然にもX端末では動作しません(タブのためそうです)。特に、最後に使用された3つのファイルを確認してください。
/sys/module/vt/parameters/default_red
/sys/module/vt/parameters/default_grn
/sys/module/vt/parameters/default_blu
clr () {
clear # GFX bug otherwise
setterm -regtabs 4
Color_names="bla red gre yel blu mag cya whi"
Color_arr=($Color_names)
tput setaf 4
tput setab 7
echo -n " normal "
tput sgr0
echo -n " "
tput setaf 7
tput setab 4
echo " bright "
tput sgr0
for cmd in sgr0 bold
do
tput $cmd
for m in 0 1 2 3 4 5 6 7
do
tput setaf $m
echo -n ${Color_arr[$m]}" "
done
done
echo
tput sgr0
cat /sys/module/vt/parameters/default_red \
/sys/module/vt/parameters/default_grn \
/sys/module/vt/parameters/default_blu | sed s/,0/", "/g | \
sed s/^0/" "/g | \
tr "," "\t"
}
編集者がコメントに返信します。
たとえば、sys/module/vt/parameters/default_grn
緑色のファイル()の2番目の数字を170
-に変更すると、2番目の色(インデックス1)が赤と同じくらい緑色になり、青はなくなります(少なくとも私の場合はその数があるため)。 )default_red
170
に0
ありますdefault_blu
。
今すぐ入力しますtput setaf 1; echo hi
。ここで、前景色をインデックス1の色(変更色)に設定してから印刷します。 (1行のコマンドをコロンで区切る必要があります。そうしないと、プロンプトはtput
その間にコマンドをリセットできます。)
いつものように見える場合は、行をもう一度やり直してくださいecho -n '\033]R'
。tput
今、両方「こんにちは」は黄色でなければなりません。
うまくいったら(またはうまくいかない場合)教えてください。