我正在使用 Putty 来 SSH 远程 Linux 虚拟机。一切都很顺利,只是我无法在 Putty 中运行 Gnome 终端命令。其中一些命令如下:
Ctrl + A 或 Home 将光标移动到行首。
Ctrl+ E 或 End 将光标移动到行末。
Esc + B 移动到上一个或当前单词的开头。
Ctrl + K 从当前光标位置删除到行尾。
Ctrl + U 从行首删除到当前光标位置的内容。
Ctrl + W 删除光标前的单词。
Alt + B 每次返回一个单词。
Alt + F 每次向前移动一个单词。
Alt + C 将光标所在位置的字母变为大写,并移动到单词末尾。
这些快捷键实际上在 Linux 用户中相当常见。不幸的是,它们在 Putty 中无法正常工作。例如,每当我在 Putty 中按 CTRL+A 时,它都会打印出 ^A,而不是跳转到行首。
您是否遇到过同样的情况,还是这个问题从未得到解决?但是如果有人发现基本上只需要几个步骤,那就非常感激了。
编辑:这些命令中的大多数实际上与 EMACS 的快捷方式非常相同。
答案1
像您列出的这些编辑按键是由您在终端程序中运行的程序处理的,而不是由终端程序(putty 或 gnome-terminal)本身处理的。您列出的特定按键是 emacs 命令集的一部分。我怀疑您正在考虑使用bash
或tcsh
作为具有 emacs 样式行编辑的 shell。
您的问题可能是您用于登录此主机的帐户可能没有预期的 shell 作为其登录 shell,或者该 shell 已配置为禁用 emacs 编辑模式。bash
启用 emacs 模式的命令是:
set -o emacs
命令tcsh
是:
bindkey -e
如果该帐户未设置为使用您想要的 shell,您可以尝试运行该chsh
命令来更改该帐户的登录 shell:
chsh -s /bin/bash
答案2
ssh 会话基本上是从您到远程桌面建立隧道,因此它不是您的实际终端,而是类似于 gnome-terminal 的子集。如果您从 Windows 登录,我建议使用 MobaXterm。它比 putty 更好。
答案3
原因很简单,您没有使用 GNOME 终端。Putty 是解释您的键盘组合的那个,而不是 GNOME 终端。我怀疑您甚至启动了 gnome-terminal 进程,因为 SSH 会话基于命令行界面,而 gnome-terminal 是图形用户界面。要“使用”gnome 终端,您必须以某种方式使用 xserver(带有西明例如),通过 SSH 将其转发到您的客户端并执行 gnome-terminal,就像您在本地执行一样。
另一个选项是配置 Putty,使其像 gnome 终端一样运行,但我认为选项是在键盘快捷键选项卡中不可用。
答案4
您的终端类型可能不匹配。我在 Linux(Ubuntu 和 CentOS)系统上使用 putty 0.62。我在两边都有 xterm 类型的终端,我可以使用其中的大部分功能(它们是终端功能,而不是终端程序功能)
在 Putty 中,打开 Connection->Data 我相信默认是 xterm
登录,然后运行 echo $TERM。这是您的服务器正在使用的终端类型。
根据我的经验,Linux 系统使用 xterm 进行远程会话。