web-dev-qa-db-ja.com

エスケープシーケンスを使用してfbtermの色を変更するにはどうすればよいですか?

fbterm(1) から次のように読むことができます。

FbTermは、xtermの256色モード拡張をサポートします。 (...)しかし、xtermの256色のエスケープシーケンスはFbTermによって実装されたLinuxシーケンスと競合するため、この機能をサポートするためにプライベートエスケープシーケンスが導入されました。

   ESC [ 1 ; n }                   set foreground color to n (0 - 255)
   ESC [ 2 ; n }                   set background color to n (0 - 255)
   ESC [ 3 ; n ; r ; g ; b }       set color n to (r, g, b) , n, r, g, b all in (0 - 255)

これらのエスケープシーケンスは、コマンドecho -neでどのように記述できますか?

2
merryup

あなたは例えばを使用することができます.

echo -ne "\E[2;32} "

青いスペースを印刷する必要があります。 (32は、デフォルトの8ビットカラーテーブルの32番目の色で、青のように見えます。)

(もちろん、エスケープ文字を表すために\x1bの代わりに\033または\Eを使用することもできます。)

255色すべてを表示するには、for i in {0..255}; do echo -ne "\E[2;$i} "; done; tput sgr0; echoまたはfor i in {0..255}; do echo -ne "\E[2;$i}$i "; done; tput sgr0; echoを使用できます。これには、色の番号も含まれます。

例: colour output example captured with fbgrab from framebufferconsole

2
Kai