.\" Copyright (c) 1993 Michael Haardt (michael@moria.de),
.\"     Fri Apr  2 11:32:09 MET DST 1993
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
.\" Modified Sat Jul 24 17:17:50 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Thu Oct 19 21:25:21 MET 1995 by Martin Schulze <joey@infodrom.north.de>
.\" Modified Mon Oct 21 17:47:19 EDT 1996 by Eric S. Raymond
.\" <esr@thyrsus.com>xk
.TH TTYTYPE 5 2020-06-09 "Linux" "Linux Programmer's Manual"
.SH NAME
ttytype \- terminal device to default terminal type mapping
.SH DESCRIPTION
The
.I /etc/ttytype
file associates
.BR termcap (5)/ terminfo (5)
terminal type names
with tty lines.
Each line consists of a terminal type, followed by
whitespace, followed by a tty name (a device name without the
.IR /dev/ ") prefix."
.PP
This association is used by the program
.BR tset (1)
to set the environment variable
.B TERM
to the default terminal name for
the user's current tty.
.PP
This facility was designed for a traditional time-sharing environment
featuring character-cell terminals hardwired to a UNIX minicomputer.
It is little used on modern workstation and personal UNIX systems.
.SH FILES
.TP
.I /etc/ttytype
the tty definitions file.
.SH EXAMPLES
A typical
.I /etc/ttytype
is:
.PP
.in +4n
.EX
con80x25 tty1
vt320 ttys0
.EE
.in
.SH SEE ALSO
.BR termcap (5),
.BR terminfo (5),
.BR agetty (8),
.BR mingetty (8)
