1 --- doc/screen.texinfo.original Fri Sep 8 19:20:32 2000
2 +++ doc/screen.texinfo Fri Sep 8 19:21:11 2000
9 +@dircategory Miscellaneous:
11 +* screen: (screen). Terminal multiplexer
16 @node Top, Overview, (dir), (dir)
20 variable) who will use it to create the new window. The above example would
21 start the @code{emacs} editor (editing @file{prog.c}) and switch to its window.
23 -If @file{/etc/utmp} is writable by @code{screen}, an appropriate record
24 +If @file{/var/run/utmp} is writable by @code{screen}, an appropriate record
25 will be written to this file for each window, and removed when the
26 window is closed. This is useful for working with @code{talk},
27 @code{script}, @code{shutdown}, @code{rsend}, @code{sccs} and other
32 -Turn login mode on or off (for @file{/etc/utmp} updating). This option
33 +Turn login mode on or off (for @file{/var/run/utmp} updating). This option
34 is equivalent to the @code{deflogin} command (@pxref{Login}).
36 @item -ls [@var{match}]
38 In all other cases @samp{-q} has no effect.
40 @item -r [@var{pid.sessionname}]
41 -@itemx -r @var{sessionowner/[pid.sessionname]}
42 +@itemx -r @var{sessionowner/pid.sessionname}
43 Resume a detached @code{screen} session. No other options (except
44 combinations with @samp{-d} or @samp{-D}) may be specified, though
48 When @code{screen} is invoked, it executes initialization commands from
49 the files @file{.screenrc} in the user's home directory and
50 -@file{/usr/local/etc/screenrc}. These defaults can be overridden in the
51 +@file{/etc/screenrc}. These defaults can be overridden in the
53 For the global screenrc file @code{screen} searches for the environment
54 variable @code{$SYSSCREENRC} (this override feature may be disabled at
56 Change a user's permissions. @xref{Multiuser Session}.
57 @item acldel @var{username}
58 Disallow other user in this session. @xref{Multiuser Session}.
59 -@item aclgrp @var{usrname [groupname]}
60 +@item aclgrp @var{usrname groupname}
61 Inherit permissions granted to a group leader. @xref{Multiuser Session}.
62 -@item aclumask @var{[users]+\-bits ...}
63 +@item aclumask @var{users+\-bits ...}
64 Predefine access to new windows. @xref{Umask}.
65 @item activity @var{message}
66 Set the activity notification message. @xref{Monitor}.
68 Enter a @code{screen} command. @xref{Colon}.
70 Simulate the screen escape key. @xref{Command Character}.
71 -@item compacthist @var{[state]}
72 +@item compacthist @var{state}
73 Selects compaction of trailing empty lines. @xref{Scrollback}.
74 -@item console @var{[state]}
75 +@item console @var{state}
76 Grab or ungrab console output. @xref{Console}.
78 Enter copy mode. @xref{Copy}.
79 -@item copy_reg @var{[key]}
80 +@item copy_reg @var{key}
81 Removed. Use @code{paste} instead. @xref{Registers}.
82 @item crlf @var{state}
83 Select line break behavior for copying. @xref{Line Termination}.
85 Select default flow control behavior. @xref{Flow}.
86 @item defgr @var{state}
87 Select default GR processing behavior. @xref{Character Processing}.
88 -@item defhstatus @var{[status]}
89 +@item defhstatus @var{status}
90 Select default window hardstatus line. @xref{Hardstatus}.
91 @item defkanji @var{wtype}
92 Select default GR processing behavior. @xref{Character Processing}.
94 Set default line-wrapping behavior. @xref{Wrap}.
95 @item defwritelock @var{on|off|auto}
96 Set default writelock behavior. @xref{Multiuser Session}.
97 -@item defzombie @var{[keys]}
98 +@item defzombie @var{keys}
99 Keep dead windows. @xref{Zombie}.
101 Disconnect @code{screen} from the terminal. @xref{Detach}.
102 @@ -883,15 +892,15 @@
103 Display a message on startup. @xref{Startup}.
104 @item escape @var{xy}
105 Set the command and @code{meta} characters. @xref{Command Character}.
106 -@item exec @var{[[fdpat] command [args ...]]}
107 +@item exec @var{fdpat command args ...}
108 Run a subprocess (filter). @xref{Exec}.
110 Change window size to current display size. @xref{Window Size}.
111 -@item flow @var{[fstate]}
112 +@item flow @var{fstate}
113 Set flow control behavior. @xref{Flow}.
115 Move focus to next region. @xref{Regions}.
116 -@item gr @var{[state]}
117 +@item gr @var{state}
118 Change GR charset processing. @xref{Character Processing}.
120 Write out the contents of the current window. @xref{Hardcopy}.
122 Append to hardcopy files. @xref{Hardcopy}.
123 @item hardcopydir @var{directory}
124 Place, where to dump hardcopy files. @xref{Hardcopy}.
125 -@item hardstatus @var{[state]}
126 +@item hardstatus @var{state}
127 Use the hardware status line. @xref{Hardware Status Line}.
128 -@item height @var{[lines]}
129 +@item height @var{lines}
130 Set display height. @xref{Window Size}.
132 Display current key bindings. @xref{Help}.
134 Change the window's hardstatus line. @xref{Hardstatus}.
136 Display terminal settings. @xref{Info}.
137 -@item ins_reg @var{[key]}
138 +@item ins_reg @var{key}
139 Removed, use @code{paste} instead. @xref{Registers}.
140 -@item kanji @var{wtype [dtype]}
141 +@item kanji @var{wtype dtype}
142 Set the kanji type of a window. @xref{Character Processing}.
144 Destroy the current window. @xref{Kill}.
146 @item logfile @var{filename}
147 Place where to collect logfiles. @xref{Log}.
148 @item login @var{[state]}
149 -Log the window in @file{/etc/utmp}. @xref{Login}.
150 +Log the window in @file{/var/run/utmp}. @xref{Login}.
151 @item logtstamp @var{[state]}
152 Configure logfile time-stamps. @xref{Log}.
155 Rebind keys in copy mode. @xref{Copy Mode Keys}.
157 Insert the command character. @xref{Command Character}.
158 -@item monitor @var{[state]}
159 +@item monitor @var{state}
160 Monitor activity in window. @xref{Monitor}.
161 @item msgminwait @var{sec}
162 Set minimum message wait. @xref{Message Wait}.
164 Switch to the next window. @xref{Selecting}.
165 @item nonblock @var{state}
166 Disable flow control to the current display. @xref{Nonblock}.
167 -@item number @var{[n]}
168 +@item number @var{n}
169 Change/display the current window's number. @xref{Number}.
170 -@item obuflimit @var{[limit]}
171 +@item obuflimit @var{limit}
172 Select output buffer limit. @xref{Obuflimit}.
174 Kill all other regions. @xref{Regions}.
175 @@ -965,29 +974,29 @@
176 Switch to the window you were in last. @xref{Selecting}.
177 @item partial @var{state}
178 Set window to partial refresh. @xref{Redisplay}.
179 -@item password @var{[crypted_pw]}
180 +@item password @var{crypted_pw}
181 Set reattach password. @xref{Detach}.
182 -@item paste @var{[src_regs [dest_reg]]}
183 +@item paste @var{src_regs dest_reg}
184 Paste contents of paste buffer or registers somewhere. @xref{Paste}.
185 -@item pastefont @var{[state]}
186 +@item pastefont @var{state}
187 Include font information in the paste buffer. @xref{Paste}.
189 Close and Reopen the window's terminal. @xref{Break}.
191 Detach and hang up. @xref{Power Detach}.
192 -@item pow_detach_msg @var{[message]}
193 +@item pow_detach_msg @var{message}
194 Set message displayed on @code{pow_detach}. @xref{Power Detach}.
196 Switch to the previous window. @xref{Selecting}.
197 -@item printcmd @var{[cmd]}
198 +@item printcmd @var{cmd}
199 Set a command for VT100 printer port emulation. @xref{Printcmd}.
200 -@item process @var{[key]}
201 +@item process @var{key}
202 Treat a register as input to @code{screen}. @xref{Registers}.
204 Kill all windows and exit. @xref{Quit}.
206 Read the paste buffer from the screen-exchange file. @xref{Screen-Exchange}.
207 -@item readreg @var{[reg [file]]}
208 +@item readreg @var{reg file}
209 Load a register from paste buffer or file. @xref{Registers}.
211 Redisplay the current window. @xref{Redisplay}.
212 @@ -999,21 +1008,21 @@
213 Delete the screen-exchange file. @xref{Screen-Exchange}.
215 Reset the terminal settings for the window. @xref{Reset}.
216 -@item screen @var{[opts] [n] [cmd [args]]}
217 +@item screen @var{opts n cmd args}
218 Create a new window. @xref{Screen Command}.
219 @item scrollback @var{num}
220 Set size of scrollback buffer. @xref{Scrollback}.
221 -@item select @var{[n]}
222 +@item select @var{n}
223 Switch to a specified window. @xref{Selecting}.
224 -@item sessionname @var{[name]}
225 +@item sessionname @var{name}
226 Name this session. @xref{Session Name}.
227 -@item setenv @var{[var [string]]}
228 +@item setenv @var{var string}
229 Set an environment variable for new windows. @xref{Setenv}.
230 @item shell @var{command}
231 Set the default program for new windows. @xref{Shell}.
232 @item shelltitle @var{title}
233 Set the default name for new windows. @xref{Shell}.
234 -@item silence @var{[state|seconds]}
235 +@item silence @var{state|seconds}
236 Monitor a window for inactivity. @xref{Silence}.
237 @item silencewait @var{seconds}
238 Default timeout to trigger an inactivity notify. @xref{Silence}.
239 @@ -1021,7 +1030,7 @@
240 Pause during startup. @xref{Startup}.
241 @item slowpaste @var{msec}
242 Slow down pasting in windows. @xref{Paste}.
243 -@item sorendition @var{[attr [color]]}
244 +@item sorendition @var{attr color}
245 Change text highlighting. @xref{Sorendition}.
247 Split region into two parts. @xref{Regions}.
248 @@ -1029,29 +1038,29 @@
249 Display copyright notice on startup. @xref{Startup}.
250 @item stuff @var{string}
251 Stuff a string in the input buffer of a window. @xref{Paste}.
252 -@item su @var{[username [password [password2]]]}
253 +@item su @var{username password password2}
254 Identify a user. @xref{Multiuser Session}.
256 Put session in background. @xref{Suspend}.
257 @item term @var{term}
258 Set @code{$TERM} for new windows. @xref{Term}.
259 -@item termcap @var{term terminal-tweaks [window-tweaks]}
260 +@item termcap @var{term terminal-tweaks window-tweaks}
261 Tweak termcap entries for best performance. @xref{Termcap Syntax}.
262 -@item terminfo @var{term terminal-tweaks [window-tweaks]}
263 +@item terminfo @var{term terminal-tweaks window-tweaks}
264 Ditto, for terminfo systems. @xref{Termcap Syntax}.
265 -@item termcapinfo @var{term terminal-tweaks [window-tweaks]}
266 +@item termcapinfo @var{term terminal-tweaks window-tweaks}
267 Ditto, for both systems. @xref{Termcap Syntax}.
269 Display time and load average. @xref{Time}.
270 -@item title @var{[windowtitle]}
271 +@item title @var{windowtitle}
272 Set the name of the current window. @xref{Title Command}.
273 -@item umask @var{[users]+\-bits ...}
274 +@item umask @var{users+\-bits ...}
275 Synonym to @code{aclumask}. @xref{Umask}.
276 @item unsetenv @var{var}
277 Unset environment variable for new windows. @xref{Setenv}.
278 -@item vbell @var{[state]}
279 +@item vbell @var{state}
280 Use visual bell. @xref{Bell}.
281 -@item vbell_msg @var{[message]}
282 +@item vbell_msg @var{message}
283 Set vbell message. @xref{Bell}.
284 @item vbellwait @var{sec}
285 Set delay for vbell message. @xref{Bell}.
286 @@ -1059,11 +1068,11 @@
287 Display @code{screen} version. @xref{Version}.
288 @item wall @var{message}
289 Write a message to all displays. @xref{Multiuser Session}.
290 -@item width @var{[num]}
291 +@item width @var{num}
292 Set the width of the window. @xref{Window Size}.
294 List active windows. @xref{Windows}.
295 -@item wrap @var{[state]}
296 +@item wrap @var{state}
297 Control line-wrap behavior. @xref{Wrap}.
299 Write paste buffer to screen-exchange file. @xref{Screen-Exchange}.
300 @@ -1073,7 +1082,7 @@
301 Send an XOFF character. @xref{XON/XOFF}.
303 Send an XON character. @xref{XON/XOFF}.
304 -@item zombie @var{[keys]}
305 +@item zombie @var{keys}
306 Keep dead windows. @xref{Zombie}.
309 @@ -1446,13 +1455,12 @@
311 @deffn Command lockscreen
312 (@kbd{C-a x}, @kbd{C-a C-x})@*
313 -Call a screenlock program (@file{/local/bin/lck} or @file{/usr/bin/lock}
314 -or a builtin, if no other is available). Screen does not accept any
315 -command keys until this program terminates. Meanwhile processes in the
316 -windows may continue, as the windows are in the detached state.
317 -The screenlock program may be changed through the environment variable
318 -@code{$LOCKPRG} (which must be set in the shell from which @code{screen}
319 -is started) and is executed with the user's uid and gid.
320 +Call a screenlock program (@file{/usr/bin/lck} or a builtin, if no other is
321 +available). Screen does not accept any command keys until this program
322 +terminates. Meanwhile processes in the windows may continue, as the windows
323 +are in the detached state. The screenlock program may be changed through the
324 +environment variable @code{$LOCKPRG} (which must be set in the shell from
325 +which @code{screen} is started) and is executed with the user's uid and gid.
327 Warning: When you leave other shells unlocked and have no password set
328 on @code{screen}, the lock is void: One could easily re-attach from an
329 @@ -1544,7 +1552,7 @@
331 @node Aclgrp, Displays, Acldel, Multiuser Session
333 -@deffn Command aclgrp @var{username [groupname]}
334 +@deffn Command aclgrp @var{username groupname}
336 Creates groups of users that share common access rights. The
337 name of the group is the username of the group leader. Each
338 @@ -1568,8 +1576,8 @@
340 @node Umask, Wall, Displays, Multiuser Session
342 -@deffn Command aclumask @var{[[users]+bits |[users]-bits .... ]}
343 -@deffnx Command umask @var{[[users]+bits |[users]-bits .... ]}
344 +@deffn Command aclumask @var{users+bits |users-bits .... }
345 +@deffnx Command umask @var{users+bits |users-bits .... }
347 This specifies the access other users have to windows that
348 will be created by the caller of the command. @var{Users} may be no,
349 @@ -1616,7 +1624,7 @@
351 @node Su, , Writelock, Multiuser Session
353 -@deffn Command su @var{[username [password [password2]]]}
354 +@deffn Command su @var{username password password2}
356 Substitute the user of a display. The command prompts for
357 all parameters that are omitted. If passwords are specified
358 @@ -1634,7 +1642,7 @@
360 @node Session Name, Suspend, Multiuser Session, Session Management
361 @section Session Name
362 -@deffn Command sessionname @var{[name]}
363 +@deffn Command sessionname @var{name}
365 Rename the current session. Note that for @code{screen -list} the name
366 shows up with the process-id prepended. If the argument @var{name} is
367 @@ -1757,7 +1765,7 @@
370 The second form changes the text used for the caption. You can use
371 -all string escapes (@xref{String Escapes}). @code{Screen} uses
372 +all string escapes (@pxref{String Escapes}). @code{Screen} uses
373 a default of @samp{%3n %t}.
375 You can mix both forms by providing the string as an additional
376 @@ -1785,7 +1793,7 @@
377 * Naming Windows:: Control the name of the window
378 * Console:: See the host's console messages
379 * Kill:: Destroy an unwanted window
380 -* Login:: Control @file{/etc/utmp} logging
381 +* Login:: Control @file{/var/run/utmp} logging
382 * Mode:: Control the file mode of the pty
383 * Monitor:: Watch for activity in a window
384 * Windows:: List the active windows
385 @@ -1949,7 +1957,7 @@
387 @node Console, Kill, Naming Windows, Window Settings
389 -@deffn Command console @var{[state]}
390 +@deffn Command console @var{state}
392 Grabs or un-grabs the machines console output to a window. When the argument
393 is omitted the current state is displayed.
394 @@ -1994,7 +2002,7 @@
396 @deffn Command login [state]
398 -Adds or removes the entry in @file{/etc/utmp} for the current window.
399 +Adds or removes the entry in @file{/var/run/utmp} for the current window.
400 This controls whether or not the window is @dfn{logged in}. In addition
401 to this toggle, it is convenient to have ``log in'' and ``log out''
402 keys. For instance, @code{bind I login on} and @code{bind O
403 @@ -2271,7 +2279,7 @@
404 change after a reattach from a different terminal type, it is
405 possible to bind commands to the termcap name of the keys.
406 @code{Screen} will insert the correct binding after each
407 -reattach. @xref{Bindkey} for further details on the syntax and examples.
408 +reattach. (@pxref{Bindkey} for further details on the syntax and examples.)
410 Here is the table of the default key bindings. (A) means that the
411 command is executed if the keyboard is switched into application
412 @@ -2435,7 +2443,7 @@
413 starting with @samp{(1,1)}, the terminal width and height plus the size
414 of the scrollback buffer in lines, like in @samp{(80,24)+50},
415 the current state of window XON/XOFF flow control is shown like this
416 -(see also @xref{Flow Control}):
417 +(@pxref{Flow Control}):
419 +flow automatic flow control, currently on.
420 -flow automatic flow control, currently off.
421 @@ -2537,7 +2545,7 @@
422 the @code{termcap} command (@pxref{Termcap}), for more information.
425 -@deffn Command height @var{[lines]}
426 +@deffn Command height @var{lines}
428 Set the display height to a specified number of lines. When no
429 argument is given it toggles between 24 and 42 lines display.
430 @@ -2599,7 +2607,7 @@
431 @samp{.} chars). New windows have @samp{BBBB02} as default
432 charset, unless a @samp{kanji} command is active.
434 -The current setting can be viewed with the @xref{Info} command.
435 +The current setting can be viewed with the @xref{Info}, command.
438 @deffn Command defc1 state
439 @@ -2960,7 +2968,7 @@
440 Stuff the string @var{string} in the input buffer of the current window.
441 This is like the @code{paste} command, but with much less overhead.
442 You cannot paste large buffers with the @code{stuff} command. It is most
443 -useful for key bindings. @xref{Bindkey}
444 +useful for key bindings (@pxref{Bindkey}).
448 @@ -3032,7 +3040,7 @@
450 @node Exec, Using Exec, , Subprocess Execution
452 -@deffn Command exec @var{[[fdpat] newcommand [args ... ]]}
453 +@deffn Command exec @var{fdpat newcommand args ... }
455 Run a unix subprocess (specified by an executable path @var{newcommand} and
456 its optional arguments) in the current window. The flow of data between
457 @@ -3241,15 +3249,15 @@
459 @node Bindkey, Bindkey Examples, Help, Key Binding
461 -@deffn Command bindkey @var{[opts] [string [cmd args]]}
462 +@deffn Command bindkey @var{opts string cmd args}
464 This command manages screen's input translation tables. Every
465 entry in one of the tables tells screen how to react if a certain
466 sequence of characters is encountered. There are three tables:
467 one that should contain actions programmed by the user, one for
468 the default actions used for terminal emulation and one for
469 -screen's copy mode to do cursor movement. @xref{Input Translation}
470 -for a list of default key bindings.
471 +screen's copy mode to do cursor movement. (@xref{Input Translation},
472 +for a list of default key bindings.)
475 option is given, bindkey modifies the default table, @samp{-m}
476 @@ -3786,7 +3794,7 @@
478 @node Obuflimit, Character Translation, Autonuke, Termcap
480 -@deffn Command obuflimit @var{[limit]}
481 +@deffn Command obuflimit @var{limit}
483 If the output buffer contains more bytes than the specified limit, no
484 more data will be read from the windows. The default value is 256. If
485 @@ -3932,7 +3940,7 @@
486 current window (settable via @samp{\E]0;^G} or @samp{\E_\\}) is
488 You can customize this to any string you like including
489 -string escapes (@xref{String Escapes}).
490 +string escapes (@pxref{String Escapes}).
492 out the argument @var{string}, the current string is displayed.
494 @@ -4224,7 +4232,7 @@
495 @node Number, Silence, Nonblock, Miscellaneous
498 -@deffn Command number @var{[n]}
499 +@deffn Command number @var{n}
501 Change the current window's number. If the given number @var{n} is already
502 used by another window, both windows exchange their numbers. If no argument is
503 @@ -4233,7 +4241,7 @@
505 @node Silence, Time, Number, Miscellaneous
507 -@deffn Command silence @var{[state|sec]}
508 +@deffn Command silence @var{state|sec}
510 Toggles silence monitoring of windows. When silence is turned on and an
511 affected window is switched into the background, you will receive the
512 @@ -4284,8 +4292,8 @@
514 @node Zombie, Printcmd, Version, Miscellaneous
516 -@deffn Command zombie @var{[keys]}
517 -@deffnx Command defzombie @var{[keys]}
518 +@deffn Command zombie @var{keys}
519 +@deffnx Command defzombie @var{keys}
521 Per default windows are removed from the window list as soon as the
522 windows process (e.g. shell) exits. When a string of two keys is
523 @@ -4304,7 +4312,7 @@
525 @node Printcmd, Sorendition, Zombie, Miscellaneous
527 -@deffn Command printcmd @var{[cmd]}
528 +@deffn Command printcmd @var{cmd}
530 If @var{cmd} is not an empty string, screen will not use the terminal
531 capabilities @code{po/pf} for printing if it detects an ansi print
532 @@ -4320,7 +4328,7 @@
534 @node Sorendition, , Printcmd, Miscellaneous
536 -@deffn Command sorendition @var{[attr [color]]}
537 +@deffn Command sorendition @var{attr color}
539 Change the way screen does highlighting for text marking and printing
541 @@ -4454,22 +4462,19 @@
542 global initialization files.
544 @item @code{$SYSSCREENRC}
545 -@itemx /local/etc/screenrc
546 +@itemx /etc/screenrc
547 @code{screen} initialization commands
549 @item @code{$SCREENRC}
550 @itemx @code{$HOME}/.iscreenrc
551 @itemx @code{$HOME}/.screenrc
552 -Read in after /local/etc/screenrc
553 +Read in after /etc/screenrc
555 @item @code{$SCREENDIR}/S-@var{login}
557 -@item /local/screens/S-@var{login}
558 +@item /tmp/screens/S-@var{login}
559 Socket directories (default)
561 -@item /usr/tmp/screens/S-@var{login}
562 -Alternate socket directories.
564 @item @var{socket directory}/.termcap
565 Written by the @code{dumptermcap} command
567 @@ -4487,7 +4492,7 @@
569 Terminal capability databases
575 @item @code{$LOCKPRG}
576 @@ -4590,10 +4595,10 @@
577 in order to be able to
578 correctly change the owner of the tty device file for each window.
579 Special permission may also be required to write the file
581 +@file{/var/run/utmp}.
584 -Entries in @file{/etc/utmp} are not removed when @code{screen} is killed
585 +Entries in @file{/var/run/utmp} are not removed when @code{screen} is killed
586 with SIGKILL. This will cause some programs (like "w" or "rwho") to
587 advertise that a user is logged on who really isn't.
589 @@ -4674,8 +4679,7 @@
590 @cindex socket directory
592 The socket directory defaults either to @file{$HOME/.screen} or simply to
593 -@file{/tmp/screens} or preferably to @file{/usr/local/screens} chosen at
594 -compile-time. If @code{screen} is installed
595 +@file{/tmp/screens}} chosen at compile-time. If @code{screen} is installed
596 setuid root, then the administrator should compile screen with an
597 adequate (not NFS mounted) @code{SOCKDIR}. If @code{screen} is not
598 running setuid-root, the user can specify any mode 700 directory in the