如何使用ANSI转义序列设置棕色?

我可以只使用序列Esc[Value,Valuem来设置背景的棕色吗? (不仅是黑色,红色,绿色,黄色,蓝色,洋红色,青色,白色…我想要使用更多颜色)。

如何轻松实现? 我想在我的启动代码中实现它,所以我没有机会使用标准库。

我应该使用哪些参数?

ANSI仅定义了8种颜色。 没有一个是棕色的 (尽管有些人称非亮“黄色”为“棕色”,例如, 黄色在konsole中显示为棕色 )。

如果要在Linux 引导代码中使用不同的颜色,可以使用Linux控制台调色板转义序列来更改控制台调色板中的一个条目。 参考console_codes(4)手册页:

  ESC ] OSC (Should be: Operating system command) ESC ] P nrrggbb: set palette, with parameter given in 7 hexadecimal digits after the final P :-(. Here n is the color (0-15), and rrggbb indicates the red/green/blue values (0-255). ESC ] R: reset palette 

有些人使用此function编写程序(或脚本),例如setcolors – 更改Linux VT调色板(在启动时也是如此!) 。

为了改变终端仿真器中的颜色,例如,在引导和登录到桌面之后,这些其他终端可以具有用于在其调色板中设置条目的控制序列。