ウィキペディアによるとhttps://en.wikipedia.org/wiki/ANSI_escape_code#8ビット記事には8つの「標準色」と8つの「高輝度色」があります。 Linux仮想コンソール(tty)のターミナル機能を確認すると、tput colors
8が表示されます。しかし、VTで印刷すると16色が出ます。なぜですか?
スクリーンショットは次のとおりです。
256色はサポートされていません。コンソールは、この「効果」を生成するために既存のコンソールを混在させます。だから私はなぜそれがXやそのようなものをサポートしていないのか尋ねません。
答え1
ウィキペディアによるとhttps://en.wikipedia.org/wiki/ANSI_escape_code#8ビット記事には8つの「標準色」と8つの「高輝度色」があります。 tput colorでLinux仮想コンソール(tty)のターミナル機能を確認すると、8が表示されます。しかし、VTで印刷すると16色が出ます。なぜですか?
詳しく見ると、0〜7色が8〜15色よりも暗いバージョンであることがわかります。
このスキームは初期テキストモードのハードウェアに基づいており、4ビットを使用して次のように赤、緑、青、および強度を決定します。
-----------------
| 8 | 4 | 2 | 1 |
-----------------
| I | R | G | B |
-----------------
必要な値を追加してください。たとえば、明るい赤 = 8+4 = 12 です。
あなたの例では、ビットが異なるように配置され、1 =赤、2 =緑、4 =青のように見えます。
このスキームには3つのカラービットがあるため、8つの異なる色(000または黒が1つの色)と1つの選択可能な明るさまたは強度ビットがあります。これが「8つの標準色と8つの高輝度色」を意味します。
(このビットは「プロパティメモリ」というメモリセクションに保存されます。残りの4ビットは背景色を選択し、点滅モードをオンまたはオフにします。)
256色が表示されない理由は、端末が256色モードまたは同様のモードではないためです。