tmux가 TERM 변수를 화면으로 설정하는 이유는 무엇입니까?

tmux가 TERM 변수를 화면으로 설정하는 이유는 무엇입니까?

맨페이지 인용 tmux:

tmux 내부에서 실행되는 모든 프로그램에 대해 TERM 환경 변수는 "screen"으로 설정되어야 합니다. 새 창에는 환경에 자동으로 “TERM=screen”이 추가되지만 쉘 시작 파일에서 이를 재설정하지 않도록 주의해야 합니다.

이는 세션이 최소 공통 분모인 tmux모든 터미널(예: 원격)에 연결될 수 있기 때문입니까 ? screen내 터미널을 알고 있으면 예상치 못한 결과 없이 강제로 실행할 수 있습니까? 아니면 지원되지 않는 일부 기능(스크롤링 등)이 중단됩니까?

답변1

이는 GNU 화면에 대해 이전에 설치된 터미널 설명을 활용하기 위한 것입니다.

둘 다티먹스그리고화면애플리케이션에 "동일한" 터미널 설명을 제공하여 다른 터미널에서의 연결을 단순화합니다. tmux 및 screen 프로그램은 내부(TERM=screen)와 외부(xterm, linux 등) 간의 차이점을 처리해야 합니다. 따라서 screen터미널 설명은 "어디서나"(보통 ncurses에 의해) 설치되었습니다.

몇 가지 차이점이 있습니다.

  • GNU 화면에는아주 오래된 문제"뛰어난" 기능을 나타냅니다(기술적으로는 특정 터미널 기능이 아니라 저주 애플리케이션의 편의를 위한 추상화임). tmux에는 그러한 제한이 없습니다. 하지만 개선된용어=tmux반드시 "모든 곳"일 필요는 없습니다.
  • GNU 화면에는 하이브리드 터미널 설명을 사용하는 기능이 있습니다. 외부 TERM=xterm이고 "screen.xterm"이 있으면 내부 TERM 값으로 이를 선택합니다. (예를 들어터미널 데이터베이스). tmux는 그렇게 하지 않습니다.

답변2

현재티먹스 2.1, 당신은tmux 용어 정보:

'default-terminal'은 이제 세션 옵션입니다. 또한 이것이 'screen-*'로 설정되면 화면이 수행하는 작업을 에뮬레이션합니다. 기울임꼴을 원할 경우 'tmux'로 설정할 수 있지만 이는 여전히 새로운 기능이며 이전 ncurses가 설치된 모든 플랫폼에서 반드시 지원되는 것은 아닙니다.

관련 정보