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


19

인용 tmux매뉴얼 페이지 :

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

이것은 tmux세션 이 모든 터미널 (예 : 원격)에 연결될 수 있고 screen공통 분모가 가장 낮기 때문입니까? 터미널을 알고있는 경우 예기치 않은 결과없이 터미널을 강제 실행할 수 있습니까? 아니면 지원되지 않는 일부 기능 (스크롤과 같은)이 중단됩니까?

답변:


13

이전에 설치된 GNU 화면에 대한 터미널 설명을 활용합니다.

TMUX화면이 다른 단말기로부터 접속 단순화하기 (다소)은 "동일한"널 설명 애플리케이션을 제공한다. tmux 및 screen 프로그램은 내부 (TERM = screen)와 외부 (xterm, linux 등)의 차이점을 처리해야합니다. 따라서 screen터미널 설명은 "일반적으로 ncurses에 의해"어디에나 설치되어 있습니다.

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

  • GNU 화면에는 "스탠드 아웃"기능 (기술적으로 특정 터미널 기능이 아니라 curses 응용 프로그램의 편의를위한 추상화)을 나타내는 매우 오래된 문제 가 있습니다. tmux에는 그러한 제한이 없습니다. 그러나 개선 된 TERM = tmux 가 반드시 "모든 곳에"있는 것은 아닙니다.
  • GNU 화면에는 하이브리드 터미널 설명을 사용하는 기능이 있습니다. 외부 TERM = xterm과 "screen.xterm"이 존재하면 내부 TERM 값으로 선택합니다. (예를 들어 터미널 데이터베이스 참조 ). tmux는 그렇게하지 않습니다.

5

현재 TMUX 2.1 , 당신은 사용할 수 tmux 의 terminfo를 :

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.