gettytab(5)
NAME
gettytab - terminal configuration data base
SYNOPSIS
gettytab
DESCRIPTION
- The gettytab file is a simplified version of the termcap(5)
- data base
used to describe terminal lines. The initial terminal login - process
getty(8) accesses the gettytab file each time it starts, al - lowing simpler
reconfiguration of terminal characteristics. Each entry in - the data base
is used to describe one class of terminals. - There is a default terminal class, default, that is used to
- set global
defaults for all other classes. (That is, the default entry - is read,
then the entry for the class required is used to override - particular settings.)
CAPABILITIES
- Refer to termcap(5) for a description of the file layout.
- The default
column below lists defaults obtained if there is no entry in - the table
obtained, nor one in the special default table. - Name Type Default Description ac str unused expect-send chat script
- for modem
- answer
- al str unused user to auto-login instead
- of prompting
ap bool false terminal uses any parity
bk str 0377 alternate end of line - character (input
- break)
- c0 num unused tty control flags to write
- messages
c1 num unused tty control flags to read - login name
c2 num unused tty control flags to leave - terminal as
ce bool false use crt erase algorithm
ck bool false use crt kill algorithm
cl str NULL screen clear sequence
co bool false console - add `0 after lo - gin prompt
ct num 10 chat timeout for ac and ic - scripts
dc num 0 chat debug bitmask
de num 0 delay secs and flush input - before
- writing first prompt
- df str %+ the strftime(3) format
- used for %d in
- the banner message
- ds str `^Y' delayed suspend character
dx bool false set DECCTLQ
ec bool false leave echo OFF
ep bool false terminal uses even parity
er str `^?' erase character
et str `^D' end of text (EOF) charac - ter
ev str NULL initial environment
f0 num unused tty mode flags to write - messages
f1 num unused tty mode flags to read lo - gin name
f2 num unused tty mode flags to leave - terminal as
fl str `^O' output flush character
hc bool false do NOT hangup line on last - close
he str NULL hostname editing string
hn str hostname hostname
ht bool false terminal has real tabs
hw bool false do cts/rts hardware flow - control
i0 num unused tty input flags to write - messages
i1 num unused tty input flags to read - login name
i2 num unused tty input flags to leave - terminal as
ic str unused expect-send chat script - for modem
- initialization
- if str unused display named file before
- prompt, like
- /etc/issue
- ig bool false ignore garbage characters
- in login name
im str NULL initial (banner) message
in str `^C' interrupt character
is num unused input speed
kl str `^U' kill character
l0 num unused tty local flags to write - messages
l1 num unused tty local flags to read - login name
l2 num unused tty local flags to leave - terminal as
lm str login: login prompt
ln str `^V' ``literal next'' character
lo str /usr/bin/login program to exec when name - obtained
mb bool false do flow control based on - carrier
nc bool false terminal does not supply - carrier (set
- clocal)
- nl bool false terminal has (or might
- have) a newline
- character
- np bool false terminal uses no parity
- (i.e. 8-bit
- characters)
- nx str default next table (for auto speed
- selection)
o0 num unused tty output flags to write - messages
o1 num unused tty output flags to read - login name
o2 num unused tty output flags to leave - terminal as
op bool false terminal uses odd parity
os num unused output speed
pc str ` ' pad character
pe bool false use printer (hard copy) - erase algorithm
pf num 0 delay between first prompt - and follow
- ing flush (seconds)
- pl bool false start PPP login program
- unconditionally
- if pp is specified
- pp str unused PPP login program
ps bool false line connected to a MICOM - port selector
qu str `^´ quit character
rp str `^R' line retype character
rt num unused ring timeout when using ac
rw bool false do NOT use raw for input, - use cbreak
sp num unused line speed (input and out - put)
su str `^Z' suspend character
tc str none table continuation
to num 0 timeout (seconds)
tt str NULL terminal type (for envi - ronment)
ub bool false do unbuffered output (of - prompts etc)
we str `^W' word erase character
xc bool false do NOT echo control chars - as `^X'
xf str `^S' XOFF (stop output) charac - ter
xn str `^Q' XON (start output) charac - ter
Lo str C the locale name used for - %d in the
- banner message
- The following capabilities are no longer supported by get
- ty(8):
- bd num 0 backspace delay
cb bool false use crt backspace mode
cd num 0 carriage-return delay
fd num 0 form-feed (vertical mo - tion) delay
lc bool false terminal has lower case
nd num 0 newline (line-feed) delay
uc bool false terminal is known upper - case only
- If no line speed is specified, speed will not be altered
- from that which
prevails when getty is entered. Specifying an input or out - put speed will
override line speed for stated direction only. - Terminal modes to be used for the output of the message, for
- input of the
login name, and to leave the terminal set as upon comple - tion, are derived
from the boolean flags specified. If the derivation should - prove inadequate, any (or all) of these three may be overridden with
- one of the c0,
c1, c2, i0, i1, i2, l0, l1, l2, o0, o1, or o2 numeric speci - fications,
which can be used to specify (usually in octal, with a lead - ing '0') the
exact values of the flags. These flags correspond to the - termios
c_cflag, c_iflag, c_lflag, and c_oflag fields, respectively. - Each these
sets must be completely specified to be effective. The f0, - f1, and f2
are excepted for backwards compatibility with a previous in - carnation of
the TTY sub-system. In these flags the bottom 16 bits of - the (32 bits)
value contain the sgttyb sg_flags field, while the top 16 - bits represent
the local mode word. - Should getty(8) receive a null character (presumed to indi
- cate a line
break) it will restart using the table indicated by the nx - entry. If
there is none, it will re-use its original table. - Delays are specified in milliseconds, the nearest possible
- delay available in the tty driver will be used. Should greater cer
- tainty be
desired, delays with values 0, 1, 2, and 3 are interpreted - as choosing
that particular delay algorithm from the driver. - The cl screen clear string may be preceded by a (decimal)
- number of milliseconds of delay required (a la termcap). This delay is
- simulated by
repeated use of the pad character pc. - The initial message, login message, and initial file; im, lm
- and if may
include any of the following character sequences, which ex - pand to information about the environment in which getty(8) is running.
%d The current date and time formatted- according to
the Lo and df strings.
- %h The hostname of the machine, which is
- normally
- obtained from the system using geth
- ostname(3), but
may also be overridden by the hn - table entry. In
either case it may be edited with the - he string.
A '@' in the he string causes one - character from
the real hostname to be copied to the - final hostname. A '#' in the he string causes
- the next
character of the real hostname to be - skipped.
Each character that is neither '@' - nor '#' is
copied into the final hostname. Sur - plus '@' and
'#' characters are ignored. - %t The tty name.
- %m, %r, %s, %v The type of machine, release of the
- operating sys
- tem, name of the operating system,
- and version of
the kernel, respectively, as returned - by uname(3).
- %% A ``%'' character.
- When getty execs the login process, given in the lo string
- (usually
``/usr/bin/login''), it will have set the environment to in - clude the terminal type, as indicated by the tt string (if it exists).
- The ev string,
can be used to enter additional data into the environment. - It is a list
of comma separated strings, each of which will presumably be - of the form
name=value. - If a non-zero timeout is specified, with to, then getty will
- exit within
the indicated number of seconds, either having received a - login name and
passed control to login(1), or having received an alarm sig - nal, and
exited. This may be useful to hangup dial in lines. - Output from getty(8) is even parity unless op or np is spec
- ified. The op
string may be specified with ap to allow any parity on in - put, but generate odd parity output. Note: this only applies while getty
- is being run,
terminal driver limitations prevent a more complete imple - mentation. The
getty(8) utility does not check parity of input characters - in RAW mode.
- If a pp string is specified and a PPP link bring-up sequence
- is recognized, getty will invoke the program referenced by the pp
- option. This
can be used to handle incoming PPP calls. If the pl option - is true as
well, getty(8) will skip the user name prompt and the PPP - detection
phase, and will invoke the program specified by pp instant - ly.
- Getty provides some basic intelligent modem handling by pro
- viding a chat
script feature available via two capabilities:
ic Chat script to initialize modem.
ac Chat script to answer a call.- A chat script is a set of expect/send string pairs. When a
- chat string
starts, getty will wait for the first string, and if it - finds it, will
send the second, and so on. Strings specified are separated - by one or
more tabs or spaces. Strings may contain standard ASCII - characters and
special 'escapes', which consist of a backslash character - followed by one
or more characters which are interpreted as follows:
bell character.- backspace.
- newline.
escape.
- formfeed.
- half-second pause. carriage return.
- pace character.
- tab.
- hexadecimal byte value.
- NNN octal byte value.
- Note that the `'
- sequence is only valid for send strings and causes a
half-second pause between sending the previous and next - characters. Hexadecimal values are, at most, 2 hex digits long, and octal
- values are a
maximum of 3 octal digits. - The ic chat sequence is used to initialize a modem or simi
- lar device. A
typical example of an init chat sc:ipt for a modem with a - hayes compati- OK
ble command set might looATS0=0 this: - OK
- :ic="" ATE0Q0V1
- This script waits for nothing (which always succeeds), sends
- a sequence
to ensure that the modem is in the correct mode (suppress - command echo,
send responses in verbose mode), and then disables auto-an - swer. It waits
for an "OK" response before it terminates. The init se - quence is used to
check modem responses to ensure that the modem is function - ing correctly.
If the init script fails to complete, getty considers this - to be fatal,
and results in an error logged via syslogd(8), and exiting. - Similarly, an answer chat script is used to manually answer
- the phone in
response to (usually) a "RING". When run with an answer - script, getty
opens the port in non-blocking mode, clears any extraneous - input and
waits for data on the port. As soon as any data is avail - able, the answer
chat script is started and scanned for a string, and re - sponds according
to the answer chat script. With a hayes compatible modem, - this would
normally look sometCONNECT:e: - ATA
- :ac=RING
- This causes the modem to answer the call via the "ATA" com
- mand, then
scans input for a "CONNECT" string. If this is received be - fore a ct
timeout, then a normal login sequence commences. - The ct capability specifies a timeout for all send and ex
- pect strings.
This timeout is set individually for each expect wait and - send string and
must be at least as long as the time it takes for a connec - tion to be
established between a remote and local modem (usually around - 10 seconds).
- In most situations, you will want to flush any additional
- input after the
connection has been detected, and the de capability may be - used to do
that, as well as delay for a short time after the connection - has been
established during which all of the connection data has been - sent by the
modem.
SEE ALSO
HISTORY
The gettytab file format appeared in 4.2BSD.
BUGS
- The special characters (erase, kill, etc.) are reset to sys
- tem defaults
by login(1). In all cases, '#' or '^H' typed in a login - name will be
treated as an erase character, and '@' will be treated as a - kill character.
- The delay stuff is a real crock. Apart form its general
- lack of flexibility, some of the delay algorithms are not implemented.
- The terminal
driver should support sane delay settings. - The he capability is stupid.
- The termcap(5) format is horrid, something more rational
- should have been
chosen. - BSD April 19, 1994