PuTTY / MinTTY 및 Tmux / Byobu의 기능 키 바로 가기 및 Ctrl

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 번 인쇄합니다.

누군가 조언이 있다면, 그것은 환영받을 것입니다. 인터넷에서 찾은 대부분의 내용이 터미널 유형을 변경한다고 말했지만 두 프로그램이 제공하는 모든 조합을 문자 그대로 시도했습니다.

감사!



답변

PuTTY 및 화면에서 비슷한 문제가 발생했습니다 ( Ctrl수정자를 사용할 수 없음 ). 내가 찾은 해결책은 KiTTY -PuTTY의 포크이며 더 잘 유지됩니다 (2015/06/02 22:02의 마지막 업데이트). Ctrl열쇠에 관한 나의 문제 는 사라졌다.

기본적으로 키티는 자체 단축키로 Fn 키를 사용하지만 다른 방법으로 구성 있으므로 Fn 키 누르기가 응용 프로그램으로 전송됩니다.


답변

나는 BYOBU를 같은 방식으로 사용합니다. F2,3,4 및 F6이 저에게 효과적이며 요즘 내가 cygwin을 사용하기 때문에 cygwin을 사용합니다. 그러나 퍼티를 사용할 때 VT100 +를 에뮬레이트하도록 설정된 ‘기능 키 및 키패드’설정으로 가장 성공했습니다.