Funktionstastenkürzel in PuTTY / MinTTY und Tmux / Byobu


18

Als langjähriger Lurker bei Stack Exchange habe ich Antworten auf die meisten meiner Probleme gefunden, ohne überhaupt einen Account erstellen zu müssen. Aber heute bin ich völlig ratlos über dieses Problem und bitte um Hilfe.

Ich habe kürzlich Byobu entdeckt, ein Frontend für Tmux, das die Fn-Tasten für allgemeine Aufgaben verwendet. Es ist ein wahrer Segen für das Multitasking von SSH zu einem entfernten Linux-Server von dem Windows-PC, den ich bei der Arbeit verwenden muss.

Derzeit verwende ich das Gnome-Terminal über einen SSH-Tunnel, da sowohl PuTTY als auch MinTTY (das Standardterminal bei Cygwin) die falschen Tastencodes für die Funktionstasten zu senden scheinen.

Ich habe mich gefragt, ob es eine Möglichkeit gibt, bestimmte Escape-Codes neu zuzuordnen, damit mindestens eines meiner Windows-basierten Terminals ordnungsgemäß mit Tmux funktioniert. (Ich denke, ich könnte einfach die Tastenkombinationen Strg + B / Strg + A lernen, aber wenn ich eine Tastenkombination gefolgt von einer anderen Taste durchführe, bin ich nicht wirklich ergonomisch.)

Wenn Sie in PuTTY Terminal> Tastatur> "Die Funktionstasten und das Tastenfeld" auf "XtermR6" setzen, werden normalerweise die richtigen Escape-Sequenzen für die Fn-Tasten gedrückt, aber die Umschalt- und Strg-Modifikatoren sind fehlerhaft. Ich kann vim verwenden, um herauszufinden, welche Codes von jedem Terminal gesendet werden. In der Zwischenzeit habe ich vielleicht die Kombination nachgeschlagen, nach der tmux im Quellcode sucht , aber ich bin mir nicht sicher:

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

Bisher sieht MinTTY wie der beste Kandidat aus, aber es gibt mir ein ganz anderes Problem, bei dem byobu 95% der Fn-Tastendrücke ignoriert und sie direkt an die Client-Anwendung weiterleitet. Ich kann cat -v ausführen und die F2-Taste (neues Fenster) als Spam versenden, und es wird vier- oder fünfmal "^ [0Q" ausgegeben, bevor plötzlich ein neues Fenster geöffnet wird.

Wenn jemand Rat hat, wäre es willkommen. Die meisten Dinge, die ich im Internet gefunden habe, haben angeblich den Terminaltyp geändert, aber ich habe buchstäblich jede Kombination aus beiden Programmen ausprobiert.

Vielen Dank!


3
Die Sequenzen , die Sie für die Liste tmux sind nur die rxvt -Stil modifizierten Tastenfolgen , die er erkennt. tmux erkennt auch die (nicht modifizierte) Sequenz, die durch den terminfo-Eintrag von TERM angegeben wird (z. B. kf3von dem TERM, den Sie beim Anhängen an tmux verwenden ), sowie die Modified-Key-Sequenzen im xterm- Stil von xterm-keys.c. Die Sequenzen, die Sie von Gnome-Terminal und MinTTY melden (obwohl die Escape-Zeichen + Nullen in Ihren Sequenzen Escape-Zeichen + Buchstaben-Ohs (auch bekannt als SS3) sein sollten), sollten von tmux erkannt werden , aber sie werden nur durchgelassen , wenn Sie das haben xterm-keysOption aktiviert
Chris Johnsen

Antworten:


1

Ich hatte ähnliche Probleme mit PuTTY und dem Bildschirm (ich konnte den CtrlModifikator nicht verwenden ). Die Lösung, die ich gefunden habe, war KiTTY - die Gabel von PuTTY, die besser gewartet wird (letztes Update vom 02.06.2015, 22:02 Uhr). Mein Problem mit dem CtrlSchlüssel ist verschwunden.

Standardmäßig verwendet Kitty Fn-Tasten für eigene Verknüpfungen, Sie können sie jedoch auch auf andere Weise konfigurieren , sodass Fn-Tastendrücke an Ihre Anwendung gesendet werden.


0

Ich benutze BYOBU selbst auf die gleiche Weise. Ich benutze Cygwin heutzutage nur, weil F2,3,4 und F6 nur für mich funktionieren und das sind die einzigen, die mir wirklich Sorgen machen. Als ich jedoch Kitt verwendete, hatte ich den größten Erfolg mit der Einstellung 'Die Funktionstasten und das Tastenfeld', die auf die Emulation von VT100 + eingestellt war

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.