我正在使用 PuTTY 从 WinXP 连接到 Solaris 计算机。
当我尝试使用 NumPad 键在 Bash 中编辑命令(Home、End、Delete)时,〜字符会打印到控制台。相关环境参数如下:
MACHTYPE=sparc-sun-solaris
SHELL=/bin/bash
HOSTTYPE=sparc
OSTYPE=solaris
TERM=xterm
我可以配置 PuTTY 以使数字键盘按键正常工作吗?
答案1
阻力最小的方法是告诉 Solaris 盒子上的 shell 由 PuTTY 发送的转义序列的含义。您会看到 a ,~
因为这些键会发出转义序列,例如转义␛[3~
字符( ,ASCII 27)。键入+ ,然后按其中一个键,以便按字面插入字符,然后是其他字符。然后在相关文件中定义绑定,对于 bash 来说是:␛
\e
CtrlV␛
~/.inputrc
"\e[1~": beginning-of-line # Home
"\e[4~": end-of-line # End
"\e[5~": beginning-of-history # PageUp
"\e[6~": end-of-history # PageDown
"\e[3~": delete-char # Delete
"\e[2~": quoted-insert # Insert
"\eOD": backward-word # Ctrl+Left
"\eOC": forward-word # Ctrl+Right
答案2
TERMINFO
安装与 putty 发送的实际密钥相对应的terminfo 条目(如果您没有 root 访问权限,可以在您的主目录中完成此操作;您可能需要设置该变量)。TERM=vt220
或者vt420
实际上可能足够接近,但随后你会失去颜色。
这一页有一些可能有效 - 安装 terminfo 条目tic
,如果需要,您可以使用 获取 termcap 数据infocmp -C
。
如果这不起作用,您可以在 putty 设置中尝试不同的功能键设置:如果只是 home 和 end 不起作用,请尝试 xterm - 如果不起作用,也许尝试 SCO ANSI,然后将 terminfo 设置为例如,与使用相同键的 freebsd 控制台相对应的东西。