在一个 ansi-term 在 Emacs 中的终端上,当我 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 维基 说明您应该复制(或符号链接) eterm-coloreterm-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 不会做你想做的事。目前尚不清楚情况是否如此,但这可以解释为什么它不起作用?您需要 a 下的 eterm-color 文件 ~/.terminfo/e/ 目录;不直接在 ~/.terminfo/.

(注:就我个人而言,我总是只是安装 ncurses-term, ,所以我不能直接担保 ~/.terminfo 方法。)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top