*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> tset (1)              



NAME    [Toc]    [Back]

     tset - terminal initialization

SYNOPSIS    [Toc]    [Back]

     tset [-IQqrSsV] [-] [-e ch] [-i ch]  [-k  ch]  [-m  mapping]
     reset  [-IQqrSsV]  [-]  [-e ch] [-i ch] [-k ch] [-m mapping]

DESCRIPTION    [Toc]    [Back]

     tset initializes terminals.  tset first determines the  type
of terminal
     that  you are using.  This determination is done as follows,
using the
     first terminal type found:

           1.   The terminal argument specified  on  the  command

           2.   The value of the TERM environment variable.

           3.    The  terminal  type associated with the standard
error output
                device in the /etc/ttys file.

           4.   The default terminal type, ``unknown''.

     If the terminal type was not specified on the command  line,
the -m option
     mappings  are then applied (see below for more information).
Then, if the
     terminal type begins with a question mark (`?'), the user is
prompted for
     confirmation  of  the terminal type.  An empty response confirms the type,
     or another type can be entered to specify a new type.   Once
the terminal
     type has been determined, the termcap entry for the terminal
is retrieved.
  If no termcap entry is found for the type, the user is prompted
     for another terminal type.

     Once  the  termcap  entry  is  retrieved,  the  window size,
backspace, interrupt,
 and line kill characters (among many other things) are
set and the
     terminal  and  tab  initialization  strings  are sent to the
standard error
     output.  Finally, if the  erase,  interrupt  and  line  kill
characters have
     changed,  or are not set to their default values, their values are displayed
 to the standard error output.

     When invoked as reset, tset  sets  cooked  and  echo  modes,
turns off cbreak
     and  raw  modes, turns on newline translation and resets any
unset special
     characters to their default values before doing the terminal
  described  above.  This is useful after a program dies
leaving a terminal
 in an abnormal state.  Note,  you  may  have  to  type
     (the  line-feed  character is normally control-J) to get the
terminal to
     work, as carriage-return may no longer work in the  abnormal
state.  Also,
     the terminal will often not echo the command.

     The options are as follows:

     -        The terminal type is displayed to the standard output, and the
             terminal is not initialized in any way.  This option
has been
             deprecated in favor of the -q flag.

     -e ch   Set the erase character to ch.

     -I       Do  not  send  the  terminal  or tab initialization
strings to the

     -i ch   Set the interrupt character to ch.

     -k ch   Set the line kill character to ch.

     -m mapping
             Specify a mapping from a port type  to  a  terminal.
See below for
             more information.

     -Q       Don't  display  any values for the erase, interrupt
and line kill

     -q      The terminal type is displayed to the standard  output, and the
             terminal is not initialized in any way.

     -r       Print  the terminal type to the standard error output.

     -S      Print the terminal type and the termcap entry to the
             output.   See the section below on setting the environment for details.

     -s      Print the sequence of shell commands  to  initialize
the environment
 variables TERM and TERMCAP to the standard output.  See the
             section below on setting  the  environment  for  details.

     -V      Report the version of ncurses which was used in this
program, and

     The arguments for the -e, -i, and -k options may  either  be
entered as actual
 characters or by using the ``hat'' notation, i.e., control-H may be
     specified as ``^H'' or ``^h''.


     It is often desirable to enter the terminal type and  information about
     the  terminal's  capabilities  into the shell's environment.
This is done
     using the -S and -s options.

     When the -S option is specified, the terminal type  and  the
termcap entry
     are written to the standard output, separated by a space and
without a
     terminating newline.  This can be assigned to  an  array  by
csh(1) and
     ksh(1) users and then used like any other shell array.

     When  the  -s option is specified, the commands to enter the
     into the shell's environment are  written  to  the  standard
output.  If the
     SHELL environment variable ends in ``csh'', the commands are
for csh(1),
     otherwise, they are for sh(1).  Note,  the  csh(1)  commands
set and unset
     the  shell  variable ``noglob'', leaving it unset.  The following line in
     the .login or .profile files will initialize the environment

           eval `tset -s options ... `

     To  demonstrate a simple use of the -S option, the following
lines in the
     .login file have an equivalent effect:

           set noglob
           set term=(`tset -S options ...`)
           setenv TERM $term[1]
           setenv TERMCAP "$term[2]"
           unset term
           unset noglob


     When the terminal is not hardwired into the system  (or  the
current system
     information  is  incorrect),  the terminal type derived from
the /etc/ttys
     file or the TERM environment  variable  is  often  something
generic like
     ``network'',  ``dialup'', or ``unknown''.  When tset is used
in a startup
     script (.profile for sh(1) users or .login for csh(1) users)
it is often
     desirable  to provide information about the type of terminal
used on such

     The purpose of the -m option is to ``map'' from some set  of
conditions to
     a terminal type, that is, to tell tset ``If I'm on this port
at a particular
 speed, guess that I'm on that kind of terminal''.

     The argument to the -m option consists of an  optional  port
type, an optional
 operator, an optional baud rate specification, an optional colon
     (`:') character, and a terminal type.  The port  type  is  a
string (delimited
  by  either  the operator or the colon character).  The
operator may be
     any combination of:  `>',  `<',  `@',  and  `!';  `>'  means
greater than, `<'
     means  less  than,  `@'  means equal to, and `!' inverts the
sense of the
     test.  The baud rate is specified as a number  and  is  compared with the
     speed of the standard error output (which should be the control terminal).
  The terminal type is a string.

     If the terminal type is not specified on the  command  line,
the -m mappings
  are  applied  to the terminal type.  If the port type
and baud rate
     match the mapping, the terminal type specified in  the  mapping replaces
     the  current  type.   If more than one mapping is specified,
the first applicable
 mapping is used.

     For  example,  consider   the   following   mapping:   ``dialup>9600:vt100''.  The
     port  type  is  ``dialup'',  the operator is ``>'', the baud
rate specification
 is ``9600'', and the terminal type is  ``vt100''.   The
result of this
     mapping  is  to  specify  that if the terminal type is ``dialup'', and the
     baud rate is greater than 9600  baud,  a  terminal  type  of
``vt100'' will be

     If  no  port type is specified, the terminal type will match
any port type,
     for example, ``-m dialup:vt100 -m :?xterm'' will  cause  any
dialup port,
     regardless   of  baud  rate,  to  match  the  terminal  type
``vt100'', and any
     non-dialup port type to match the terminal type  ``?xterm''.
Note, because
 of the leading question mark, the user will be queried
on a default
     port as to whether they are actually using an  xterm  terminal.

     No  whitespace characters are permitted in the -m option argument.  Also,
     to avoid problems with meta-characters, it is suggested that
the entire
     -m option argument be placed within single quote characters,
and that
     csh(1) users insert a backslash character  (`')  before  any
     marks (`!').

ENVIRONMENT    [Toc]    [Back]

     The  tset  command  utilizes  the SHELL and TERM environment

FILES    [Toc]    [Back]

     /etc/ttys                port name to terminal type  mapping
     /usr/share/misc/termcap  terminal capability database

SEE ALSO    [Toc]    [Back]

     csh(1),  sh(1),  stty(1), tty(4), termcap(5), ttys(5), environ(7)

STANDARDS    [Toc]    [Back]

     The tset command now uses  the  terminfo(5)  database  where
previous versions
  used termcap(5).  To make the -s and -S options still
work, tset
     also reads in the terminal entry from termcap(5).   However,
this info is
     used for setting TERMCAP only.  If the terminal type appears
     terminfo(5) but not in termcap(5), the -q  option  will  not
set TERMCAP and
     the -Q option will not work at all.

     The  -A,  -E,  -h, -u, and -v options have been deleted from
the tset utility.
  None of them were documented in 4.3BSD and all  are  of
limited utility
  at  best.   The  -a, -d and -p options are similarly not
documented or
     useful, but were retained as they appear to be in widespread
use.  It is
     strongly  recommended  that any usage of these three options
be changed to
     use the -m option instead.  The -n option remains,  but  has
no effect.  It
     is  still  permissible  to specify the -e, -i and -k options
without arguments,
 although it is strongly recommended that  such  usage
be fixed to
     explicitly specify the character.

     Executing  tset  as  reset  no longer implies the -Q option.
Also, the interaction
 between the - option and the terminal argument  in
some historic
     implementations of tset has been removed.

     Finally,  the tset implementation has been completely redone
(as part of
     the addition  to  the  system  of  a  IEEE  Std  1003.1-1988
(``POSIX'') compliant
  terminal  interface) and will no longer compile on systems with older
     terminal interfaces.

HISTORY    [Toc]    [Back]

     The tset command appeared in 3.0BSD.

OpenBSD     3.6                        November     15,      1998
[ Back ]
 Similar pages
Name OS Title
tset IRIX terminal dependent initialization
reset HP-UX terminal-dependent initialization
ttys OpenBSD terminal initialization information
ttys FreeBSD terminal initialization information
tset HP-UX terminal-dependent initialization
termios Linux get and set terminal attributes, line control, get and set baud rate, get and set terminal foregroun...
ct HP-UX spawn getty to a remote terminal (call terminal)
aio_init IRIX asynchronous I/O initialization
tclxinit IRIX Extended Tcl initialization.
aio_sgi_init IRIX asynchronous I/O initialization
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service