st端末:コンソールの色を端末に正確に複製します。

st端末:コンソールの色を端末に正確に複製します。

同じビューを持っていたときに深刻な問題に遭遇しました。コンソールの色はまったく同じで、それを端末に移植することでした。

コンソールは色を使用するかサポートするlinuxだけscreenです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を「明るい白」に設定します。

関連情報