| <!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> | |
| <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization | |
| </PRE> | |
| <H2>SYNOPSIS</H2><PRE> | |
| <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> | |
| <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 <STRONG>terminal</STRONG> argument specified on the command line. | |
| 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 <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 <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. | |
| 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 | |
| described above. This is useful after a program dies | |
| leaving a terminal in an abnormal state. Note, you may | |
| have to type | |
| <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 abnormal state. Also, the terminal will often not | |
| echo the command. | |
| The options are as follows: | |
| <STRONG>-c</STRONG> Set control characters and modes. <STRONG>-e</STRONG> Set the erase | |
| character to <EM>ch</EM>. | |
| <STRONG>-I</STRONG> Do not send the terminal or tab initialization | |
| strings to the terminal. | |
| <STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>. | |
| <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>. | |
| <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. | |
| <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. | |
| <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. | |
| <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 <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 <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 <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 <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 <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 | |
| 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 <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: | |
| <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 <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, <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 | |
| are actually using an xterm terminal. | |
| 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 <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 <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 <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 | |
| tset via a link named `TSET` (or via any other name begin- | |
| ning with an upper-case letter) set the terminal to use | |
| upper-case only. This feature has been omitted. | |
| 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 <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 <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 <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 | |
| (BSD versions only). | |
| /usr/share/terminfo | |
| terminal capability database | |
| </PRE> | |
| <H2>SEE ALSO</H2><PRE> | |
| <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 20081011). | |
| <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> | |
| </PRE> | |
| <HR> | |
| <ADDRESS> | |
| Man(1) output converted with | |
| <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> | |
| </ADDRESS> | |
| </BODY> | |
| </HTML> |