X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Ftset.1.html;h=dc475ccae1703f09de3e41ea957b12a621e3831e;hp=f12cf7e3c31248b48146b385c508719d2dba3c24;hb=29a36e53e1f77a0c3672f2e267d573823d6a9a60;hpb=34d602f272c394e9a980438e636e1ce4d355f83b diff --git a/doc/html/man/tset.1.html b/doc/html/man/tset.1.html index f12cf7e3..dc475cca 100644 --- a/doc/html/man/tset.1.html +++ b/doc/html/man/tset.1.html @@ -1,7 +1,6 @@ - +
+ +- tset(1) tset(1) --
+
tset, reset - terminal initialization --
+
tset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal] reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal] --
- Tset initializes terminals. Tset first determines the - type of terminal that you are using. This determination - is done as follows, using the first terminal type found. +
+ +
+ This program initializes terminals. + + First, tset retrieves the current terminal mode settings + for your terminal. It does this by successively testing + + o the standard error, + + o standard output, + + o standard input and + + o ultimately "/dev/tty" + + to obtain terminal settings. Having retrieved these set- + tings, tset remembers which file descriptor to use when + updating settings. + + Next, tset determines the type of terminal that you are + using. This determination is done as follows, using the + first terminal type found. 1. The terminal argument specified on the command line. 2. The value of the TERM environmental variable. - 3. (BSD systems only.) The terminal type associated with - the standard error output device in the /etc/ttys file. - (On System-V-like UNIXes and systems using that conven- + 3. (BSD systems only.) The terminal type associated with + the standard error output device in the /etc/ttys file. + (On System-V-like UNIXes and systems using that conven- tion, getty does this job by setting TERM according to the type passed to it by /etc/inittab.) 4. The default terminal type, "unknown". - If the terminal type was not specified on the command- - line, the -m option mappings are then applied (see the + If the terminal type was not specified on the command- + line, the -m option mappings are then applied (see the section TERMINAL TYPE MAPPING for more information). - Then, if the terminal type begins with a question mark + Then, if the terminal type begins with a question mark ("?"), the user is prompted for confirmation of the termi- - nal 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 ter- + nal 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 ter- minal type. - Once the terminfo entry is retrieved, the window size, - backspace, interrupt and line kill characters (among many + 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 initializa- - tion 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 -c or -w option to select only the window sizing - versus the other initialization. If neither option is - given, both are assumed. + tion 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. + +
When invoked as reset, tset sets cooked and echo modes, turns off cbreak and raw modes, turns on newline transla- tion and resets any unset special characters to their @@ -107,13 +122,15 @@ leaving a terminal in an abnormal state. Note, you may have to type - <LF>reset<LF> + <LF>reset<LF> (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. + +
The options are as follows: -c Set control characters and modes. @@ -138,7 +155,7 @@ -q The terminal type is displayed to the standard out- put, and the terminal is not initialized in any way. - The option `-' by itself is equivalent but archaic. + The option "-" by itself is equivalent but archaic. -r Print the terminal type to the standard error output. @@ -154,12 +171,13 @@ setupterm is not able to detect the window size. The arguments for the -e, -i, and -k options may either be - entered as actual characters or by using the `hat' nota- + entered as actual characters or by using the "hat" nota- tion, i.e., control-h may be specified as "^H" or "^h". + If neither -c or -w is given, both options are assumed. --
+ +
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. @@ -176,8 +194,7 @@ eval `tset -s options ... ` --
+
When the terminal is not hardwired into the system (or the current system information is incorrect) the terminal type derived from the /etc/ttys file or the TERM environmental @@ -186,10 +203,10 @@ often desirable to provide information about the type of terminal used on such ports. - The purpose of the -m option is to map from some set of - conditions to a terminal type, that is, to tell tset "If - I'm on this port at a particular speed, guess that I'm on - that kind of terminal". + The -m options maps from some set of conditions to a ter- + minal type, that is, to tell tset "If I'm on this port at + a particular speed, guess that I'm on that kind of termi- + nal". The argument to the -m option consists of an optional port type, an optional operator, an optional baud rate specifi- @@ -236,32 +253,54 @@ marks ("!"). --
- The tset command appeared in BSD 3.0. The ncurses imple- - mentation was lightly adapted from the 4.4BSD sources for - a terminfo environment by Eric S. Raymond <esr@snark.thyr- - sus.com>. +
+ A reset command appeared in 2BSD (1979), written by Kurt + Shoens. + A separate tset command was provided in 2BSD by Eric All- + man. While the oldest published source (from 1979) pro- + vides both programs, Allman's comments in the 2BSD source + code indicate that he began work in October 1977, continu- + ing development over the next few years. --
- The tset utility has been provided for backward-compati- - bility with BSD environments (under most modern UNIXes, - /etc/inittab and getty(1) can set TERM appropriately for - each dial-up line; this obviates what was tset's most - important use). This implementation behaves like 4.4BSD - tset, with a few exceptions specified here. - - The -S option of BSD tset no longer works; it prints an - error message to stderr and dies. The -s option only sets - TERM, not TERMCAP. Both of these changes are because the - TERMCAP variable is no longer supported under terminfo- - based ncurses, which makes tset -S useless (we made it die - noisily rather than silently induce lossage). + In 1980, Eric Allman modified tset to provide a "reset" + feature when the program was invoked as reset. + + The ncurses implementation was lightly adapted from the + 4.4BSD sources for a terminfo environment by Eric S. Ray- + mond <esr@snark.thyrsus.com>. + + +
+ Neither IEEE Std 1003.1/The Open Group Base Specifications + Issue 7 (POSIX.1-2008) nor X/Open Curses Issue 7 documents + tset or reset. + + The AT&T tput utility (AIX, HPUX, Solaris) incorporated + the terminal-mode manipulation as well as termcap-based + features such as resetting tabstops from tset in BSD + (4.1c), presumably with the intention of making tset obso- + lete. However, each of those systems still provides tset. + In fact, the commonly-used reset utility is always an + alias for tset. + + The tset utility provides for backward-compatibility with + BSD environments (under most modern UNIXes, /etc/inittab + and getty(1) can set TERM appropriately for each dial-up + line; this obviates what was tset's most important use). + This implementation behaves like 4.4BSD tset, with a few + exceptions specified here. + + A few options are different because the TERMCAP variable + is no longer supported under terminfo-based ncurses: + + o The -S option of BSD tset no longer works; it prints + an error message to the standard error and dies. + + o The -s option only sets TERM, not TERMCAP. There was an undocumented 4.4BSD feature that invoking - tset via a link named `TSET` (or via any other name begin- + tset via a link named "TSET" (or via any other name begin- ning with an upper-case letter) set the terminal to use upper-case only. This feature has been omitted. @@ -271,23 +310,54 @@ -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. - - It is still permissible to specify the -e, -i, and -k - options without arguments, although it is strongly recom- - mended that such usage be fixed to explicitly specify the + options be changed to use the -m option instead. The -a, + -d, and -p options are therefore omitted from the usage + summary above. + + Very old systems, e.g., 3BSD, used a different terminal + driver which was replaced in 4BSD in the early 1980s. To + accommodate these older systems, the 4BSD tset provided a + -n option to specify that the new terminal driver should + be used. This implementation does not provide that + choice. + + It is still permissible to specify the -e, -i, and -k + options without arguments, although it is strongly recom- + mended that such usage be fixed to explicitly specify the character. - As of 4.4BSD, executing tset as reset no longer implies + As of 4.4BSD, executing tset as reset no longer implies the -Q option. Also, the interaction between the - option and the terminal argument in some historic implementations of tset has been removed. - --
+ The -c and -w options are not found in earlier implementa- + tions. However, a different window size-change feature + was provided in 4.4BSD. + + o In 4.4BSD, tset uses the window size from the termcap + description to set the window size if tset is not able + to obtain the window size from the operating system. + + o In ncurses, tset obtains the window size using + setupterm, which may be from the operating system, the + LINES and COLUMNS environment variables or the termi- + nal description. + + Obtaining the window size from the terminal description is + common to both implementations, but considered obsoles- + cent. Its only practical use is for hardware terminals. + Generally speaking, a window size would be unset only if + there were some problem obtaining the value from the oper- + ating system (and setupterm would still fail). For that + reason, the LINES and COLUMNS environment variables may be + useful for working around window-size problems. Those + have the drawback that if the window is resized, those + variables must be recomputed and reassigned. To do this + more easily, use the resize(1) program. + + +
The tset command uses these environment variables: SHELL @@ -299,13 +369,12 @@ TERMCAP may denote the location of a termcap database. If it - is not an absolute pathname, e.g., begins with a `/', + is not an absolute pathname, e.g., begins with a "/", tset removes the variable from the environment before looking for the terminal description. --
+
/etc/ttys system port name to terminal type mapping database (BSD versions only). @@ -314,21 +383,35 @@ terminal capability database --
+
csh(1), sh(1), stty(1), curs_terminfo(3x), tty(4), terminfo(5), ttys(5), environ(7) - This describes ncurses version 5.9 (patch 20140524). + This describes ncurses version 6.0 (patch 20160820). tset(1)-