inittab 항목에서 다음과 같이 터미널 유형을 설정하는 것이 맞습니까? c2:... tty2 linux-m은 정보 제공 작업에 불과합니다. 시스템이 실제로 어떤 터미널 유형인지 명령/프로그램/응용 프로그램에 알리기 위해 TERM 변수를 설정합니다. TERM이 터미널을 단색 유형으로 설명하지만 ls --color=always
터미널에 출력을 보내는 것과 같은 명령이 inittab에서 비색상으로 정의되어 있어도 색상을 표시하는 것과 같은 명령이 실제로 색상을 표시할 수 있는 경우에도 마찬가지입니다.
답변1
TERM은 실제로 유익하지만 많은 프로그램/명령이 이를 존중하거나 의존합니다.
색상이 생성되는 방식은 터미널 유형에 따라 크게 달라질 수 있습니다. 실제로 나는 그들이 모두 색상이 지원되는 ANSI(또는 상위 세트)를 사용한다고 생각합니다.
TERM이 모노 터미널 유형으로 설정된 경우 프로그램은 사용할 터미널의 색상 제어 유형을 결정하기 위해 다른 정보를 사용해야 합니다. 기본값이 "ANSI"인 경우 현재 대부분의 상황에서 작동할 가능성이 높습니다.
터미널이 실제로 모노인 경우 이는 나쁜 일입니다. 명령/프로그램이 요소를 시각적으로 구별하기 위해 색상 대신 모노 방법(예: 역방향, 밑줄, 강도, 취소선, 깜박임 등)을 사용하는 것이 더 나을 것입니다. .
특정 프로그램/명령이 TERM을 준수하는 경우(많은 경우) 색상에 대한 요청이 터미널 유형에서 지원되지 않는다고 보고할 가능성이 동일합니다.
보다http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/color.html
if(has_colors() == FALSE)
{ endwin();
printf("Your terminal does not support color\n");
exit(1);
}
구현 방법을 확인하기 위해 ncurses 소스 코드를 검사하지 않았 has_colors()
으며 프로그램/명령 중 위 패턴을 따르는 비율(있는 경우)이 어느 정도인지 알 수 없습니다.
나는 매우 중요한 소프트웨어 중 하나가 TERM을 존중한다는 것을 알았습니다.
TERM=xterm-mono robotfindskitten
(mono display)
반면에 ls
내가 언제 거짓말을 하는지 알고 있습니다.