ttyで実際の色をサポートする方法があるかどうか疑問に思います。明確に言えば、ターミナルエミュレータを話すのではなく、ディスプレイサーバーが動作していないときに得られる実際のttyを言うことです。
答え1
Linuxコンソール24ビットRGBカラー指定子を含むECMA-48 SGRコードをサポートします。
for (( i = 0; i < 256; i++ )); do
printf '\e[38;2;0;0;%dma\e[0m' "$i"
done
printf '\n'
ただし、コンソールがフレームバッファを使用しても、現在の実装ではこれをデフォルトのパレットに最も近い16色に縮小します。
Linuxのフレームバッファはデフォルトで24ビットカラーをサポートしているため、コンソールターミナルエミュレータを作成できます(例:Facebookの用語)は24ビットSGRコードを完全にサポートしていますが、現在は1つもわかりません。
次のツールfbi
コンソールに真のカラー画像を表示するために使用できます。ソースfbida
ターボールにはfbcon
256色SGRをサポートするコードが含まれています。
for (( i = 0; i < 256; i++ )); do
printf '\e[38;5;%dma\e[0m' "$i"
done
printf '\n'
答え2
いいえ。
実際の端末は以下で実行されます。ビデオカード用の「テキストモード」。いくつかのテキストモードがあります。歴史的な理由から、最大色は16色です。長い間、テキストモードは改善を止め、グラフィックモードに置き換えられました。
したがって、理論的にはテキストモードで24ビットカラー(トゥルーカラー)を持つことは可能ですが、これには非常に珍しいハードウェアを見つける必要があります。