web-dev-qa-db-ja.com

LinuxのTTYコンソールで使用される色を変更する方法はありますか?

「色を変える」とは、黒を#000000から#111111に変更するようなものを意味し、「TTYコンソール」とは、実行したときに得られるものを意味します。 Ctrl+Alt+F1 X11から。xtermurxvtのようなターミナルエミュレータではありません。

私はArchLinuxを使用していますが、それはTTYを提供するプログラムともっと関係があると思います(agetty、私は思います)。

14
Austin Hyde

settermコマンドはあなたが探しているものです。

setterm -foreground black -background white

[〜#〜]編集[〜#〜]

いいえ、要求した色の名前を変更する方法はありません。それらはcurses、terminfo、または端末自体のどこでもそのように参照されていません。カーネルソースを編集して再コンパイルすることで、カラーインデックスの定義(0〜15だと思います)を変更できます。

3
h0tw1r3

これは完全に可能であり、私がArchのセットアップで行うことです。

このようなものをシェルスクリプトにドロップして、ログイン時に実行することができます。

if [ "$TERM" = "linux" ]; then
    echo -en "\e]P0151515" # Black
    echo -en "\e]P1ac4142" # Red
    ...
    echo -en "\e]PEac4142" # Bright Cyan
    echo -en "\e]PFac4142" # Bright White
    clear # Clear artifacts
fi

\e]P0から\e]PF(基数16)は、16(8の半分明るい、8の明るい)色を設定するために必要なエスケープシーケンスです。その後、希望の代替色を配置します。 151515

13
Chris Kempson

これは私が知っている最高のコマンドです:

setterm -clear all -foreground green -bold -store

私が知る限り、あなたは8つの異なる色しか持つことができません。ベーシック8の前でブライトを使ってもう少し?

2