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을 "밝은 흰색"으로 설정합니다.

관련 정보