SSH:如何修改收到的字符?

SSH:如何修改收到的字符?

我想配置我的 Ubuntu 服务器(没有 X Windows)来修改转义字符从 SSH 客户端收到。因为某些原因,我无法修改远程客户端上的原始击键。

  1. 我有服务器的 root 访问权限。控制台访问权限以及 SSH。
  2. 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。

相关内容