Linux VTは8色をサポートしていますが、実際には16色があります。なぜですか?

Linux VTは8色をサポートしていますが、実際には16色があります。なぜですか?

ウィキペディアによるとhttps://en.wikipedia.org/wiki/ANSI_escape_code#8ビット記事には8つの「標準色」と8つの「高輝度色」があります。 Linux仮想コンソール(tty)のターミナル機能を確認すると、tput colors8が表示されます。しかし、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色モードまたは同様のモードではないためです。

おすすめ記事