probe and set terminal type when shell is spawned

Igor Peshansky
Fri Sep 8 03:01:00 GMT 2006

On Fri, 8 Sep 2006, Carlo Florendo wrote:

> Hello,
> Is it possible for me to automatically set the TERM variable in bash
> depending on the type of my terminal.
> For example, these are the things I want to accomplish:
> 1.  If I ssh into the cygwin box from an xterm on a Linux box, I would
> like TERM=xterm-color.
> 2.  If I simply spawn a DOS-like shell, I'd like TERM=ansi
> 3.  If I spawn an rxvt console, I'd like TERM=xterm.
> I know this can be done manually but would it be possible for us to
> create a script to do this?
> If so, what cygwin program can we use to probe the terminal type of the
> connecting client?

The terminal emulator is ultimately responsible for setting TERM
appropriately, and usually does.  The only problem is with TERM=xterm vs.
TERM=xterm-color -- most xterms (including rxvt) will use the former as
the default TERM value.  You can override the TERM value that xterm or
rxvt sets via command-line options or X resources, though.

If you spawn a "DOS-like shell" (by which I assume you mean a bash running
in a Windows console window), TERM is automatically set to "cygwin".  You
can use that fact in your scripts to change it to "ansi" if you wish.

To my knowledge, it is not possible in general to automatically detect the
remote TERM type.
      |\      _,,,---,,_ |
ZZZzz /,`.-'`'    -.  ;-;;,_		Igor Peshansky, Ph.D. (name changed!)
     |,4-  ) )-,_. ,\ (  `'-'		old name: Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"Las! je suis sot... -Mais non, tu ne l'es pas, puisque tu t'en rends compte."
"But no -- you are no fool; you call yourself a fool, there's proof enough in
that!" -- Rostand, "Cyrano de Bergerac"

Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list