123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- .\"***************************************************************************
- .\" Copyright (c) 1998-2006,2007 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: term.7,v 1.18 2007/06/02 20:40:07 tom Exp $
- .TH term 7
- .ds n 5
- .ds d @TERMINFO@
- .SH NAME
- term \- conventions for naming terminal types
- .SH DESCRIPTION
- .PP
- The environment variable \fBTERM\fR should normally contain the type name of
- the terminal, console or display-device type you are using. This information
- is critical for all screen-oriented programs, including your editor and mailer.
- .PP
- A default \fBTERM\fR value will be set on a per-line basis by either
- \fB/etc/inittab\fR (Linux and System-V-like UNIXes) or \fB/etc/ttys\fR (BSD
- UNIXes). This will nearly always suffice for workstation and microcomputer
- consoles.
- .PP
- If you use a dialup line, the type of device attached to it may vary. Older
- UNIX systems pre-set a very dumb terminal type like `dumb' or `dialup' on
- dialup lines. Newer ones may pre-set `vt100', reflecting the prevalence of DEC
- VT100-compatible terminals and personal-computer emulators.
- .PP
- Modern telnets pass your \fBTERM\fR environment variable from the local side to
- the remote one. There can be problems if the remote terminfo or termcap entry
- for your type is not compatible with yours, but this situation is rare and
- can almost always be avoided by explicitly exporting `vt100' (assuming you
- are in fact using a VT100-superset console, terminal, or terminal emulator.)
- .PP
- In any case, you are free to override the system \fBTERM\fR setting to your
- taste in your shell profile. The \fBtset\fP(1) utility may be of assistance;
- you can give it a set of rules for deducing or requesting a terminal type based
- on the tty device and baud rate.
- .PP
- Setting your own \fBTERM\fR value may also be useful if you have created a
- custom entry incorporating options (such as visual bell or reverse-video)
- which you wish to override the system default type for your line.
- .PP
- Terminal type descriptions are stored as files of capability data underneath
- \*d. To browse a list of all terminal names recognized by the system, do
- .sp
- @TOE@ | more
- .sp
- from your shell. These capability files are in a binary format optimized for
- retrieval speed (unlike the old text-based \fBtermcap\fR format they replace);
- to examine an entry, you must use the \fB@INFOCMP@\fR(1M) command.
- Invoke it as follows:
- .sp
- @INFOCMP@ \fIentry-name\fR
- .sp
- where \fIentry-name\fR is the name of the type you wish to examine (and the
- name of its capability file the subdirectory of \*d named for its first
- letter). This command dumps a capability file in the text format described by
- \fBterminfo\fR(\*n).
- .PP
- The first line of a \fBterminfo\fR(\*n) description gives the names by which
- terminfo knows a terminal, separated by `|' (pipe-bar) characters with the last
- name field terminated by a comma. The first name field is the type's
- \fIprimary name\fR, and is the one to use when setting \fBTERM\fR. The last
- name field (if distinct from the first) is actually a description of the
- terminal type (it may contain blanks; the others must be single words). Name
- fields between the first and last (if present) are aliases for the terminal,
- usually historical names retained for compatibility.
- .PP
- There are some conventions for how to choose terminal primary names that help
- keep them informative and unique. Here is a step-by-step guide to naming
- terminals that also explains how to parse them:
- .PP
- First, choose a root name. The root will consist of a lower-case letter
- followed by up to seven lower-case letters or digits. You need to avoid using
- punctuation characters in root names, because they are used and interpreted as
- filenames and shell meta-characters (such as !, $, *, ?, etc.) embedded in them
- may cause odd and unhelpful behavior. The slash (/), or any other character
- that may be interpreted by anyone's file system (\e, $, [, ]), is especially
- dangerous (terminfo is platform-independent, and choosing names with special
- characters could someday make life difficult for users of a future port). The
- dot (.) character is relatively safe as long as there is at most one per root
- name; some historical terminfo names use it.
- .PP
- The root name for a terminal or workstation console type should almost always
- begin with a vendor prefix (such as \fBhp\fR for Hewlett-Packard, \fBwy\fR for
- Wyse, or \fBatt\fR for AT&T terminals), or a common name of the terminal line
- (\fBvt\fR for the VT series of terminals from DEC, or \fBsun\fR for Sun
- Microsystems workstation consoles, or \fBregent\fR for the ADDS Regent series.
- You can list the terminfo tree to see what prefixes are already in common use.
- The root name prefix should be followed when appropriate by a model number;
- thus \fBvt100\fR, \fBhp2621\fR, \fBwy50\fR.
- .PP
- The root name for a PC-Unix console type should be the OS name,
- i.e. \fBlinux\fR, \fBbsdos\fR, \fBfreebsd\fR, \fBnetbsd\fR. It should
- \fInot\fR be \fBconsole\fR or any other generic that might cause confusion in a
- multi-platform environment! If a model number follows, it should indicate
- either the OS release level or the console driver release level.
- .PP
- The root name for a terminal emulator (assuming it does not fit one of the
- standard ANSI or vt100 types) should be the program name or a readily
- recognizable abbreviation of it (i.e. \fBversaterm\fR, \fBctrm\fR).
- .PP
- Following the root name, you may add any reasonable number of hyphen-separated
- feature suffixes.
- .TP 5
- 2p
- Has two pages of memory. Likewise 4p, 8p, etc.
- .TP 5
- mc
- Magic-cookie. Some terminals (notably older Wyses) can only support one
- attribute without magic-cookie lossage. Their base entry is usually paired
- with another that has this suffix and uses magic cookies to support multiple
- attributes.
- .TP 5
- -am
- Enable auto-margin (right-margin wraparound).
- .TP 5
- -m
- Mono mode - suppress color support.
- .TP 5
- -na
- No arrow keys - termcap ignores arrow keys which are actually there on the
- terminal, so the user can use the arrow keys locally.
- .TP 5
- -nam
- No auto-margin - suppress am capability.
- .TP 5
- -nl
- No labels - suppress soft labels.
- .TP 5
- -nsl
- No status line - suppress status line.
- .TP 5
- -pp
- Has a printer port which is used.
- .TP 5
- -rv
- Terminal in reverse video mode (black on white).
- .TP 5
- -s
- Enable status line.
- .TP 5
- -vb
- Use visible bell (flash) rather than beep.
- .TP 5
- -w
- Wide; terminal is in 132 column mode.
- .PP
- Conventionally, if your terminal type is a variant intended to specify a
- line height, that suffix should go first. So, for a hypothetical FuBarCo
- model 2317 terminal in 30-line mode with reverse video, best form would be
- \fBfubar-30-rv\fR (rather than, say, `fubar-rv-30').
- .PP
- Terminal types that are written not as standalone entries, but rather as
- components to be plugged into other entries via \fBuse\fP capabilities,
- are distinguished by using embedded plus signs rather than dashes.
- .PP
- Commands which use a terminal type to control display often accept a -T
- option that accepts a terminal name argument. Such programs should fall back
- on the \fBTERM\fR environment variable when no -T option is specified.
- .SH PORTABILITY
- For maximum compatibility with older System V UNIXes, names and aliases
- should be unique within the first 14 characters.
- .SH FILES
- .TP 5
- \*d/?/*
- compiled terminal capability data base
- .TP 5
- /etc/inittab
- tty line initialization (AT&T-like UNIXes)
- .TP 5
- /etc/ttys
- tty line initialization (BSD-like UNIXes)
- .SH SEE ALSO
- \fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBterm\fR(\*n).
- .\"#
- .\"# The following sets edit modes for GNU EMACS
- .\"# Local Variables:
- .\"# mode:nroff
- .\"# fill-column:79
- .\"# End:
|