위키피디아에 따르면https://en.wikipedia.org/wiki/ANSI_escape_code#8비트기사에는 8개의 "표준 색상"과 8개의 "고휘도 색상"이 있습니다. Linux 가상 콘솔(tty)의 터미널 기능을 확인하면 tput colors
8이 표시됩니다. 하지만 VT로 인쇄하면 16가지 색상이 나옵니다. 왜 그럴까요?
스크린샷은 다음과 같습니다.
256색은 지원되지 않는 것으로 확인됩니다. 콘솔은 이 "효과"를 발생시키기 위해 기존 콘솔을 혼합합니다. 그래서 나는 왜 그것이 X나 그와 유사한 것을 지원하지 않는지 묻지 않을 것입니다.
답변1
위키피디아에 따르면https://en.wikipedia.org/wiki/ANSI_escape_code#8비트기사에는 8개의 "표준 색상"과 8개의 "고휘도 색상"이 있습니다. tput color를 통해 Linux 가상 콘솔(tty)의 터미널 기능을 확인하면 8이 표시됩니다. 하지만 VT로 인쇄하면 16가지 색상이 나옵니다. 왜 그럴까요?
자세히 살펴보면 0~7 색상이 8~15 색상보다 더 어두운 버전임을 알 수 있습니다.
이 구성표는 초기 텍스트 모드 하드웨어를 기반으로 하며 4비트를 사용하여 다음과 같이 빨간색, 녹색, 파란색 및 강도를 결정합니다.
-----------------
| 8 | 4 | 2 | 1 |
-----------------
| I | R | G | B |
-----------------
원하는 값을 추가하세요. 예를 들어 연한 빨간색 = 8+4 = 12입니다.
귀하의 예에서는 비트가 다르게 배열되어 1=빨간색, 2=녹색, 4=파란색처럼 보입니다.
이 구성표에는 3개의 색상 비트가 있으므로 8개의 서로 다른 색상(000 또는 검정색이 하나의 색상임)과 1개의 선택 가능한 밝기 또는 강도 비트가 있습니다. 이것이 바로 "8가지 표준색상과 8가지 고휘도색상"을 의미합니다.
(이 비트는 "속성 메모리"라는 메모리 섹션에 저장됩니다. 나머지 4비트는 배경색을 선택하고 깜박임 모드를 켜거나 끕니다.)
256색이 표시되지 않는 이유는 터미널이 256색 모드 또는 이와 유사한 모드가 아니기 때문일 수 있습니다.