Skróty klawiszowe w PuTTY / MinTTY i Tmux / Byobu

18

Jako długoletni czyhacz na Stack Exchange znalazłem odpowiedzi na większość moich problemów bez konieczności zakładania konta. Ale dzisiaj jestem całkowicie zaniepokojony tym problemem, więc szukam pomocy.

Niedawno odkryłem Byobu, frontend dla Tmux, który używa klawiszy Fn do typowych zadań. To prawdziwe błogosławieństwo dla wielozadaniowości poprzez SSH do zdalnego serwera Linux z komputera z systemem Windows, z którego muszę korzystać w pracy.

Obecnie używam terminala gnome przez tunel SSH, ponieważ zarówno PuTTY, jak i MinTTY (domyślny terminal z Cygwin) wydają się wysyłać nieprawidłowe kody klawiszy dla klawiszy funkcyjnych.

Zastanawiałem się, czy istnieje sposób na ponowne mapowanie niektórych kodów specjalnych, aby przynajmniej jeden z moich terminali opartych na systemie Windows mógł poprawnie działać z Tmux. (Wydaje mi się, że mógłbym po prostu nauczyć się kombinacji klawiszy Ctrl + b / Ctrl + a, ale wykonanie kombinacji klawiszy, po której następuje kolejny klawisz, nie wydaje mi się ergonomiczne).

W PuTTY ustawienie Terminal> Klawiatura> „Klawisze funkcyjne i klawiatura” na „XtermR6” wydaje się przesuwać prawidłowe sekwencje specjalne dla klawiszy Fn normalnie, ale modyfikatory Shift i Ctrl są zepsute. Mogę użyć vima, aby dowiedzieć się, jakie kody są wysyłane przez każdy terminal. Tymczasem myślę, że mogłem sprawdzić kombinację, której szuka tmux w kodzie źródłowym , ale nie jestem pewien:

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

Jak dotąd MinTTY wygląda na najlepszego kandydata, ale daje mi zupełnie inny problem, w którym byobu ignoruje 95% naciśnięć klawiszy Fn, przekazując je bezpośrednio do aplikacji klienckiej. Mogę uruchomić cat -v i spamować klawisz F2 (nowe okno), a on wypisze „^ [0Q” cztery lub pięć razy, zanim nagle pojawi się nowe okno.

Jeśli ktoś ma porady, byłoby mile widziane. Większość rzeczy, które znalazłem w Internecie, mówiło o zmianie typu terminala, ale próbowałem dosłownie każdej kombinacji, którą oferują oba programy.

Dzięki!

Karl Johnson
źródło
3
Sekwencje, które podajesz dla tmux, to tylko sekwencje zmodyfikowanych klawiszy w stylu rxvt , które rozpoznaje. tmux rozpoznaje również (niemodyfikowaną) sekwencję określoną przez wpis terminfo TERM (np. kf3z dowolnego TERM, którego używasz podczas dołączania do tmux ), jak również z sekwencji zmodyfikowanych klawiszy w stylu xtermxterm-keys.c . Tak więc sekwencje, które zgłaszasz z Gnome-Terminal i MinTTY (chociaż znaki ucieczki + zera w twoich sekwencjach powinny być znakami ucieczki + litera-ohs (inaczej SS3), powinny być rozpoznawane przez tmux , ale przekaże je tylko, jeśli masz xterm-keysopcja włączona
Chris Johnsen

Odpowiedzi:

1

Miałem podobny problem z PuTTY i ekranem (nie mogłem użyć Ctrlmodyfikatora). Rozwiązaniem, które znalazłem, było KiTTY - rozwidlenie PuTTY, które jest lepiej utrzymane (ostatnia aktualizacja z 2015/06/02 22:02). Mój problem z Ctrlkluczem zniknął.

Domyślnie Kitty używa klawiszy Fn do własnych skrótów, ale można go skonfigurować w inny sposób , aby naciśnięcia klawiszy Fn były wysyłane do aplikacji.

dziwka
źródło
0

Sam korzystam z BYOBU w ten sam sposób. Obecnie używam cygwina, ponieważ F2,3,4 i F6 po prostu działają dla mnie i to jedyne, o które naprawdę się martwię. Jednak kiedy używałem szpachli, miałem największy sukces z ustawieniem „Klawisze funkcyjne i klawiatura” naśladujące VT100 +

pali 2345
źródło