Linuxコンソールは16色を表示できますか?

Linuxコンソールは16色を表示できますか?

マニュアルページを読んでいますが、Linuxコンソールが端末タイプの代わりに端末タイプをterminfo使用できるかどうかを知りたいです。linux-16colorlinux

prompt% infocmp linux linux-16color
comparing linux to linux-16color.
comparing booleans.
comparing numbers.
colors: 8, 16.
ncv: 18, 42.
pairs: 64, 256.
comparing strings.
setab: '\E[4%p1%dm', '\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m'.
setaf: '\E[3%p1%dm', '\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m'.

ターミナルタイプをlinuxに変更し/etc/inittabましたがlinux-16color、Linuxコンソールには8つの色しか表示されないようです。 Linuxコンソールの端末タイプをlinux-16color指定して16色を表示できると思います。また、環境変数を設定しようとしましたが、成功TERMしませんlinux-16colorでした。

Linuxコンソールは16色を表示できますか? Linuxコンソールは端末タイプをサポートしていますかlinux-16color

また、見ることができます

ベストアンサー1

端末linux-16color説明の使い方快適BlinkプロパティとBoldプロパティは、コード0から15をコンソールで利用可能な16の色にマップします。説明では、これは使用中です。5そして25そして1そして21一定setafそしてsetabconsole_codes(4) のマニュアルページでこれらの機能を確認できます。

次のコマンドを使用すると、見やすくなります。-fオプションinfocmp:

    setab=\E[4 
            %p1%{8}%m%d 
            %? 
                    %p1%{7}%> 
                    %t;5 
            %e 
                    ;25 
            %; 
            m,

このシーケンス(上から下へ読む)は、次のことを行います。

  • ASCIIエスケープ文字(\E)を送信してから[4
  • 最初のパラメータが7より大きいことを確認してください。
    • もしそうなら;(区切り文字)と5blink属性)
    • それ以外の場合は; 2 5リダイレクトを送信します。blink去る)
  • 送信してSGRを完了してください。m

これらのプロパティは通常、テキストがちらつく現象を引き起こさないか、または他のフォントを使用して太字のテキストを表示するVGAドライバで動作します。代わりに、色セットを拡張できます(もちろん、非標準的な方法で)。私が使用した仮想マシンのような他のディスプレイデバイスがある場合、それらのどれももはや適用されません。

一度設定すると問題が発生します。 Unicode対応フォントをロードする構成(たとえば、512個のグリフと元の256個のグリフ)は、対応する16色に使用されているビットの1つを占めるため、実際には8色しか得られません。ここで言及されていますたとえば、しかし、最後のマニュアルページの更新以来導入されました。

前の例では、512グリフLatArCyrHeb-16フォントが使用されていたため、フレームバッファを使用しない限り、Linuxコンソールで明るい色を使用できなくなりました。フレームバッファなしで明るい色を取得したい場合、その言語に属さない文字なしで購入できる場合は、次のように言語固有の256グリフフォントを使用できます。

おすすめ記事