t.p*_*tel 5 colors gnome-terminal
我正在尝试使用 ANSI 转义码将彩色字符串打印到 gnome 终端,但是,尽管它适用于自定义颜色,甚至 256 种额外颜色,但它不适用于 RGB 代码。
所以,简化:
cout << "\033[33m" << '.' << "\033[0m"; # prints with color
cout << "\033[38;5;135m" << '.' << "\033[0m"; # prints with color
cout << "\033[38;2;0;135;0m" << '.' << "\033[0m"; # doesn't work, prints with default color
Run Code Online (Sandbox Code Playgroud)
如何在 gnome 终端中输出带有 RGB 颜色代码的内容?
我正在关注此链接以获取输出:Wikipedia ANSI escape code。
我补充说:
$ export TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)
到我的 .bashrc 文件以支持 256 色和:
$ tput colors
Run Code Online (Sandbox Code Playgroud)
如果这很重要,则输出 256。
由于以下原因,RGB 颜色不能在终端中使用:
上述两个原因是紧密相连的。其中大部分取决于您的屏幕和 ANSI 颜色规范。如果您使用良好的终端仿真器,您也许能够为某些 ANSI 颜色代码设置自定义 RGB 颜色。
Bash 作为 shell 对于屏幕可以对显示器执行的操作无能为力。它只会将终端上的文字传递到屏幕上。屏幕可以决定如何处理它。屏幕可以决定 ANSI 转义码代表什么颜色(如果终端允许颜色)。
解决方法是更改终端颜色规格。然而,很少(我不知道)会允许你改变颜色。