st 终端:将控制台的颜色准确克隆到终端

st 终端:将控制台的颜色准确克隆到终端

当尝试拥有相同的视图时,我遇到了严重的问题 - 控制台的颜色完全相同,然后将它们移植到终端。

控制台使用linuxscreen仅支持8颜色,问题是终端对这些8颜色的定义不同,并且显示与控制台不同。

例如,相同的颜色代码1在控制台和终端上看起来不同。

我需要一种方法来解决这个问题,并让我感觉我根本没有从终端和控制台切换。

如果可能的话申请st-terminal。

编辑:

st 有这个颜色代码,如何使其看起来与终端相同?

static const char *colorname[] = {
> /* 8 normal colors */
> "black",
> "red3",
> "green3",
> "yellow3",
> "blue2",
> "magenta3",
> "cyan3",
> "gray90",

> /* 8 bright colors */
> "gray50",
> "red",
> "green",
> "yellow",
> "#5c5cff",
> "magenta",
> "cyan",
> "white",

> [255] = 0,

> /* more colors can be added after 255 to use with DefaultXX */
> "#cccccc",
> "#555555",

 };

unsigned int defaultfg = 7;
unsigned int defaultbg = 0;
static unsigned int defaultcs = 256;
static unsigned int defaultrcs = 257;

答案1

对于 Linux 控制台控件,请参阅man console_codes。颜色条目:

   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

例如,

echo -e "\033]P7ffffff"

将颜色 7 设置为“亮白色”。

相关内容