【问题标题】:How can I set the brown color using ANSI escape sequence?如何使用 ANSI 转义序列设置棕色?
【发布时间】:2015-12-10 12:04:06
【问题描述】:

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

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

我应该使用哪些参数?

【问题讨论】:

  • 快速搜索将我带到this konsole (KDE terminal emulator) issue,其中第一条评论说如何使用 xterm 转义最多 256 种颜色。你试过这些代码吗?
  • @JoachimPileborg 谢谢!我不知道。所以我现在就测试一下。

标签: c linux sequence ansi


【解决方案1】:

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!)

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

【讨论】:

    猜你喜欢
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2016-12-11
    • 2020-09-29
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多