mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-24 11:29:10 +00:00
73f0a83d68
Requested by: bapt
301 lines
13 KiB
Groff
301 lines
13 KiB
Groff
.\"***************************************************************************
|
|
.\" Copyright (c) 1998-2011,2013 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.29 2013/12/21 22:15:53 tom Exp $
|
|
.TH @TSET@ 1 ""
|
|
.ie \n(.g .ds `` \(lq
|
|
.el .ds `` ``
|
|
.ie \n(.g .ds '' \(rq
|
|
.el .ds '' ''
|
|
.SH NAME
|
|
\fB@TSET@\fR, \fBreset\fR \- terminal initialization
|
|
.SH SYNOPSIS
|
|
\fB@TSET@\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 System\-V-like UNIXes and systems using that convention,
|
|
\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, \fB@TSET@\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.
|
|
.TP 5
|
|
.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 \fB@TSET@\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 \fB@TSET@\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 \fB@TSET@\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 \fB@TSET@\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 \fB@TSET@\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
|
|
\fB@TSET@\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 of these changes are because the \fBTERMCAP\fR variable
|
|
is no longer supported under terminfo-based \fBncurses\fR,
|
|
which makes \fB@TSET@ \-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 \fB@TSET@\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 \fB\-n\fP 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 \fB@TSET@\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 \fB@TSET@\fR has been removed.
|
|
.SH ENVIRONMENT
|
|
The \fB@TSET@\fR command uses these environment variables:
|
|
.TP 5
|
|
SHELL
|
|
tells \fB@TSET@\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 `/',
|
|
\fB@TSET@\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
|
|
.hy 0
|
|
csh(1),
|
|
sh(1),
|
|
stty(1),
|
|
curs_terminfo(3X),
|
|
tty(4),
|
|
terminfo(5),
|
|
ttys(5),
|
|
environ(7)
|
|
.hy
|
|
.PP
|
|
This describes \fBncurses\fR
|
|
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|