$ TERM 변수를 수동으로 설정하는 것이 맞습니까?


10

$TERMXTerm*termName: xterm-256color.Xresources파일에 추가 하는 변수를 설정했습니다 . 내가 그것을했을 때 나는 그것이 정확히 무엇을 의미하는지 알지 못했지만 (온라인 모양을 변경하기 위해 온라인 가이드를 따르고 있음 xterm), 지금은 조금 더 읽었고 내가 잘못한 것이 우려됩니다. 특히 $TERM변수를 수동으로 설정하는 데 문제가 있음을 알고 싶습니다. 있는 경우 실수를 어떻게 되돌릴 수 있습니까 ?

필요한 경우으로 Fedora 20을 실행 중입니다 xterm.


이것은 일반적인 프로그래밍 질문입니다. 무엇을할지에 따라 다릅니다. 데스크톱 환경을 당연한 것으로 간주하고 원격 연결이 없으면 문제가없는 것일 수 있습니다. 그렇지 않은 경우 가능한 모든 사례를 오류 점검으로 처리해야합니다.
41754

@uprego "원격 연결 부재"에 대해 자세히 설명해 주시겠습니까?
Santaru72

256 색 옵션 으로 영구 tmux 세션을 사용하고있을 수 있지만 ssh 세션에서 연결하면 가능한 시나리오가 너무 넓어 나열하기가 어렵 습니다. 각 응용 프로그램은 각 프로그래머의 능력에 따라 바람직하지 않은 영향을 미칩니다. @goldilocks가 그의 대답에서 지적한 것처럼 위험하지 않아야하지만 "하지 않아야합니다"와 "할 수 없습니다"의 차이점이 있습니다.
41754

@uprego : 사실, 읽을 수없는 출력을 "위험한"것으로 계산하지 않는 한 "할 수 없습니다"라고 말했을 것입니다.
goldilocks

답변:


7

대부분의 경우 TERM수동으로 설정하지 않아야합니다 . 변수는 항상 자동으로 설정되며 기본값이 올바르지 않은 좁은 환경 세트 만 있습니다.

값은 TERM시스템의 terminfo 데이터베이스 (또는 termcap 데이터베이스 의 일부 구식 시스템)에서 참조해야 합니다. Terminfo 및 Termcap은 터미널 유형을 응용 프로그램이 사용하는 터미널 기능의 설명에 매핑합니다. 의 값은 TERM터미널 유형입니다.

TERM로컬 시스템과 원격 시스템에 서로 다른 터미널 데이터베이스가있는 경우 원격으로 로그인하면 간혹 변경해야 할 수도 있습니다 .

이전과 관련된 또 다른 이유는 때때로 약간 다른 기능을 가진 터미널에 대해 여러 개의 유사한 항목이 있기 때문입니다. 기존 터미널과 호환되지만 더 많은 기능을 가진 새로운 터미널이 등장 할 때 주로 발생합니다. 그런 다음 모든 시스템에서 이해하지만 기존 기능 만 광고하는 기존 이름을 사용하거나 새로운 기능을 모두 광고하지만 일부 시스템에서는 이해하지 못하는 새로운 이름을 사용할 수 있습니다.

이에 대한 예는 16 색 xterm과 256 색 xterm입니다. 전통적인 xterm은 16 개의 색상 만 지원하므로 xterm터미널 데이터베이스가 지정합니다. xterm항목을 변경하면 최신 xterm 버전의 사용자는 만족하지만 원격으로 로그인 한 이전 xterm 버전의 사용자 구성은 중단됩니다. 새 이름으로 전환 —  xterm-256color— 가능한 경우 새로운 기능을 제공하지만 오래된 터미널 데이터베이스가있는 시스템에 원격으로 로그인하면 인식되지 않습니다. 모든 사람을 만족시킬 수있는 솔루션이 없기 때문에 선택을 xterm할 수 있습니다. 256 색을 고수 xterm-256color하지 않거나 지원하지 않는 원격 시스템에 로그인하면 작동하지 않습니다.

따라서 기본값을 그대로두고 자원을 xterm설정하면 (환경 변수 가 동일한 값으로 설정 됨) 둘 다 현명한 선택입니다. 설정 임의의 값하고자하지 작동하지만 모두 와 메이크업 감각.termNamexterm-256colorTERMTERMxtermxterm-256color


3

XTerm * termName : xterm-256color 줄을 내 .Xresources 파일에 추가하여 $ TERM 변수를 설정했습니다.

당신이 한 일을 알고 있다면 괜찮습니다. 대부분의 GUI 터미널이이를 지원합니다.

명령 줄이나 스크립트에서 설정할 수도 있습니다

export TERM=xterm-256color

이것은 해당 터미널 또는 그 이후의 자식에만 적용됩니다.

휴대용 기본값은 그냥 xterm16 색 지원을 의미합니다. 256 색 세트가 있고 터미널에서 지원하지 않는 경우 256 색 TUI 앱을 실행하면 이상하게 보입니다. 아마 바로 눈치 notice을 것입니다. 그러나 위험해서는 안됩니다.


내가 XTerm*termName: xterm대신 설정 XTerm*termName: xterm-256color하면 괜찮을까요?
Santaru72

그것이 원하는 것이라면 아무것도 설정하지 마십시오. ;) xterm의 기본값 xterm이지만 16 색을 의미합니다. 사용의 주요 포인트 는 터미널이 256 색을 지원한다는 것을 응용 프로그램xterm-256color알리는 것입니다 . 그렇게하지 않으면 16 색을 가정합니다.
goldilocks
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.