Kar*_*son 18 ssh putty mintty tmux byobu
作为 Stack Exchange 的长期潜伏者,我已经找到了大部分问题的答案,而无需注册帐户。但是今天我完全被这个问题难住了,所以我寻求帮助。
我最近发现了 Byobu,它是 Tmux 的前端,它使用 Fn 键执行常见任务。通过 SSH 从我必须在工作中使用的 Windows PC 到远程 linux 服务器进行多任务处理,这是一个真正的祝福。
目前,我正在通过 SSH 隧道使用 gnome-terminal,因为 PuTTY 和 MinTTY(Cygwin 的默认终端)似乎都为功能键发送了错误的键码。
我想知道是否有办法重新映射某些转义码,以便至少我的一个基于 Windows 的终端可以与 Tmux 正常工作。(我想我可以只学习 Ctrl+b/Ctrl+a 组合键,但是执行组合键后跟另一个键并没有真正让我觉得符合人体工程学。)
在 PuTTY 中,将 Terminal>Keyboard>"The Function keys and keypad" 设置为 "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
Run Code Online (Sandbox Code Playgroud)
到目前为止,MinTTY 看起来是最好的候选者,但它给了我一个完全不同的问题,byobu 忽略了 95% 的 Fn 按键,将它们直接传递给客户端应用程序。我可以运行 cat -v 并向 F2(新窗口)键发送垃圾邮件,它会在突然产生一个新窗口之前打印四到五次“^[0Q”。
如果有人有建议,将不受欢迎。我在互联网上找到的大多数东西都说要改变终端类型,但我已经尝试了两个程序提供的每一个组合。
谢谢!
我自己也以同样的方式使用BYOBU。这些天我只使用 cygwin,因为 F2、3、4 和 F6 对我有用,这些是我真正关心的唯一的。然而,当我使用 putty 时,我通过将“功能键和键盘”设置设置为模拟 VT100+ 获得了最大的成功