8

在 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.

我怎样才能解决这个问题?

4

1 回答 1

12

您似乎确实已经看过以下信息,因此可能无济于事,但可能值得重申。

Emacs Wiki解释说,您应该将eterm-coloreterm-color.ti文件从/usr/share/emacs/xx.x/etc/e本地系统上的目录复制(或符号链接)到该~/.terminfo/e/目录(或者,系统范围的 at /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就不会按照您的意愿去做。目前尚不清楚是否是这种情况,但它可以解释为什么它不起作用?您需要一个目录下的 eterm-color 文件~/.terminfo/e/;不是直接在~/.terminfo/.

(nb我个人总是只是 install ncurses-term,所以我不能直接保证这种~/.terminfo方法。)

于 2014-02-28T09:29:26.303 回答