inittab 파일에서 터미널 유형 설정

inittab 파일에서 터미널 유형 설정

inittab다음과 같이 파일 에서 터미널 유형을 단색으로 설정했습니다 .

c2:... tty2 linux-m

하지만 다음과 같은 색상 출력으로 명령을 입력하면:

ls --color=always -l

나는 여전히 착색 된 결과를 얻습니다. 터미널이 비색상으로 설정되어 있으면 어떻게 될까요(위와 같이 inittab 파일의 tty 정의).

답변1

터미널 유형만 해당설명하다터미널을 사용하는 특별한 방법. 터미널이 실제로 그런 식으로 동작한다는 보장은 없으며 프로그램이 터미널을 조작하기 위해 다른 정보를 사용한다는 보장도 없습니다.

이 경우 ls프로그램은 "linux"가 색상을 지정한다고 말하는 자체 하드 코딩된 데이터베이스를 사용합니다.

추가 자료: ncurses FAQ라이브러리 사용자로 잘못 인용된 애플리케이션

답변2

앞서 언급했듯이 해당 프로그램은 직접 출력할 가능성이 높습니다.ANSI 이스케이프 시퀀스:

256색 조회 테이블이 그래픽 카드에서 일반화됨에 따라 미리 정의된 256색 세트에서 선택하기 위해 이스케이프 시퀀스가 ​​추가되었습니다.

ESC[ … 38;5;<n> … m Select foreground color
 ESC[ … 48;5;<n> … m Select background color
 0-  7:  standard colors (as in ESC [ 30–37 m)
 8- 15:  high intensity colors (as in ESC [ 90–97 m)
16-231:  6 × 6 × 6 cube (216 colors): 16 + 36 × r + 6 × g + b (0 ≤ r, g, b ≤ 5)

232-255: 검정색에서 흰색까지 24단계의 그레이스케일

이 주장은 또한 다음과 같은 유사한 질문에 대한 답변으로 더욱 강화될 것입니다.Unix SE의 터미널 및 SSH에서 색상을 비활성화합니다..

이 주제에 대한 이전 질문에서 xterm을 사용하고 있다고 언급하셨습니다. 그만큼xterm 매뉴얼 페이지또한 -cmANSI 이스케이프 시퀀스 인식을 비활성화하는 옵션도 나열되어 있습니다. 이는 연결된 질문에 대한 답변에서도 언급됩니다.

-센티미터

이 옵션은 ANSI 색상 변경 이스케이프 시퀀스 인식을 비활성화합니다. colorMode 리소스를 "false"로 설정합니다.

터미널 정보를 설정하여 수행하는 작업은 다음과 같이 터미널의 기능을 정의하는 것입니다.남자 용어 정보). 따라서, 당신이 하고 있는 일은 ls당신이 특정 일을 할 수 있다고 확신하지만 그것이 어떤 식으로든 그것을 존중해야 한다는 것을 의미하지는 않습니다.

관련 정보