Keeping in the spirit of reproducing hard-to-find information on my blog, here’s something I recently discovered when trying to get my terminal working properly with a Linux server at school.
I use rxvt-unicode as my terminal emulator on Linux for its light weight
nature and text based configuration. Unfortunately, sometimes when I SSH into
some machines (like the OSU CSE department’s
stdlinux), I get a message like
tput: unknown terminal "rxvt-unicode-256color" tcsh: No entry for terminal type "rxvt-unicode-256color" tcsh: using dumb terminal settings
What’s happening is that a lot of machines don’t understand how to properly
interact with my terminal emulator. Different terminals have different support
for certain features, and they way that they communicate this is by setting the
$TERM. The system then has definitions for various
$TERM values about what features are supported, and shells and other programs
can use this information to help their output appear correct. These mapping
terminfo files, are missing for rxvt-unicode on many systems.
terminfo files can be stored in your home directory in
so all you should have to do is copy the file from the computer you installed
rxvt-unicode on to the machine that’s complaining.
ssh stdlinux mkdir -p ~/.terminfo/r scp /usr/share/terminfo/r/rxvt-unicode-256color stdlinux:.terminfo/r/
Thanks to Tom Ryder’s original post, which lead me to this solution and goes into a lot more detail about terminal strings, for the curious.