inittab エントリでターミナル タイプを次のように設定するのは正しいですか: c2:... tty2 linux-m は、TERM 変数を設定して、システムが実際にどのターミナル タイプであるかをコマンド/プログラム/アプリケーションに通知する、ある種の情報提供タスクにすぎません。つまり、TERM がターミナルをモノクロ タイプとして記述している場合でも、ターミナルは実際にカラー表示が可能であり、コマンドがls --color=always
その出力をターミナルに送信すると、inittab で非カラーとして定義されていてもカラーが表示されます。
答え1
TERM は確かに有益ですが、多くのプログラム/コマンドはそれを尊重するか、それに依存します。
色の生成方法は端末の種類によって大きく異なります。実際には、色がサポートされている端末はすべて ANSI (またはスーパーセット) を使用していると思われます。
TERM がモノラル端末タイプに設定されている場合、プログラムは他の情報を使用して、どのタイプの端末のカラーコントロールを使用するかを決定する必要があります。デフォルトが「ANSI」の場合、今日ではほとんどの状況で機能する可能性があります。
端末が本当にモノクロである場合、これは良くないことです。コマンド/プログラムでは、要素を視覚的に区別するために、色の代わりにモノクロ メソッド (反転、下線、輝度、取り消し線、点滅など) を使用する方が適切です。
特定のプログラム/コマンドが TERM を尊重する場合 (多くの場合そうであるように)、色の要求が端末タイプでサポートされていないことが報告される可能性も同様に高くなります。
見るhttp://tldp.org/HOWTO/NCURSES-プログラミング-HOWTO/color.html
if(has_colors() == FALSE)
{ endwin();
printf("Your terminal does not support color\n");
exit(1);
}
ncurses のソース コードを調べてどのように実装されているかを確認したことはありませhas_colors()
んし、プログラムやコマンドのどの程度が (もしあるとすれば) 上記のパターンに従っているのかはわかりません。
非常に重要なソフトウェアの1つがTERMを尊重していることがわかりました
TERM=xterm-mono robotfindskitten
(mono display)
一方で、ls
私が嘘をついている時は分かります。