Stack Exchange에 오랜 시간을 보낸 사람으로서 계정을 만들지 않고도 대부분의 문제에 대한 답변을 찾았습니다. 그러나 오늘 나는이 문제에 완전히 빠져 들었습니다. 그래서 도움을 청하고 있습니다.
최근에 일반적인 작업에 Fn 키를 사용하는 Tmux의 프론트 엔드 인 Byobu를 발견했습니다. 직장에서 사용해야하는 Windows PC에서 원격 Linux 서버로 SSH를 통한 멀티 태스킹에 정말 큰 축복입니다.
현재 PuTTY와 MinTTY (Cygwin의 기본 터미널)가 기능 키에 잘못된 키 코드를 보내는 것처럼 보이기 때문에 SSH 터널을 통해 그놈 터미널을 사용하고 있습니다.
특정 이스케이프 코드를 다시 매핑하는 방법이 있는지 궁금해서 Windows 기반 터미널 중 하나 이상이 Tmux에서 제대로 작동 할 수 있습니다. (Ctrl + b / Ctrl + 키 조합을 배울 수는 있지만 키 조합을 수행 한 다음 다른 키를 수행해도 인체 공학적으로 충격을받지는 않습니다.)
PuTTY에서 터미널> 키보드> "기능 키 및 키패드"를 "XtermR6"으로 설정하면 정상적으로 Fn 키에 대한 올바른 이스케이프 시퀀스를 푸시하는 것처럼 보이지만 Shift 및 Ctrl 수정자는 손상되었습니다. vim을 사용하여 각 터미널에서 어떤 코드를 보내고 있는지 알아낼 수 있습니다. 한편, 나는 tmux가 소스 코드 에서 찾고있는 조합을 찾은 것 같지만 확실하지 않습니다.
Key Tmux Expects Gnome-Terminal PuTTY MinTTY
Normal F3: ^[0R ^[0R ^[0R
Ctrl+F3 "\033[13^" ^[01;5R ^[0R ^[[1;5R
Shift+F3 "\033[13$" ^[01;2R ^[[25~ ^[[1;2R
Ctrl+Shift+F3 "\033[13@" ^[01;6R ^[[25~ ^[[1;6R
지금까지 MinTTY가 최고의 후보처럼 보이지만 byobu가 Fn 키 누르기의 95 %를 무시하고 클라이언트 응용 프로그램에 직접 전달하는 완전히 다른 문제를 안고 있습니다. cat -v를 실행하고 F2 (새 창) 키를 스팸으로 보내면 갑자기 새 창을 생성하기 전에 "^ [0Q"를 4 ~ 5 번 인쇄합니다.
누군가 조언이 있다면, 그것은 환영받을 것입니다. 인터넷에서 찾은 대부분의 내용이 터미널 유형을 변경한다고 말했지만 두 프로그램이 제공하는 모든 조합을 문자 그대로 시도했습니다.
감사!
kf3
연결할 때 사용 하는 TERM)에서 지정된 (수정되지 않은) 시퀀스 와 xterm 스타일의 수정 된 키 시퀀스를 인식 합니다. 따라서 Gnome-Terminal 및 MinTTY에서보고하는 시퀀스 (시퀀스의 이스케이프 + 0은 escape + letter-ohs (일명 SS3)는 tmux 에 의해 인식되어야 하지만, 옵션 활성화xterm-keys.c
xterm-keys