Question

In an ansi-term terminal in Emacs, when I ssh to a specific remote host, the terminal is not recognized properly, and I get the error:

'eterm-color': unknown terminal type.

I added export TERMINFO=~/.terminfo to .bashrc on the remote machine, and I have tried the following on the remote machine:

cp -r /usr/share/emacs/21.4/etc/e ~/.terminfo

Just in case, I also tried copying over my own local copy of /etc/e (Emacs 24.3) to ~/.terminfo on the remote machine.

Also, in case it matters, if I try infocmp on the remote machine, I get:

>infocmp
infocmp: couldn't open terminfo file /usr/share/terminfo/e/eterm-color.

How can I fix this?

Was it helpful?

Solution

It does seem that you've seen the following information already, so it might not help, but it's probably worth reiterating.

The Emacs Wiki explains that you should copy (or symlink) the eterm-color and eterm-color.ti files from the /usr/share/emacs/xx.x/etc/e directory on your local system to the ~/.terminfo/e/ directory (or alternatively, system-wide at /usr/share/terminfo/e/).

Of course you can also do likewise on any remote host you need to connect to.

On Debian-based systems you administer, you can apt-get install ncurses-term, which includes /usr/share/terminfo/e/eterm-color.

With regard to the details in the question, note that if you didn't already have a ~/.terminfo directory then cp -r /usr/share/emacs/21.4/etc/e ~/.terminfo would not do what you intended it to do. It's not clear whether or not that was the case, but it may explain why it didn't work? You need the eterm-color files under a ~/.terminfo/e/ directory; not directly in ~/.terminfo/.

(n.b. Personally I always just install ncurses-term, so I can't vouch directly for the ~/.terminfo approach.)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top