我想配置我的 Ubuntu 服务器(没有 X Windows)来修改转义字符从 SSH 客户端收到。因为某些原因,我无法修改远程客户端上的原始击键。
- 我有服务器的 root 访问权限。控制台访问权限以及 SSH。
- OpenSSH 安装在那里。但如果需要,也可以用其他东西替换它。
更具体一点。例如,我想交换 Ctrl 和 F10,这样 F10+c 就会被识别为 Ctrl+c。
提前致谢!
PS 请不要提出任何基于修改客户端计算机的解决方案。假设我无法访问客户端计算机。
答案1
当用户“john”通过 登录时ssh
,会为其分配一个 shell --- 根据您的配置,这可能会有所不同,但默认情况下是他们的默认 shell,默认情况下为bash
.(1)
bash
将执行所有标准 init 文件:基本上/etc/profile
,以及.profile
中的/home/john
。您可以将键盘映射条目添加到这些文件中的任何一个(第一个文件在超级用户控制下,后者在约翰的控制下)。
例如https://stackoverflow.com/questions/4200800/in-bash-how-do-i-bind-a-function-key-to-a-command
现在,Ctrl-C 是一个相当低级的功能,直接向正在运行的进程发送信号。我不知道您是否可以重新映射它。
(1)例如,不适合我;我有zsh
默认 shell。YMMV。