Linux 콘솔은 16색을 표시할 수 있습니까?

Linux 콘솔은 16색을 표시할 수 있습니까?

매뉴얼 페이지를 읽고 있는데 Linux 콘솔이 터미널 유형 대신 터미널 유형을 terminfo사용할 수 있는지 알고 싶습니다 .linux-16colorlinux

prompt% infocmp linux linux-16color
comparing linux to linux-16color.
comparing booleans.
comparing numbers.
colors: 8, 16.
ncv: 18, 42.
pairs: 64, 256.
comparing strings.
setab: '\E[4%p1%dm', '\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m'.
setaf: '\E[3%p1%dm', '\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;21%;m'.

터미널 유형을 linux로 바꾸 /etc/inittab었는데 linux-16colorLinux 콘솔에 8가지 색상만 표시되는 것 같습니다. Linux 콘솔과 관련하여 터미널 유형을 linux-16color지정하여 16가지 색상을 표시할 수 있다고 생각합니다. 또한 환경 변수 설정을 시도했지만 성공 TERM하지 linux-16color못했습니다.

Linux 콘솔은 16가지 색상을 표시할 수 있습니까? Linux 콘솔은 터미널 유형을 지원합니까 linux-16color?

당신은 또한 볼 수 있습니다

답변1

터미널 linux-16color설명 사용법편안Blink 및 Bold 속성은 코드 0-15를 콘솔에서 가능한 16가지 색상으로 매핑합니다. 설명에서 이것은 사용 중입니다.5그리고25그리고1그리고21일정한setaf그리고setabconsole_codes(4) 매뉴얼 페이지에서 이러한 기능을 확인할 수 있습니다.

다음 명령을 사용하면 더 쉽게 볼 수 있습니다.-f옵션 infocmp:

    setab=\E[4 
            %p1%{8}%m%d 
            %? 
                    %p1%{7}%> 
                    %t;5 
            %e 
                    ;25 
            %; 
            m,

이 시퀀스(위에서 아래로 읽기)는 다음을 수행합니다.

  • ASCII 이스케이프 문자( \E)를 보내고 그 뒤에 [4
  • 첫 번째 매개변수가 7보다 큰지 확인하세요.
    • 그렇다면 ;(구분자)와 5(blink속성)
    • 그렇지 않은 경우 ; 2 5리디렉션을 보냅니다.blink떠나다)
  • 전송하여 SGR을 완료하세요.m

이러한 속성은 일반적으로 텍스트가 깜박이는 현상을 일으키지 않거나 다른 글꼴을 사용하여 굵은 텍스트를 표시하는 VGA 드라이버에서 작동합니다. 대신, 색상 세트를 확장할 수 있습니다(물론 비표준 방식으로). 내가 사용한 가상 머신과 같은 다른 디스플레이 장치가 있는 경우 이 중 어느 것도 더 이상 적용되지 않습니다.

일단 설정하면 문제가 발생합니다. 유니코드 지원 글꼴을 로드하는 구성(예: 512개의 글리프 대 원래 256개의 글리프)은 해당 16개 색상에 사용된 비트 중 하나를 차지하므로 실제로는 8개 색상만 얻을 수 있습니다. 여기 저기 언급됨예를 들어 이, 그러나 마지막 매뉴얼 페이지 업데이트 이후 도입되었습니다.

이전 예에서는 512-글리프 LatArCyrHeb-16 글꼴이 사용되었으므로 프레임 버퍼를 사용하지 않는 한 Linux 콘솔에서 밝은 색상을 더 이상 사용할 수 없습니다. 프레임 버퍼 없이 밝은 색상을 얻고 싶고 해당 언어에 속하지 않는 문자 없이도 살 수 있다면 다음과 같이 언어별 256-글리프 글꼴을 사용할 수 있습니다.

관련 정보