Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

eterm-color: Unknown terminal type

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?

like image 485
Amelio Vazquez-Reina Avatar asked Feb 27 '14 23:02

Amelio Vazquez-Reina


1 Answers

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

like image 198
phils Avatar answered Sep 22 '22 12:09

phils