Amit Daniel Kachhap | e6a01f5 | 2011-07-20 11:45:59 +0530 | [diff] [blame] | 1 | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> |
| 2 | <!-- |
| 3 | **************************************************************************** |
| 4 | * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * |
| 5 | * * |
| 6 | * Permission is hereby granted, free of charge, to any person obtaining a * |
| 7 | * copy of this software and associated documentation files (the * |
| 8 | * "Software"), to deal in the Software without restriction, including * |
| 9 | * without limitation the rights to use, copy, modify, merge, publish, * |
| 10 | * distribute, distribute with modifications, sublicense, and/or sell * |
| 11 | * copies of the Software, and to permit persons to whom the Software is * |
| 12 | * furnished to do so, subject to the following conditions: * |
| 13 | * * |
| 14 | * The above copyright notice and this permission notice shall be included * |
| 15 | * in all copies or substantial portions of the Software. * |
| 16 | * * |
| 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| 18 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| 19 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| 20 | * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| 21 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| 22 | * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| 23 | * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| 24 | * * |
| 25 | * Except as contained in this notice, the name(s) of the above copyright * |
| 26 | * holders shall not be used in advertising or otherwise to promote the * |
| 27 | * sale, use or other dealings in this Software without prior written * |
| 28 | * authorization. * |
| 29 | **************************************************************************** |
| 30 | * @Id: tset.1,v 1.19 2006/12/24 15:00:30 tom Exp @ |
| 31 | --> |
| 32 | <HTML> |
| 33 | <HEAD> |
| 34 | <TITLE>tset 1</TITLE> |
| 35 | <link rev=made href="mailto:bug-ncurses@gnu.org"> |
| 36 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| 37 | </HEAD> |
| 38 | <BODY> |
| 39 | <H1>tset 1</H1> |
| 40 | <HR> |
| 41 | <PRE> |
| 42 | <!-- Manpage converted by man2html 3.0.1 --> |
| 43 | <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> |
| 44 | |
| 45 | |
| 46 | |
| 47 | |
| 48 | </PRE> |
| 49 | <H2>NAME</H2><PRE> |
| 50 | <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization |
| 51 | |
| 52 | |
| 53 | </PRE> |
| 54 | <H2>SYNOPSIS</H2><PRE> |
| 55 | <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] |
| 56 | [<EM>terminal</EM>] |
| 57 | <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] |
| 58 | [<EM>terminal</EM>] |
| 59 | |
| 60 | |
| 61 | </PRE> |
| 62 | <H2>DESCRIPTION</H2><PRE> |
| 63 | <STRONG>Tset</STRONG> initializes terminals. <STRONG>Tset</STRONG> first determines the |
| 64 | type of terminal that you are using. This determination |
| 65 | is done as follows, using the first terminal type found. |
| 66 | |
| 67 | 1. The <STRONG>terminal</STRONG> argument specified on the command line. |
| 68 | |
| 69 | 2. The value of the <STRONG>TERM</STRONG> environmental variable. |
| 70 | |
| 71 | 3. (BSD systems only.) The terminal type associated with |
| 72 | the standard error output device in the <EM>/etc/ttys</EM> file. |
| 73 | (On Linux and System-V-like UNIXes, <EM>getty</EM> does this job by |
| 74 | setting <STRONG>TERM</STRONG> according to the type passed to it by |
| 75 | <EM>/etc/inittab</EM>.) |
| 76 | |
| 77 | 4. The default terminal type, ``unknown''. |
| 78 | |
| 79 | If the terminal type was not specified on the command- |
| 80 | line, the <STRONG>-m</STRONG> option mappings are then applied (see the |
| 81 | section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information). |
| 82 | Then, if the terminal type begins with a question mark |
| 83 | (``?''), the user is prompted for confirmation of the ter- |
| 84 | minal type. An empty response confirms the type, or, |
| 85 | another type can be entered to specify a new type. Once |
| 86 | the terminal type has been determined, the terminfo entry |
| 87 | for the terminal is retrieved. If no terminfo entry is |
| 88 | found for the type, the user is prompted for another ter- |
| 89 | minal type. |
| 90 | |
| 91 | Once the terminfo entry is retrieved, the window size, |
| 92 | backspace, interrupt and line kill characters (among many |
| 93 | other things) are set and the terminal and tab initializa- |
| 94 | tion strings are sent to the standard error output. |
| 95 | Finally, if the erase, interrupt and line kill characters |
| 96 | have changed, or are not set to their default values, |
| 97 | their values are displayed to the standard error output. |
| 98 | Use the <STRONG>-c</STRONG> or <STRONG>-w</STRONG> option to select only the window sizing |
| 99 | versus the other initialization. If neither option is |
| 100 | given, both are assumed. |
| 101 | |
| 102 | When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets cooked and echo modes, |
| 103 | turns off cbreak and raw modes, turns on newline transla- |
| 104 | tion and resets any unset special characters to their |
| 105 | default values before doing the terminal initialization |
| 106 | described above. This is useful after a program dies |
| 107 | leaving a terminal in an abnormal state. Note, you may |
| 108 | have to type |
| 109 | |
| 110 | <STRONG><LF>reset<LF></STRONG> |
| 111 | |
| 112 | (the line-feed character is normally control-J) to get the |
| 113 | terminal to work, as carriage-return may no longer work in |
| 114 | the abnormal state. Also, the terminal will often not |
| 115 | echo the command. |
| 116 | |
| 117 | The options are as follows: |
| 118 | |
| 119 | <STRONG>-c</STRONG> Set control characters and modes. <STRONG>-e</STRONG> Set the erase |
| 120 | character to <EM>ch</EM>. |
| 121 | |
| 122 | <STRONG>-I</STRONG> Do not send the terminal or tab initialization |
| 123 | strings to the terminal. |
| 124 | |
| 125 | <STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>. |
| 126 | |
| 127 | <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>. |
| 128 | |
| 129 | <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal. |
| 130 | See the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more infor- |
| 131 | mation. |
| 132 | |
| 133 | <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt |
| 134 | and line kill characters. Normally <STRONG>tset</STRONG> displays the |
| 135 | values for control characters which differ from the |
| 136 | system's default values. |
| 137 | |
| 138 | <STRONG>-q</STRONG> The terminal type is displayed to the standard out- |
| 139 | put, and the terminal is not initialized in any way. |
| 140 | The option `-' by itself is equivalent but archaic. |
| 141 | |
| 142 | <STRONG>-r</STRONG> Print the terminal type to the standard error output. |
| 143 | |
| 144 | <STRONG>-s</STRONG> Print the sequence of shell commands to initialize |
| 145 | the environment variable <STRONG>TERM</STRONG> to the standard output. |
| 146 | See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG> <STRONG>ENVIRONMENT</STRONG> for details. |
| 147 | |
| 148 | <STRONG>-V</STRONG> reports the version of ncurses which was used in this |
| 149 | program, and exits. |
| 150 | |
| 151 | <STRONG>-w</STRONG> Resize the window to match the size deduced via |
| 152 | <STRONG>setupterm</STRONG>. Normally this has no effect, unless |
| 153 | <STRONG>setupterm</STRONG> is not able to detect the window size. |
| 154 | |
| 155 | The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be |
| 156 | entered as actual characters or by using the `hat' nota- |
| 157 | tion, i.e. control-h may be specified as ``^H'' or ``^h''. |
| 158 | |
| 159 | |
| 160 | </PRE> |
| 161 | <H2>SETTING THE ENVIRONMENT</H2><PRE> |
| 162 | It is often desirable to enter the terminal type and |
| 163 | information about the terminal's capabilities into the |
| 164 | shell's environment. This is done using the <STRONG>-s</STRONG> option. |
| 165 | |
| 166 | When the <STRONG>-s</STRONG> option is specified, the commands to enter the |
| 167 | information into the shell's environment are written to |
| 168 | the standard output. If the <STRONG>SHELL</STRONG> environmental variable |
| 169 | ends in ``csh'', the commands are for <STRONG>csh</STRONG>, otherwise, they |
| 170 | are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset the |
| 171 | shell variable <STRONG>noglob</STRONG>, leaving it unset. The following |
| 172 | line in the <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the |
| 173 | environment correctly: |
| 174 | |
| 175 | eval `tset -s options ... ` |
| 176 | |
| 177 | |
| 178 | </PRE> |
| 179 | <H2>TERMINAL TYPE MAPPING</H2><PRE> |
| 180 | When the terminal is not hardwired into the system (or the |
| 181 | current system information is incorrect) the terminal type |
| 182 | derived from the <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental |
| 183 | variable is often something generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, |
| 184 | or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a startup script it is |
| 185 | often desirable to provide information about the type of |
| 186 | terminal used on such ports. |
| 187 | |
| 188 | The purpose of the <STRONG>-m</STRONG> option is to map from some set of |
| 189 | conditions to a terminal type, that is, to tell <STRONG>tset</STRONG> ``If |
| 190 | I'm on this port at a particular speed, guess that I'm on |
| 191 | that kind of terminal''. |
| 192 | |
| 193 | The argument to the <STRONG>-m</STRONG> option consists of an optional port |
| 194 | type, an optional operator, an optional baud rate specifi- |
| 195 | cation, an optional colon (``:'') character and a terminal |
| 196 | type. The port type is a string (delimited by either the |
| 197 | operator or the colon character). The operator may be any |
| 198 | combination of ``>'', ``<'', ``@'', and ``!''; ``>'' means |
| 199 | greater than, ``<'' means less than, ``@'' means equal to |
| 200 | and ``!'' inverts the sense of the test. The baud rate is |
| 201 | specified as a number and is compared with the speed of |
| 202 | the standard error output (which should be the control |
| 203 | terminal). The terminal type is a string. |
| 204 | |
| 205 | If the terminal type is not specified on the command line, |
| 206 | the <STRONG>-m</STRONG> mappings are applied to the terminal type. If the |
| 207 | port type and baud rate match the mapping, the terminal |
| 208 | type specified in the mapping replaces the current type. |
| 209 | If more than one mapping is specified, the first applica- |
| 210 | ble mapping is used. |
| 211 | |
| 212 | For example, consider the following mapping: |
| 213 | <STRONG>dialup>9600:vt100</STRONG>. The port type is dialup , the operator |
| 214 | is >, the baud rate specification is 9600, and the termi- |
| 215 | nal type is vt100. The result of this mapping is to spec- |
| 216 | ify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate |
| 217 | is greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will |
| 218 | be used. |
| 219 | |
| 220 | If no baud rate is specified, the terminal type will match |
| 221 | any baud rate. If no port type is specified, the terminal |
| 222 | type will match any port type. For example, <STRONG>-m</STRONG> |
| 223 | <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any dialup port, |
| 224 | regardless of baud rate, to match the terminal type vt100, |
| 225 | and any non-dialup port type to match the terminal type |
| 226 | ?xterm. Note, because of the leading question mark, the |
| 227 | user will be queried on a default port as to whether they |
| 228 | are actually using an xterm terminal. |
| 229 | |
| 230 | No whitespace characters are permitted in the <STRONG>-m</STRONG> option |
| 231 | argument. Also, to avoid problems with meta-characters, |
| 232 | it is suggested that the entire <STRONG>-m</STRONG> option argument be |
| 233 | placed within single quote characters, and that <STRONG>csh</STRONG> users |
| 234 | insert a backslash character (``\'') before any exclama- |
| 235 | tion marks (``!''). |
| 236 | |
| 237 | |
| 238 | </PRE> |
| 239 | <H2>HISTORY</H2><PRE> |
| 240 | The <STRONG>tset</STRONG> command appeared in BSD 3.0. The <STRONG>ncurses</STRONG> imple- |
| 241 | mentation was lightly adapted from the 4.4BSD sources for |
| 242 | a terminfo environment by Eric S. Raymond <esr@snark.thyr- |
| 243 | sus.com>. |
| 244 | |
| 245 | |
| 246 | </PRE> |
| 247 | <H2>COMPATIBILITY</H2><PRE> |
| 248 | The <STRONG>tset</STRONG> utility has been provided for backward-compati- |
| 249 | bility with BSD environments (under most modern UNIXes, |
| 250 | <STRONG>/etc/inittab</STRONG> and <STRONG><A HREF="getty.1.html">getty(1)</A></STRONG> can set <STRONG>TERM</STRONG> appropriately for |
| 251 | each dial-up line; this obviates what was <STRONG>tset</STRONG>'s most |
| 252 | important use). This implementation behaves like 4.4BSD |
| 253 | tset, with a few exceptions specified here. |
| 254 | |
| 255 | The <STRONG>-S</STRONG> option of BSD tset no longer works; it prints an |
| 256 | error message to stderr and dies. The <STRONG>-s</STRONG> option only sets |
| 257 | <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>. Both these changes are because the |
| 258 | <STRONG>TERMCAP</STRONG> variable is no longer supported under terminfo- |
| 259 | based <STRONG>ncurses</STRONG>, which makes <STRONG>tset</STRONG> <STRONG>-S</STRONG> useless (we made it die |
| 260 | noisily rather than silently induce lossage). |
| 261 | |
| 262 | There was an undocumented 4.4BSD feature that invoking |
| 263 | tset via a link named `TSET` (or via any other name begin- |
| 264 | ning with an upper-case letter) set the terminal to use |
| 265 | upper-case only. This feature has been omitted. |
| 266 | |
| 267 | The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the |
| 268 | <STRONG>tset</STRONG> utility in 4.4BSD. None of them were documented in |
| 269 | 4.3BSD and all are of limited utility at best. The <STRONG>-a</STRONG>, |
| 270 | <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not documented or useful, |
| 271 | but were retained as they appear to be in widespread use. |
| 272 | It is strongly recommended that any usage of these three |
| 273 | options be changed to use the <STRONG>-m</STRONG> option instead. The -n |
| 274 | option remains, but has no effect. The <STRONG>-adnp</STRONG> options are |
| 275 | therefore omitted from the usage summary above. |
| 276 | |
| 277 | It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> |
| 278 | options without arguments, although it is strongly recom- |
| 279 | mended that such usage be fixed to explicitly specify the |
| 280 | character. |
| 281 | |
| 282 | As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies |
| 283 | the <STRONG>-Q</STRONG> option. Also, the interaction between the - option |
| 284 | and the <EM>terminal</EM> argument in some historic implementations |
| 285 | of <STRONG>tset</STRONG> has been removed. |
| 286 | |
| 287 | |
| 288 | </PRE> |
| 289 | <H2>ENVIRONMENT</H2><PRE> |
| 290 | The <STRONG>tset</STRONG> command uses these environment variables: |
| 291 | |
| 292 | SHELL |
| 293 | tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG> |
| 294 | syntax. |
| 295 | |
| 296 | TERM Denotes your terminal type. Each terminal type is |
| 297 | distinct, though many are similar. |
| 298 | |
| 299 | TERMCAP |
| 300 | may denote the location of a termcap database. If it |
| 301 | is not an absolute pathname, e.g., begins with a `/', |
| 302 | <STRONG>tset</STRONG> removes the variable from the environment before |
| 303 | looking for the terminal description. |
| 304 | |
| 305 | |
| 306 | </PRE> |
| 307 | <H2>FILES</H2><PRE> |
| 308 | /etc/ttys |
| 309 | system port name to terminal type mapping database |
| 310 | (BSD versions only). |
| 311 | |
| 312 | /usr/share/terminfo |
| 313 | terminal capability database |
| 314 | |
| 315 | |
| 316 | </PRE> |
| 317 | <H2>SEE ALSO</H2><PRE> |
| 318 | <STRONG><A HREF="csh.1.html">csh(1)</A></STRONG>, <STRONG><A HREF="sh.1.html">sh(1)</A></STRONG>, <STRONG><A HREF="stty.1.html">stty(1)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="tty.4.html">tty(4)</A></STRONG>, ter- |
| 319 | <STRONG><A HREF="minfo.5.html">minfo(5)</A></STRONG>, <STRONG><A HREF="ttys.5.html">ttys(5)</A></STRONG>, <STRONG><A HREF="environ.7.html">environ(7)</A></STRONG> |
| 320 | |
| 321 | This describes <STRONG>ncurses</STRONG> version 5.6 (patch 20081011). |
| 322 | |
| 323 | |
| 324 | |
| 325 | <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> |
| 326 | </PRE> |
| 327 | <HR> |
| 328 | <ADDRESS> |
| 329 | Man(1) output converted with |
| 330 | <a href="http://www.oac.uci.edu/indiv/ehood/man2html.html">man2html</a> |
| 331 | </ADDRESS> |
| 332 | </BODY> |
| 333 | </HTML> |