Modify $TERM from config
Mike Kelly
mike at pair.com
Wed Jun 27 06:30:20 EST 2012
On Tue 26 Jun 2012 04:09:05 PM EDT, Chris Adams wrote:
> Once upon a time, Bob Rasmussen <ras at anzio.com> said:
>> Perhaps the answer to this is to bring forward a concept from the telnet
>> protocol, into SSH. When a telnet client connects, it doesn't just say
>> "I am TERM=ABC". Instead there is an option negotiation process defined.
>> So if the server responds "I don't know what terminal ABC is", the client
>> can try "I am TERM=XYZ". This process can continue until the client
>> decides what is the best fit, and tells the host.
>
> That would be cool. However, I'm trying to deal with hosts that are not
> as up-to-date already (e.g. have a smaller terminal database), so a new
> extension would unfortunately not help me much (since those same hosts
> would probably not support it for years).
I've usually handled this with some code in my ~/.bashrc that just
changes and re-exports the TERM variable early on, if it looks like one
that that host doesn't support. I've done this in an ad-hoc way, so I
don't have some nice universal thing to share, but, for example:
[[ "${TERM}" == "rxvt-unicode-256color" ]] \
&& export TERM="rxvt-unicode"
I'm sure there's something that can be done with some terminfo command
or something. I think someone mentioned handling different LANG
settings, and I do that this way:
if [[ -x "$(type -P locale)" ]] ; then
case "`locale -a`" in
*en_US.UTF-8*)
LANG="en_US.UTF-8"
;;
*en_US.utf8*)
LANG="en_US.utf8"
;;
*en_US*)
LANG="en_US"
;;
esac
[[ -n "${LANG}" ]] && export LANG SUPPORTED="${LANG}:en_US:en"
fi
--
Mike Kelly
More information about the openssh-unix-dev
mailing list