mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-20 11:11:24 +00:00
251 lines
11 KiB
Groff
251 lines
11 KiB
Groff
.\"***************************************************************************
|
|
.\" Copyright (c) 1998,2000 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.12 2000/09/09 20:33:07 tom Exp $
|
|
.TH tset 1 ""
|
|
.SH NAME
|
|
\fBtset\fR, \fBreset\fR - terminal initialization
|
|
.SH SYNOPSIS
|
|
tset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \fImapping\fR] [\fIterminal\fR]
|
|
.br
|
|
reset [-IQVqrs] [-] [-e \fIch\fR] [-i \fIch\fR] [-k \fIch\fR] [-m \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 -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 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.
|
|
.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
|
|
|
|
\fB<LF>reset<LF>\fR
|
|
|
|
(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
|
|
-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 5
|
|
-e
|
|
Set the erase character to \fIch\fR.
|
|
.TP 5
|
|
-I
|
|
Do not send the terminal or tab initialization strings to the terminal.
|
|
.TP 5
|
|
-Q
|
|
Don't display any values for the erase, interrupt and line kill characters.
|
|
.TP
|
|
\fB-V\fR
|
|
reports the version of ncurses which was used in this program, and exits.
|
|
.TP 5
|
|
-i
|
|
Set the interrupt character to \fIch\fR.
|
|
.TP 5
|
|
-k
|
|
Set the line kill character to \fIch\fR.
|
|
.TP 5
|
|
-m
|
|
Specify a mapping from a port type to a terminal.
|
|
See below for more information.
|
|
.TP 5
|
|
-r
|
|
Print the terminal type to the standard error output.
|
|
.TP 5
|
|
-s
|
|
Print the sequence of shell commands to initialize the environment variable
|
|
\fBTERM\fR to the standard output.
|
|
See the section below on setting the environment for details.
|
|
.PP
|
|
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''.
|
|
.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 -s option.
|
|
.PP
|
|
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 \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:
|
|
|
|
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 -m 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 -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.
|
|
.PP
|
|
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.
|
|
.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 -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 \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 -S option of BSD tset no longer works; it prints an error message to stderr
|
|
and dies. The -s 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 -A, -E, -h, -u and -v 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 -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 therefore
|
|
omitted from the usage summary above.
|
|
.PP
|
|
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.
|
|
.PP
|
|
As of 4.4BSD, executing \fBtset\fR as \fBreset\fR no longer implies the -Q
|
|
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 the \fBSHELL\fR and \fBTERM\fR
|
|
environment variables.
|
|
.SH FILES
|
|
.TP 5
|
|
/etc/ttys
|
|
system port name to terminal type mapping database (BSD versions only).
|
|
.TP 5
|
|
@TERMINFO@
|
|
terminal capability database
|
|
.SH SEE ALSO
|
|
csh(1),
|
|
sh(1),
|
|
stty(1),
|
|
tty(4),
|
|
termcap(5),
|
|
ttys(5),
|
|
environ(7)
|
|
.\"#
|
|
.\"# The following sets edit modes for GNU EMACS
|
|
.\"# Local Variables:
|
|
.\"# mode:nroff
|
|
.\"# fill-column:79
|
|
.\"# End:
|
|
|