在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.
我该如何解决这个问题?
答案 0 :(得分:12)
您似乎已经看到了以下信息,因此可能没有用,但可能值得重申。
Emacs Wiki说明您应将eterm-color
和eterm-color.ti
文件从本地系统的/usr/share/emacs/xx.x/etc/e
目录复制(或符号链接)到~/.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/
。
(n.b。就个人而言我总是只安装ncurses-term
,所以我不能直接担保~/.terminfo
方法。)