在Emacs的ansi-term
终端中,当我SSH到特定的远程主机时,终端无法正确识别,并且出现错误:
'eterm-color': unknown terminal type.
我在远程计算机上的
export TERMINFO=~/.terminfo
中添加了.bashrc
,并且在远程计算机上尝试了以下操作:cp -r /usr/share/emacs/21.4/etc/e ~/.terminfo
为了以防万一,我还尝试将自己的本地
/etc/e
(Emacs 24.3)复制到远程计算机上的~/.terminfo
。另外,万一重要,如果我在远程计算机上尝试
infocmp
,我会得到:>infocmp
infocmp: couldn't open terminfo file /usr/share/terminfo/e/eterm-color.
我怎样才能解决这个问题?
最佳答案
看来您已经看过以下信息,因此它可能无济于事,但可能值得重申。
Emacs Wiki解释说,您应该将本地系统上eterm-color
目录中的eterm-color.ti
和/usr/share/emacs/xx.x/etc/e
文件复制(或符号链接(symbolic link))到~/.terminfo/e/
目录(或者,在系统范围内/usr/share/terminfo/e/
)。
当然,您也可以在需要连接的任何远程主机上进行同样的操作。
在您管理的基于Debian的系统上,您可以apt-get install ncurses-term
,其中包括/usr/share/terminfo/e/eterm-color
。
关于问题的详细信息,请注意,如果您还没有~/.terminfo
目录,那么cp -r /usr/share/emacs/21.4/etc/e ~/.terminfo
不会执行您希望的操作。尚不清楚是否是这种情况,但这可以解释为什么它不起作用?您需要在~/.terminfo/e/
目录下的eterm-color文件;不是直接在~/.terminfo/
中。
(注:个人而言,我总是只安装ncurses-term
,所以我不能直接担保~/.terminfo
方法。)