如何使用转义序列改变 fbterm 的颜色?

如何使用转义序列改变 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

答案1

您可以使用例如

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; echofor i in {0..255}; do echo -ne "\E[2;$i}$i "; done; tput sgr0; echo其中还包括颜色编号。

例子: 使用 fbgrab 从 framebufferconsole 捕获的颜色输出示例

相关内容