+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<!--
+ ****************************************************************************
+ * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
+ * *
+ * Permission is hereby granted, free of charge, to any person obtaining a *
+ * copy of this software and associated documentation files (the *
+ * "Software"), to deal in the Software without restriction, including *
+ * without limitation the rights to use, copy, modify, merge, publish, *
+ * distribute, distribute with modifications, sublicense, and/or sell *
+ * copies of the Software, and to permit persons to whom the Software is *
+ * furnished to do so, subject to the following conditions: *
+ * *
+ * The above copyright notice and this permission notice shall be included *
+ * in all copies or substantial portions of the Software. *
+ * *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
+ * *
+ * Except as contained in this notice, the name(s) of the above copyright *
+ * holders shall not be used in advertising or otherwise to promote the *
+ * sale, use or other dealings in this Software without prior written *
+ * authorization. *
+ ****************************************************************************
+ * @Id: tset.1,v 1.19 2006/12/24 15:00:30 tom Exp @
+-->
<HTML>
+<HEAD>
+<TITLE>tset 1</TITLE>
+<link rev=made href="mailto:bug-ncurses@gnu.org">
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+</HEAD>
<BODY>
+<H1>tset 1</H1>
+<HR>
<PRE>
<!-- Manpage converted by man2html 3.0.1 -->
+<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+
+
+
</PRE>
<H2>NAME</H2><PRE>
- <B>tset</B> - terminal initialization
+ <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
</PRE>
<H2>SYNOPSIS</H2><PRE>
- tset [-IQqrs] [-] [-e <I>ch</I>] [-i <I>ch</I>] [-k <I>ch</I>] [-m <I>mapping</I>]
- [<I>terminal</I>]
- reset [-IQqrs] [-] [-e <I>ch</I>] [-i <I>ch</I>] [-k <I>ch</I>] [-m <I>mapping</I>]
- [<I>terminal</I>]
+ <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
+ [<EM>terminal</EM>]
+ <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>]
+ [<EM>terminal</EM>]
</PRE>
<H2>DESCRIPTION</H2><PRE>
- <B>Tset</B> initializes terminals. <B>Tset</B> first determines the
+ <STRONG>Tset</STRONG> initializes terminals. <STRONG>Tset</STRONG> first determines the
type of terminal that you are using. This determination
is done as follows, using the first terminal type found.
- 1. The <B>terminal</B> argument specified on the command line.
+ 1. The <STRONG>terminal</STRONG> argument specified on the command line.
- 2. The value of the <B>TERM</B> environmental variable.
+ 2. The value of the <STRONG>TERM</STRONG> environmental variable.
3. (BSD systems only.) The terminal type associated with
- the standard error output device in the <I>/etc/ttys</I> file.
- (On Linux and System-V-like UNIXes, <I>getty</I> does this job by
- setting <B>TERM</B> according to the type passed to it by
- <I>/etc/inittab</I>.)
+ the standard error output device in the <EM>/etc/ttys</EM> file.
+ (On Linux and System-V-like UNIXes, <EM>getty</EM> does this job by
+ setting <STRONG>TERM</STRONG> according to the type passed to it by
+ <EM>/etc/inittab</EM>.)
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 con-
- firms 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
+ line, the <STRONG>-m</STRONG> option mappings are then applied (see the
+ section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information).
+ Then, if the terminal type begins with a question mark
+ (``?''), the user is prompted for confirmation of the ter-
+ minal 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 ter-
+ minal 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 initializa-
- tion 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 <B>reset</B>, <B>tset</B> sets cooked and echo modes,
+ tion 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.
+ Use the <STRONG>-c</STRONG> or <STRONG>-w</STRONG> option to select only the window sizing
+ versus the other initialization. If neither option is
+ given, both are assumed.
+
+ When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets cooked and echo modes,
turns off cbreak and raw modes, turns on newline transla-
tion and resets any unset special characters to their
default values before doing the terminal initialization
leaving a terminal in an abnormal state. Note, you may
have to type
- <B><LF>reset<LF></B>
+ <STRONG><LF>reset<LF></STRONG>
(the line-feed character is normally control-J) to get the
terminal to work, as carriage-return may no longer work in
The options are as follows:
- -q The terminal type is displayed to the standard out-
- put, and the terminal is not initialized in any way.
- The option `-' by itself is equivalent but archaic.
-
- -e Set the erase character to <I>ch</I>.
+ <STRONG>-c</STRONG> Set control characters and modes. <STRONG>-e</STRONG> Set the erase
+ character to <EM>ch</EM>.
- -I Do not send the terminal or tab initialization
+ <STRONG>-I</STRONG> Do not send the terminal or tab initialization
strings to the terminal.
- -i Set the interrupt character to <I>ch</I>.
+ <STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>.
- -k Set the line kill character to <I>ch</I>.
+ <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
- -m Specify a mapping from a port type to a terminal.
- See below for more information.
+ <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal.
+ See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor-
+ mation.
- -Q Don't display any values for the erase, interrupt and
- line kill characters.
+ <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt
+ and line kill characters. Normally <STRONG>tset</STRONG> displays the
+ values for control characters which differ from the
+ system's default values.
- -r Print the terminal type to the standard error output.
+ <STRONG>-q</STRONG> The terminal type is displayed to the standard out-
+ put, and the terminal is not initialized in any way.
+ The option `-' by itself is equivalent but archaic.
+
+ <STRONG>-r</STRONG> Print the terminal type to the standard error output.
+
+ <STRONG>-s</STRONG> Print the sequence of shell commands to initialize
+ the environment variable <STRONG>TERM</STRONG> to the standard output.
+ See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details.
+
+ <STRONG>-V</STRONG> reports the version of ncurses which was used in this
+ program, and exits.
- -s Print the sequence of shell commands to initialize
- the environment variable <B>TERM</B> to the standard output.
- See the section below on setting the environment for
- details.
+ <STRONG>-w</STRONG> Resize the window to match the size deduced via
+ <STRONG>setupterm</STRONG>. Normally this has no effect, unless
+ <STRONG>setupterm</STRONG> 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' nota-
+ The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be
+ entered as actual characters or by using the `hat' nota-
tion, i.e. control-h may be specified as ``^H'' or ``^h''.
</PRE>
<H2>SETTING THE ENVIRONMENT</H2><PRE>
- 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 <B>SHELL</B> environmental variable
- ends in ``csh'', the commands are for <B>csh</B>, otherwise, they
- are for <B>sh</B>. Note, the <B>csh</B> commands set and unset the
- shell variable <B>noglob</B>, leaving it unset. The following
- line in the <B>.login</B> or <B>.profile</B> files will initialize the
+ 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 <STRONG>-s</STRONG> option.
+
+ When the <STRONG>-s</STRONG> option is specified, the commands to enter the
+ information into the shell's environment are written to
+ the standard output. If the <STRONG>SHELL</STRONG> environmental variable
+ ends in ``csh'', the commands are for <STRONG>csh</STRONG>, otherwise, they
+ are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the
+ shell variable <STRONG>noglob</STRONG>, leaving it unset. The following
+ line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the
environment correctly:
eval `tset -s options ... `
-
</PRE>
<H2>TERMINAL TYPE MAPPING</H2><PRE>
When the terminal is not hardwired into the system (or the
current system information is incorrect) the terminal type
- derived from the <I>/etc/ttys</I> file or the <B>TERM</B> environmental
- variable is often something generic like <B>network</B>, <B>dialup</B>,
- or <B>unknown</B>. When <B>tset</B> is used in a startup script it is
- often desirable to provide information about the type of
+ derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental
+ variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>,
+ or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> 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 <B>tset</B> ``If
- I'm on this port at a particular speed, guess that I'm on
+ The purpose of the <STRONG>-m</STRONG> option is to map from some set of
+ conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> ``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
+ The argument to the <STRONG>-m</STRONG> option consists of an optional port
type, an optional operator, an optional baud rate specifi-
cation, an optional colon (``:'') character and a terminal
- type. The port type is a string (delimited by either the
+ 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
+ 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
+ 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 applica-
+ the <STRONG>-m</STRONG> 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 applica-
ble mapping is used.
- For example, consider the following mapping:
- <B>dialup>9600:vt100</B>. The port type is dialup , the operator
- is >, the baud rate specification is 9600, and the termi-
+ For example, consider the following mapping:
+ <STRONG>dialup>9600:vt100</STRONG>. The port type is dialup , the operator
+ is >, the baud rate specification is 9600, and the termi-
nal type is vt100. The result of this mapping is to spec-
- ify that if the terminal type is <B>dialup</B>, and the baud rate
- is greater than 9600 baud, a terminal type of <B>vt100</B> will
+ ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate
+ is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> 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, <B>-m</B>
- <B>dialup:vt100</B> <B>-m</B> <B>:?xterm</B> will cause any dialup port,
+ type will match any port type. For example, <STRONG>-m</STRONG>
+ <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> 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
+ 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 <B>csh</B> users
- insert a backslash character (``\'') before any exclama-
+ No whitespace characters are permitted in the <STRONG>-m</STRONG> option
+ argument. Also, to avoid problems with meta-characters,
+ it is suggested that the entire <STRONG>-m</STRONG> option argument be
+ placed within single quote characters, and that <STRONG>csh</STRONG> users
+ insert a backslash character (``\'') before any exclama-
tion marks (``!'').
</PRE>
<H2>HISTORY</H2><PRE>
- The <B>tset</B> command appeared in BSD 3.0. The <B>ncurses</B> imple-
- mentation was lightly adapted from the 4.4BSD sources for
+ The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple-
+ mentation was lightly adapted from the 4.4BSD sources for
a terminfo environment by Eric S. Raymond <esr@snark.thyr-
sus.com>.
</PRE>
<H2>COMPATIBILITY</H2><PRE>
- The <B>tset</B> utility has been provided for backward-compati-
- bility with BSD environments (under most modern UNIXes,
- <B>/etc/inittab</B> and <B><A HREF="getty.1.html">getty(1)</A></B> can set <B>TERM</B> appropriately for
- each dial-up line; this obviates what was <B>tset</B>'s most
- important use). This implementation behaves like 4.4BSD
+ The <STRONG>tset</STRONG> utility has been provided for backward-compati-
+ bility with BSD environments (under most modern UNIXes,
+ <STRONG>/etc/inittab</STRONG> and <STRONG><A HREF="getty.1.html">getty(1)</A></STRONG> can set <STRONG>TERM</STRONG> appropriately for
+ each dial-up line; this obviates what was <STRONG>tset</STRONG>'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
- <B>TERM</B>, not <B>TERMCAP</B>. Both these changes are because the
- <B>TERMCAP</B> variable is no longer supported under terminfo-
- based <B>ncurses</B>, which makes <B>tset</B> <B>-S</B> useless (we made it die
+ The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an
+ error message to stderr and dies. The <STRONG>-s</STRONG> option only sets
+ <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both these changes are because the
+ <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo-
+ based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die
noisily rather than silently induce lossage).
- There was an undocumented 4.4BSD feature that invoking
+ There was an undocumented 4.4BSD feature that invoking
tset via a link named `TSET` (or via any other name begin-
- ning with an upper-case letter) set the terminal to use
+ ning with an upper-case letter) set the terminal to use
upper-case only. This feature has been omitted.
- The -A, -E, -h, -u and -v options were deleted from the
- <B>tset</B> 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 -n
- option remains, but has no effect. The -adnp options are
+ The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the
+ <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in
+ 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>,
+ <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> 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 <STRONG>-m</STRONG> option instead. The -n
+ option remains, but has no effect. The <STRONG>-adnp</STRONG> options are
therefore omitted from the usage summary above.
- It is still permissible to specify the -e, -i, and -k
- options without arguments, although it is strongly recom-
- mended that such usage be fixed to explicitly specify the
+ It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG>
+ options without arguments, although it is strongly recom-
+ mended that such usage be fixed to explicitly specify the
character.
- As of 4.4BSD, executing <B>tset</B> as <B>reset</B> no longer implies
- the -Q option. Also, the interaction between the - option
- and the <I>terminal</I> argument in some historic implementations
- of <B>tset</B> has been removed.
+ As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies
+ the <STRONG>-Q</STRONG> option. Also, the interaction between the - option
+ and the <EM>terminal</EM> argument in some historic implementations
+ of <STRONG>tset</STRONG> has been removed.
</PRE>
<H2>ENVIRONMENT</H2><PRE>
- The <B>tset</B> command uses the <B>SHELL</B> and <B>TERM</B> environment vari-
- ables.
+ The <STRONG>tset</STRONG> command uses these environment variables:
+
+ SHELL
+ tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG>
+ syntax.
+
+ TERM Denotes your terminal type. Each terminal type is
+ distinct, though many are similar.
+
+ TERMCAP
+ may denote the location of a termcap database. If it
+ is not an absolute pathname, e.g., begins with a `/',
+ <STRONG>tset</STRONG> removes the variable from the environment before
+ looking for the terminal description.
</PRE>
<H2>FILES</H2><PRE>
/etc/ttys
- system port name to terminal type mapping database
+ system port name to terminal type mapping database
(BSD versions only).
- @DATADIR@/terminfo
+ /usr/share/terminfo
terminal capability database
</PRE>
<H2>SEE ALSO</H2><PRE>
- <B><A HREF="csh.1.html">csh(1)</A></B>, <B><A HREF="sh.1.html">sh(1)</A></B>, <B><A HREF="stty.1.html">stty(1)</A></B>, <B><A HREF="tty.4.html">tty(4)</A></B>, <B><A HREF="termcap.5.html">termcap(5)</A></B>, <B><A HREF="ttys.5.html">ttys(5)</A></B>, envi-
- <B><A HREF="ron.7.html">ron(7)</A></B>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>, ter-
+ <STRONG><A HREF="minfo.5.html">minfo(5)</A></STRONG>, <STRONG><A HREF="ttys.5.html">ttys(5)</A></STRONG>, <STRONG><A HREF="environ.7.html">environ(7)</A></STRONG>
+ This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20061224).
+ <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<HR>
<ADDRESS>