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

标签 c linux sequence ansi

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

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

我应该使用哪些参数?

最佳答案

ANSI 只定义了 8 种颜色。没有一个是棕色(尽管有些人将不亮的“黄色”称为“棕色”,例如 Yellow appears as brown in 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

有些人已经使用此功能编写了程序(或脚本),例如 setcolors - Change your Linux VT color palette (at boot time too!) .

要更改终端仿真器中的颜色,例如,在启动并登录到您的桌面后,这些其他终端可能具有用于在其调色板中设置条目的控制序列。

关于c - 如何使用 ANSI 转义序列设置棕色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34201443/

相关文章:

c - 我什么时候应该在 scanf() 中使用&符号

c - 如何使用 execvp() 执行命令

linux - Jenkins Pipeline 启动 Protractor Selenium 服务器,然后永远卡住

javascript - 按照 php + javascript 中选中的复选框的顺序设置订单号

python - 使用哪个更安全? uuid,binascii.hexlify(os.urandom()) 或 random.SystemRandom()?

c - 如何从 C 程序在 Linux 中创建硬链接(hard link)

c - 内存泄漏结构字符 C

linux - 如何将某些内核线程绑定(bind)到给定的内核?

PHP:如何检测用户是否是 root/sudo?

date - 为什么 `later` 方法会导致 `Date` 范围内的无限范围?