| .\"*************************************************************************** |
| .\" 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 $ |
| .TH tset 1 "" |
| .SH NAME |
| \fBtset\fR, \fBreset\fR - terminal initialization |
| .SH SYNOPSIS |
| \fBtset\fR [\fB-IQVcqrsw\fR] [\fB-\fR] [\fB-e\fR \fIch\fR] [\fB-i\fR \fIch\fR] [\fB-k\fR \fIch\fR] [\fB-m\fR \fImapping\fR] [\fIterminal\fR] |
| .br |
| \fBreset\fR [\fB-IQVcqrsw\fR] [\fB-\fR] [\fB-e\fR \fIch\fR] [\fB-i\fR \fIch\fR] [\fB-k\fR \fIch\fR] [\fB-m\fR \fImapping\fR] [\fIterminal\fR] |
| .SH DESCRIPTION |
| \&\fBTset\fR initializes terminals. |
| \fBTset\fR first determines the type of terminal that you are using. |
| This determination is done as follows, using the first terminal type found. |
| .PP |
| 1. The \fBterminal\fR argument specified on the command line. |
| .PP |
| 2. The value of the \fBTERM\fR environmental variable. |
| .PP |
| 3. (BSD systems only.) The terminal type associated with the standard |
| error output device in the \fI/etc/ttys\fR file. (On Linux and |
| System-V-like UNIXes, \fIgetty\fR does this job by setting |
| \fBTERM\fR according to the type passed to it by \fI/etc/inittab\fR.) |
| .PP |
| 4. The default terminal type, ``unknown''. |
| .PP |
| If the terminal type was not specified on the command-line, the \fB-m\fR |
| option mappings are then applied (see the section |
| .B 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. |
| .PP |
| 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. |
| Use the \fB-c\fP or \fB-w\fP option to select only the window sizing |
| versus the other initialization. |
| If neither option is given, both are assumed. |
| .PP |
| When invoked as \fBreset\fR, \fBtset\fR 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 |
| .sp |
| \fB<LF>reset<LF>\fR |
| .sp |
| (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. |
| .PP |
| The options are as follows: |
| .TP 5 |
| .B -c |
| Set control characters and modes. |
| .B -e |
| Set the erase character to \fIch\fR. |
| .TP |
| .B -I |
| Do not send the terminal or tab initialization strings to the terminal. |
| .TP |
| .B -i |
| Set the interrupt character to \fIch\fR. |
| .TP |
| .B -k |
| Set the line kill character to \fIch\fR. |
| .TP |
| .B -m |
| Specify a mapping from a port type to a terminal. |
| See the section |
| .B TERMINAL TYPE MAPPING |
| for more information. |
| .TP |
| .B -Q |
| Do not display any values for the erase, interrupt and line kill characters. |
| Normally \fBtset\fR displays the values for control characters which |
| differ from the system's default values. |
| .TP |
| .B -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. |
| .TP |
| .B -r |
| Print the terminal type to the standard error output. |
| .TP |
| .B -s |
| Print the sequence of shell commands to initialize the environment variable |
| \fBTERM\fR to the standard output. |
| See the section |
| .B SETTING THE ENVIRONMENT |
| for details. |
| .TP |
| .B -V |
| reports the version of ncurses which was used in this program, and exits. |
| .TP |
| .B -w |
| Resize the window to match the size deduced via \fBsetupterm\fP. |
| Normally this has no effect, |
| unless \fBsetupterm\fP is not able to detect the window size. |
| .PP |
| The arguments for the \fB-e\fR, \fB-i\fR, and \fB-k\fR |
| 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''. |
| . |
| .SH SETTING THE ENVIRONMENT |
| 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 \fB-s\fR option. |
| .PP |
| When the \fB-s\fR option is specified, the commands to enter the information |
| into the shell's environment are written to the standard output. If |
| the \fBSHELL\fR environmental variable ends in ``csh'', the commands |
| are for \fBcsh\fR, otherwise, they are for \fBsh\fR. |
| Note, the \fBcsh\fR commands set and unset the shell variable |
| \fBnoglob\fR, leaving it unset. The following line in the \fB.login\fR |
| or \fB.profile\fR files will initialize the environment correctly: |
| .sp |
| eval \`tset -s options ... \` |
| . |
| .SH TERMINAL TYPE MAPPING |
| When the terminal is not hardwired into the system (or the current |
| system information is incorrect) the terminal type derived from the |
| \fI/etc/ttys\fR file or the \fBTERM\fR environmental variable is often |
| something generic like \fBnetwork\fR, \fBdialup\fR, or \fBunknown\fR. |
| When \fBtset\fR is used in a startup script it is often desirable to |
| provide information about the type of terminal used on such ports. |
| .PP |
| The purpose of the \fB-m\fR option is to map |
| from some set of conditions to a terminal type, that is, to |
| tell \fBtset\fR |
| ``If I'm on this port at a particular speed, guess that I'm on that |
| kind of terminal''. |
| .PP |
| The argument to the \fB-m\fR 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. |
| .PP |
| If the terminal type is not specified on the command line, the \fB-m\fR |
| 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. |
| .PP |
| For example, consider the following mapping: \fBdialup>9600:vt100\fR. |
| 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 \fBdialup\fR, |
| and the baud rate is greater than 9600 baud, a terminal type of |
| \fBvt100\fR will be used. |
| .PP |
| 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, \fB-m dialup:vt100 -m :?xterm\fR |
| 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. |
| .PP |
| No whitespace characters are permitted in the \fB-m\fR option argument. |
| Also, to avoid problems with meta-characters, it is suggested that the |
| entire \fB-m\fR option argument be placed within single quote characters, |
| and that \fBcsh\fR users insert a backslash character (``\e'') before |
| any exclamation marks (``!''). |
| .SH HISTORY |
| The \fBtset\fR command appeared in BSD 3.0. The \fBncurses\fR implementation |
| was lightly adapted from the 4.4BSD sources for a terminfo environment by Eric |
| S. Raymond <esr@snark.thyrsus.com>. |
| .SH COMPATIBILITY |
| The \fBtset\fR utility has been provided for backward-compatibility with BSD |
| environments (under most modern UNIXes, \fB/etc/inittab\fR and \fIgetty\fR(1) |
| can set \fBTERM\fR appropriately for each dial-up line; this obviates what was |
| \fBtset\fR's most important use). This implementation behaves like 4.4BSD |
| tset, with a few exceptions specified here. |
| .PP |
| The \fB-S\fR option of BSD tset no longer works; it prints an error message to stderr |
| and dies. The \fB-s\fR option only sets \fBTERM\fR, not \fBTERMCAP\fP. Both these |
| changes are because the \fBTERMCAP\fR variable is no longer supported under |
| terminfo-based \fBncurses\fR, which makes \fBtset -S\fR useless (we made it die |
| noisily rather than silently induce lossage). |
| .PP |
| 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 omitted. |
| .PP |
| The \fB-A\fR, \fB-E\fR, \fB-h\fR, \fB-u\fR and \fB-v\fR |
| options were deleted from the \fBtset\fR |
| utility in 4.4BSD. |
| None of them were documented in 4.3BSD and all are |
| of limited utility at best. |
| The \fB-a\fR, \fB-d\fR, and \fB-p\fR 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 \fB-m\fR option instead. The |
| -n option remains, but has no effect. The \fB-adnp\fR options are therefore |
| omitted from the usage summary above. |
| .PP |
| It is still permissible to specify the \fB-e\fR, \fB-i\fR, and \fB-k\fR options without |
| arguments, although it is strongly recommended that such usage be fixed to |
| explicitly specify the character. |
| .PP |
| As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the \fB-Q\fR |
| option. Also, the interaction between the - option and the \fIterminal\fR |
| argument in some historic implementations of \fBtset\fR has been removed. |
| .SH ENVIRONMENT |
| The \fBtset\fR command uses these environment variables: |
| .TP 5 |
| SHELL |
| tells \fBtset\fP whether to initialize \fBTERM\fP using \fBsh\fP or |
| \fBcsh\fP syntax. |
| .TP 5 |
| TERM |
| Denotes your terminal type. |
| Each terminal type is distinct, though many are similar. |
| .TP 5 |
| TERMCAP |
| may denote the location of a termcap database. |
| If it is not an absolute pathname, e.g., begins with a `/', |
| \fBtset\fP removes the variable from the environment before looking |
| for the terminal description. |
| .SH FILES |
| .TP 5 |
| /etc/ttys |
| system port name to terminal type mapping database (BSD versions only). |
| .TP |
| @TERMINFO@ |
| terminal capability database |
| .SH SEE ALSO |
| csh(1), |
| sh(1), |
| stty(1), |
| curs_terminfo(3X), |
| tty(4), |
| terminfo(5), |
| ttys(5), |
| environ(7) |
| .PP |
| This describes \fBncurses\fR |
| version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@). |
| .\"# |
| .\"# The following sets edit modes for GNU EMACS |
| .\"# Local Variables: |
| .\"# mode:nroff |
| .\"# fill-column:79 |
| .\"# End: |