tset, reset - terminal initialization


   tset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
   reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]


   tset - initialization
   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 line.

   2. The value of the TERM environmental variable.

   3.  (BSD  systems only.) The terminal type associated with the standard
   error output device in the /etc/ttys file.   (On  System-V-like  UNIXes
   and  systems using that convention, getty does this job by setting TERM
   according to the type passed to it by /etc/inittab.)

   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 the section TERMINAL TYPE MAPPING
   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 terminfo entry for the terminal is  retrieved.   If  no
   terminfo  entry is found for the type, the user is prompted for another
   terminal type.

   Once the terminfo 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.

   reset - reinitialization
   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
   initialization 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:

   -c   Set control characters and modes.

   -e   Set the erase character to ch.

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

   -i   Set the interrupt character to ch.

   -k   Set the line kill character to ch.

   -m   Specify a mapping from a port type to a terminal.  See the section
        TERMINAL TYPE MAPPING for more information.

   -Q   Do  not  display any values for the erase, interrupt and line kill
        characters.   Normally  tset  displays  the  values  for   control
        characters which differ from the system's default values.

   -q   The  terminal  type  is  displayed to the standard output, and the
        terminal is not initialized in any way.  The option "-" by  itself
        is equivalent but archaic.

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

   -s   Print the sequence of shell commands to initialize the environment
        variable TERM to the standard output.  See the section SETTING THE
        ENVIRONMENT for details.

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

   -w   Resize the  window  to  match  the  size  deduced  via  setupterm.
        Normally  this  has  no  effect,  unless  setupterm is not able to
        detect the window size.

   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".

   If neither -c or -w is given, both options are assumed.


   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 option.

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

       eval `tset -s options ... `


   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 environmental variable is often something
   generic like network, dialup, or unknown.   When  tset  is  used  in  a
   startup  script  it is often desirable to provide information about the
   type of terminal used on such ports.

   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 used.

   If no baud rate is specified, the terminal type  will  match  any  baud
   rate.   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   users  insert  a  backslash  character  ("\")  before  any
   exclamation marks ("!").


   The tset command appeared in BSD 3.0.  The ncurses  implementation  was
   lightly  adapted  from the 4.4BSD sources for a terminfo environment by
   Eric S. Raymond <>.


   Neither IEEE Std 1003.1/The Open  Group  Base  Specifications  Issue  7
   (POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.

   The  tset utility has been provided for backward-compatibility with BSD
   environments (under most modern UNIXes, /etc/inittab and  getty(1)  can
   set  TERM  appropriately  for each dial-up line; this obviates what was
   tset's most important use).  This implementation  behaves  like  4.4BSD
   tset, with a few exceptions specified here.

   The  -S  option of BSD tset no longer works; it prints an error message
   to stderr and dies.  The -s option only sets TERM, not  TERMCAP.   Both
   of  these  changes  are  because  the  TERMCAP  variable  is  no longer
   supported under terminfo-based ncurses, which makes tset -S useless (we
   made it die noisily rather than silently induce lossage).

   There  was an undocumented 4.4BSD feature that invoking tset via a link
   named "TSET" (or via  any  other  name  beginning  with  an  upper-case
   letter) set the terminal to use upper-case only.  This feature has been

   The -A, -E, -h, -u and -v options were deleted from the tset utility in
   4.4BSD.   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 -a, -d, and
   -p options are therefore omitted from the usage summary above.

   Very old systems, e.g., 3BSD, used a different  terminal  driver  which
   was  replaced  in  4BSD in the early 1980s.  To accommodate these older
   systems, the 4BSD tset provided a -n option to  specify  that  the  new
   terminal  driver  should be used.  This implementation does not provide
   that choice.

   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.

   As of 4.4BSD, 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.

   The -c and  -w  options  are  not  found  in  earlier  implementations.
   However, a different window size-change feature was provided in 4.4BSD.

   *   In  4.4BSD,  tset uses the window size from the termcap description
       to set the window size if tset is not able  to  obtain  the  window
       size from the operating system.

   *   In ncurses, tset obtains the window size using setupterm, which may
       be from the operating system, the  LINES  and  COLUMNS  environment
       variables or the terminal description.

   Obtaining  the  window  size from the terminal description is common to
   both implementations, but considered obsolescent.  Its  only  practical
   use is for hardware terminals.  Generally speaking, a window size would
   be unset only if there were some problem obtaining the value  from  the
   operating  system  (and  setupterm would still fail).  For that reason,
   the LINES and COLUMNS environment variables may be useful  for  working
   around  window-size  problems.   Those  have  the  drawback that if the
   window is resized, those variables must be recomputed  and  reassigned.
   To do this more easily, use the resize(1) program.


   The tset command uses these environment variables:

        tells tset whether to initialize TERM using sh or csh syntax.

   TERM Denotes  your  terminal  type.   Each  terminal  type is distinct,
        though many are similar.

        may denote the location of a termcap database.  If it  is  not  an
        absolute  pathname,  e.g.,  begins  with  a  "/", tset removes the
        variable from the environment  before  looking  for  the  terminal


        system  port  name to terminal type mapping database (BSD versions

        terminal capability database


   csh(1),  sh(1),  stty(1),   curs_terminfo(3X),   tty(4),   terminfo(5),
   ttys(5), environ(7)

   This describes ncurses version 6.0 (patch 20160625).


More Linux Commands

innd(8) - InterNetNews daemon (Admin - Linux man page)......
innd, the InterNetNews daemon, handles all incoming NNTP feeds, coordinates the storage, retransmission, and overview generation for all accepted articles, and

getpagesize(2) - get memory page size - Linux manual page...
The function getpagesize() returns the number of bytes in a memory page, where page is a fixed-length block, the unit for memory allocation and file mapping per

atan(3) - arc tangent function (Library - Linux man page)...
The atan() function calculates the principal value of the arc tangent of x; that is the value whose tangent is x. RETURN VALUE On success, these functions retur

utimes(2) - change file last access and modification times
Note: modern applications may prefer to use the interfaces described in utimensat(2). The utime() system call changes the access and modification times of the i

lgammal_r(3) - log gamma function - Linux manual page.......
For the definition of the Gamma function, see tgamma(3). The lgamma() function returns the natural logarithm of the absolute value of the Gamma function. The si

XrmStringToQuark(3) - manipulate resource quarks (Man Page)
The XrmUniqueQuark function allocates a quark that is guaranteed not to represent any string that is known to the resource manager. These functions can be used

XFreeModifierMap(3) - manipulate keyboard encoding and keybo
The XChangeKeyboardMapping function defines the symbols for the specified number of KeyCodes starting with first_keycode. The symbols for KeyCodes outside this

smidump(1) - dump SMI or SPPI modules in various formats....
The smidump program is used to dump the contents of a single MIB or PIB module or a collection of modules to stdout in a selectable output format. This format m

XCreatePixmapCursor(3) - create cursors - Linux manual page
X provides a set of standard cursor shapes in a special font named cursor. Applications are encouraged to use this interface for their cursors because the font

ldap_next_reference(3) - Stepping through continuation refer
These routines are used to step through the continuation references in a result chain received from ldap_result(3) or the synchronous LDAP search operation rout

sem_overview(7) - Overview of POSIX semaphores (Man Page)...
POSIX semaphores allow processes and threads to synchronize their actions. A semaphore is an integer whose value is never allowed to fall below zero. Two operat

calibrate_lens(1) - Lens calibration from straight lines....
OPTIONS -p &lt;filename&gt; Input Hugin PTO file. -j &lt;filename&gt; Input file containing line data. -d &lt;int&gt; Maximum dimension for re-sized image prior to processing. De

We can't live, work or learn in freedom unless the software we use is free.