If you are connecting to a remote server from the Mac OS X terminal and get the message “Error opening terminal: xterm-color” when doing certain operations on the remote server, then you either change your terminal’s declaration setting or add a TERM declaration to the bash profile on the server at the other end to prevent the error message from happening. There may be other ways to solve it at the server end but this post shows a quick and easy fix.
Other operating systems and apps
This may also affect users on other operating systems using SSH to connect to a remote server, but I use a Mac and that’s where I had the issue. If you’re using something else then the setting the TERM section at the end of this post should probably help.
Change the terminal emulation declaration
Open up Terminal’s preferences and click “Settings” then “Advanced”.
This is shown in the screenshot below:
The section highlighted with the red box is where you can set the terminal declaration. Open up the drop down box and change it to xterm and when you log in to the remote server it won’t show the error about xterm-color.
Setting TERM on the remote server
You can instead change the TERM declaration on the remote server.
Do this on the command line like so:
TERM=xterm
This will take effect immediately for all future commands executed. When you log out and back in again it will revert to the TERM setting your SSH client application had sent the last time. To make the change permanent add the above line to your .bash_profile or .bashrc on the remote server.