원격 시스템의 tmux가 올바른 접두사 + 화살표 키를 얻지 못함

원격 시스템의 tmux가 올바른 접두사 + 화살표 키를 얻지 못함

저는 Windows 시스템에서 원격 시스템으로 연결하고 tmux 세션에 연결하기 위해 MobaXterm을 사용하고 있습니다. 일부 키는 올바르게 전송되지 않습니다. 예를 들어 접두사+{up,down,right,left}를 누르면 접두사+화살표 키는 {A,B,C,D}만 인쇄하지만 이러한 키는 tmux 창 탐색 사이에 있어야 합니다. MobaXterm 대신 Putty를 사용하는 경우 "xterm" 대신 "linux" 터미널을 사용하여 이 문제를 해결할 수 있지만 MobaXterm에서 선택할 수 있는 터미널 유형은 xterm, xterm-r6, vt100, vt220 및 vt900입니다. 그들 중 누구도 작동하지 않습니다.

다른 원격 컴퓨터에는 이 문제가 없기 때문에 문제의 일부는 원격 컴퓨터 자체(Ubuntu 16.04 실행)인 것 같습니다.

어떤 제안이 있으십니까?

답변1

Red Hat 6과 Ubuntu 16 사이에는 관련 없는 항목 차이가 있습니다 screen-256color. Ubuntu 16은 추가 dim되고 생략되었습니다 initc. 이러한 변경 사항 중 어느 것도 커서 키와 관련이 없습니다.

대략적인 값TERM 외부 tmuxxterm. 두 시스템 간에 관련되지 않은 항목 변경 사항도 있습니다 xterm(커서 색상 확장터미널 데이터베이스에 언급되어 있음).

linux그러나 항목과 항목 사이에는 상당한 차이가 있습니다 xterm. xterm항목(두 경우 모두)은 사용할 터미널을 초기화합니다.신청방법커서 키와 키패드 키에는 해당되지만 linux해당 키에는 해당되지 않습니다. 응용 프로그램 모드는 커서 키에 대해 다른 문자 시퀀스를 보냅니다(이 질문의 요점).

Red Hat 6에는 tmux 1.6이 있고 Ubuntu 16에는 tmux 2.3이 있습니다. 두 경우 모두 tmux터미널 설명을 읽고노력하다보내는 이스케이프 시퀀스와 일치합니다.외부터미널의 커서 키와 기능 키, 그리고 이러한 키에 대해 이전에 저장된 개념(키코드 및 Shift/컨트롤 정보)생성하다터미널 설명 다음에 나오는 동등한 이스케이프 시퀀스~에 tmux.

.tmux.conf이미지에 표시된 것처럼 파일에 충돌하는 설정이 있는 경우Ctrl + 화살표 키는 tmux에서 작동합니다., 상당히 오래된 프로그램과 상당히 새로운 tmux프로그램은 수정된 커서 키에 따라 달라집니다.

  • CentOS6에서는 위쪽 이동 화살표가 표시되지만 ^[[A^[[1;2AUbuntu에서는 표시됩니다 ^[[A.
  • 컨트롤 위쪽 화살표도 다릅니다.

그 차이의 이유는 (실제로는) tmux읽기 능력의 향상 때문 입니다.확장하다터미널 데이터베이스의 키 정의. 이전 버전에서는 tmuxxterm 스타일 키가 터미널 설명에 정의되어 있지 않다는 사실이 발견되지 않았습니다 screen-256color. 그래서 정보가 전달되었습니다. 최신 버전에서는 tmux정의되지 않았는지 확인하고 (xterm-key에 대해 알아야 하므로) 해당 항목만 사용하십시오.지정된 터미널 설명에 정의됩니다.

추가 자료:

답변2

접두사 키가 충돌할 수 있으므로 변경해 보세요. Tmux는 이를 허용하며 ~/.tmux.conf파일을 생성하여 이를 지속적으로 만들 수 있습니다.

conf 파일에 추가되는 줄은 다음과 같습니다:

set-option -g 접두사 Ma

그러면 접두사 키가 Alt+ 로 변경됩니다.A

이러한 변경 사항을 유지하지 않으려면 tmux에서 명령으로 이 줄을 실행할 수 있습니다.

올바른 구문에 대한 정보는 다음과 같습니다(맨 페이지에서 가져옴).

키바인딩
    tmux를 사용하면 접두사가 붙은 키가 있든 없든 대부분의 키에 명령을 바인딩할 수 있습니다. 키가 지정되면 대부분이 키를 나타냅니다.
     자체(예: "A" ~ "Z"). Ctrl 키에는 "C-" 또는 "^" 접두사가 붙을 수 있고, Alt(메타) 키에는 "M-" 접두사가 붙을 수 있습니다. 게다가
     다음 특수 키 이름이 허용됩니다: Up, Down, Left, Right, BSpace, BTab, DC(Delete), End, Enter, Escape, F1 ~ F12,
     홈, IC(삽입), NPage/PageDown/PgDn, PPage/PageUp/PgUp, Space 및 Tab. ''' 또는 ''' 키, 따옴표를 바인딩하는 데 주의하세요.
     태그는 필수입니다. 예를 들면 다음과 같습니다.

관련 정보