1SCREEN(1) General Commands Manual SCREEN(1)
2
3
4
6 screen - screen manager with VT100/ANSI terminal emulation
7
8
9
11 screen [ -options ] [ cmd [ args ] ]
12 screen -r [[pid.]tty[.host]]
13 screen -r sessionowner/[[pid.]tty[.host]]
14
15
16
18 Screen is a full-screen window manager that multiplexes a physical ter‐
19 minal between several processes (typically interactive shells). Each
20 virtual terminal provides the functions of a DEC VT100 terminal and, in
21 addition, several control functions from the ISO 6429 (ECMA 48, ANSI
22 X3.64) and ISO 2022 standards (e.g. insert/delete line and support for
23 multiple character sets). There is a scrollback history buffer for
24 each virtual terminal and a copy-and-paste mechanism that allows moving
25 text regions between windows.
26
27 When screen is called, it creates a single window with a shell in it
28 (or the specified command) and then gets out of your way so that you
29 can use the program as you normally would. Then, at any time, you can
30 create new (full-screen) windows with other programs in them (including
31 more shells), kill existing windows, view a list of windows, turn out‐
32 put logging on and off, copy-and-paste text between windows, view the
33 scrollback history, switch between windows in whatever manner you wish,
34 etc. All windows run their programs completely independent of each
35 other. Programs continue to run when their window is currently not vis‐
36 ible and even when the whole screen session is detached from the user's
37 terminal. When a program terminates, screen (per default) kills the
38 window that contained it. If this window was in the foreground, the
39 display switches to the previous window; if none are left, screen
40 exits. Shells usually distinguish between running as login-shell or
41 sub-shell. Screen runs them as sub-shells, unless told otherwise (See
42 "shell" .screenrc command).
43
44 Everything you type is sent to the program running in the current win‐
45 dow. The only exception to this is the one keystroke that is used to
46 initiate a command to the window manager. By default, each command
47 begins with a control-a (abbreviated C-a from now on), and is followed
48 by one other keystroke. The command character and all the key bindings
49 can be fully customized to be anything you like, though they are always
50 two characters in length.
51
52 Screen does not understand the prefix "C-" to mean control, although
53 this notation is used in this manual for readability. Please use the
54 caret notation ("^A" instead of "C-a") as arguments to e.g. the escape
55 command or the -e option. Screen will also print out control charac‐
56 ters in caret notation.
57
58 The standard way to create a new window is to type "C-a c". This cre‐
59 ates a new window running a shell and switches to that window immedi‐
60 ately, regardless of the state of the process running in the current
61 window. Similarly, you can create a new window with a custom command
62 in it by first binding the command to a keystroke (in your .screenrc
63 file or at the "C-a :" command line) and then using it just like the
64 "C-a c" command. In addition, new windows can be created by running a
65 command like:
66
67 screen emacs prog.c
68
69 from a shell prompt within a previously created window. This will not
70 run another copy of screen, but will instead supply the command name
71 and its arguments to the window manager (specified in the $STY environ‐
72 ment variable) who will use it to create the new window. The above
73 example would start the emacs editor (editing prog.c) and switch to its
74 window. - Note that you cannot transport environment variables from the
75 invoking shell to the application (emacs in this case), because it is
76 forked from the parent screen process, not from the invoking shell.
77
78 If "/etc/utmp" is writable by screen, an appropriate record will be
79 written to this file for each window, and removed when the window is
80 terminated. This is useful for working with "talk", "script", "shut‐
81 down", "rsend", "sccs" and other similar programs that use the utmp
82 file to determine who you are. As long as screen is active on your ter‐
83 minal, the terminal's own record is removed from the utmp file. See
84 also "C-a L".
85
86
87
89 Before you begin to use screen you'll need to make sure you have cor‐
90 rectly selected your terminal type, just as you would for any other
91 termcap/terminfo program. (You can do this by using tset for example.)
92
93 If you're impatient and want to get started without doing a lot more
94 reading, you should remember this one command: "C-a ?". Typing these
95 two characters will display a list of the available screen commands and
96 their bindings. Each keystroke is discussed in the section "DEFAULT KEY
97 BINDINGS". The manual section "CUSTOMIZATION" deals with the contents
98 of your .screenrc.
99
100 If your terminal is a "true" auto-margin terminal (it doesn't allow the
101 last position on the screen to be updated without scrolling the screen)
102 consider using a version of your terminal's termcap that has automatic
103 margins turned off. This will ensure an accurate and optimal update of
104 the screen in all circumstances. Most terminals nowadays have "magic"
105 margins (automatic margins plus usable last column). This is the VT100
106 style type and perfectly suited for screen. If all you've got is a
107 "true" auto-margin terminal screen will be content to use it, but
108 updating a character put into the last position on the screen may not
109 be possible until the screen scrolls or the character is moved into a
110 safe position in some other way. This delay can be shortened by using a
111 terminal with insert-character capability.
112
113
114
116 Screen has the following command-line options:
117
118 -a include all capabilities (with some minor exceptions) in each win‐
119 dow's termcap, even if screen must redraw parts of the display in
120 order to implement a function.
121
122 -A Adapt the sizes of all windows to the size of the current termi‐
123 nal. By default, screen tries to restore its old window sizes
124 when attaching to resizable terminals (those with "WS" in its
125 description, e.g. suncmd or some xterm).
126
127 -c file
128 override the default configuration file from "$HOME/.screenrc" to
129 file.
130
131 -d|-D [pid.tty.host]
132 does not start screen, but detaches the elsewhere running screen
133 session. It has the same effect as typing "C-a d" from screen's
134 controlling terminal. -D is the equivalent to the power detach
135 key. If no session can be detached, this option is ignored. In
136 combination with the -r/-R option more powerful effects can be
137 achieved:
138
139 -d -r Reattach a session and if necessary detach it first.
140
141 -d -R Reattach a session and if necessary detach or even create it
142 first.
143
144 -d -RR Reattach a session and if necessary detach or create it. Use
145 the first session if more than one session is available.
146
147 -D -r Reattach a session. If necessary detach and logout remotely
148 first.
149
150 -D -R Attach here and now. In detail this means: If a session is run‐
151 ning, then reattach. If necessary detach and logout remotely
152 first. If it was not running create it and notify the user.
153 This is the author's favorite.
154
155 -D -RR Attach here and now. Whatever that means, just do it.
156
157 Note: It is always a good idea to check the status of your ses‐
158 sions by means of "screen -list".
159
160 -e xy
161 specifies the command character to be x and the character generat‐
162 ing a literal command character to y (when typed after the command
163 character). The default is "C-a" and `a', which can be specified
164 as "-e^Aa". When creating a screen session, this option sets the
165 default command character. In a multiuser session all users added
166 will start off with this command character. But when attaching to
167 an already running session, this option changes only the command
168 character of the attaching user. This option is equivalent to
169 either the commands "defescape" or "escape" respectively.
170
171 -f, -fn, and -fa
172 turns flow-control on, off, or "automatic switching mode". This
173 can also be defined through the "defflow" .screenrc command.
174
175 -h num
176 Specifies the history scrollback buffer to be num lines high.
177
178 -i will cause the interrupt key (usually C-c) to interrupt the dis‐
179 play immediately when flow-control is on. See the "defflow"
180 .screenrc command for details. The use of this option is discour‐
181 aged.
182
183 -l and -ln
184 turns login mode on or off (for /etc/utmp updating). This can
185 also be defined through the "deflogin" .screenrc command.
186
187 -ls [match]
188 -list [match]
189 does not start screen, but prints a list of pid.tty.host strings
190 identifying your screen sessions. Sessions marked `detached' can
191 be resumed with "screen -r". Those marked `attached' are running
192 and have a controlling terminal. If the session runs in multiuser
193 mode, it is marked `multi'. Sessions marked as `unreachable'
194 either live on a different host or are `dead'. An unreachable
195 session is considered dead, when its name matches either the name
196 of the local host, or the specified parameter, if any. See the -r
197 flag for a description how to construct matches. Sessions marked
198 as `dead' should be thoroughly checked and removed. Ask your sys‐
199 tem administrator if you are not sure. Remove sessions with the
200 -wipe option.
201
202 -L tells screen to turn on automatic output logging for the windows.
203
204 -Logfile file
205 By default logfile name is "screenlog.0". You can set new logfile
206 name with the "-Logfile" option.
207
208 -m causes screen to ignore the $STY environment variable. With
209 "screen -m" creation of a new session is enforced, regardless
210 whether screen is called from within another screen session or
211 not. This flag has a special meaning in connection with the `-d'
212 option:
213
214 -d -m Start screen in "detached" mode. This creates a new session but
215 doesn't attach to it. This is useful for system startup
216 scripts.
217
218 -D -m This also starts screen in "detached" mode, but doesn't fork a
219 new process. The command exits if the session terminates.
220
221 -O selects an optimal output mode for your terminal rather than true
222 VT100 emulation (only affects auto-margin terminals without `LP').
223 This can also be set in your .screenrc by specifying `OP' in a
224 "termcap" command.
225
226 -p number_or_name|-|=|+
227 Preselect a window. This is useful when you want to reattach to a
228 specific window or you want to send a command via the "-X" option
229 to a specific window. As with screen's select command, "-" selects
230 the blank window. As a special case for reattach, "=" brings up
231 the windowlist on the blank window, while a "+" will create a new
232 window. The command will not be executed if the specified window
233 could not be found.
234
235 -q Suppress printing of error messages. In combination with "-ls" the
236 exit value is as follows: 9 indicates a directory without ses‐
237 sions. 10 indicates a directory with running but not attachable
238 sessions. 11 (or more) indicates 1 (or more) usable sessions. In
239 combination with "-r" the exit value is as follows: 10 indicates
240 that there is no session to resume. 12 (or more) indicates that
241 there are 2 (or more) sessions to resume and you should specify
242 which one to choose. In all other cases "-q" has no effect.
243
244 -Q Some commands now can be queried from a remote session using this
245 flag, e.g. "screen -Q windows". The commands will send the
246 response to the stdout of the querying process. If there was an
247 error in the command, then the querying process will exit with a
248 non-zero status.
249
250 The commands that can be queried now are:
251 echo
252 info
253 lastmsg
254 number
255 select
256 time
257 title
258 windows
259
260 -r [pid.tty.host]
261 -r sessionowner/[pid.tty.host]
262 resumes a detached screen session. No other options (except com‐
263 binations with -d/-D) may be specified, though an optional prefix
264 of [pid.]tty.host may be needed to distinguish between multiple
265 detached screen sessions. The second form is used to connect to
266 another user's screen session which runs in multiuser mode. This
267 indicates that screen should look for sessions in another user's
268 directory. This requires setuid-root.
269
270 -R resumes screen only when it's unambiguous which one to attach,
271 usually when only one screen is detached. Otherwise lists avail‐
272 able sessions. -RR attempts to resume the first detached screen
273 session it finds. If successful, all other command-line options
274 are ignored. If no detached session exists, starts a new session
275 using the specified options, just as if -R had not been specified.
276 The option is set by default if screen is run as a login-shell
277 (actually screen uses "-xRR" in that case). For combinations with
278 the -d/-D option see there.
279
280 -s program
281 sets the default shell to the program specified, instead of the
282 value in the environment variable $SHELL (or "/bin/sh" if not
283 defined). This can also be defined through the "shell" .screenrc
284 command. See also there.
285
286 -S sessionname
287 When creating a new session, this option can be used to specify a
288 meaningful name for the session. This name identifies the session
289 for "screen -list" and "screen -r" actions. It substitutes the
290 default [tty.host] suffix.
291
292 -t name
293 sets the title (a.k.a.) for the default shell or specified pro‐
294 gram. See also the "shelltitle" .screenrc command.
295
296 -T term
297 Set the $TERM environment variable using the specified term as
298 opposed to the default setting of screen.
299
300 -U Run screen in UTF-8 mode. This option tells screen that your ter‐
301 minal sends and understands UTF-8 encoded characters. It also sets
302 the default encoding for new windows to `utf8'.
303
304 -v Print version number.
305
306 -wipe [match]
307 does the same as "screen -ls", but removes destroyed sessions
308 instead of marking them as `dead'. An unreachable session is con‐
309 sidered dead, when its name matches either the name of the local
310 host, or the explicitly given parameter, if any. See the -r flag
311 for a description how to construct matches.
312
313 -x Attach to a not detached screen session. (Multi display mode).
314 Screen refuses to attach from within itself. But when cascading
315 multiple screens, loops are not detected; take care.
316
317 -X Send the specified command to a running screen session. You may
318 use the -S option to specify the screen session if you have sev‐
319 eral screen sessions running. You can use the -d or -r option to
320 tell screen to look only for attached or detached screen sessions.
321 Note that this command doesn't work if the session is password
322 protected.
323
324
325 -4 Resolve hostnames only to IPv4 addresses.
326
327 -6 Resolve hostnames only to IPv6 addresses.
328
330 As mentioned, each screen command consists of a "C-a" followed by one
331 other character. For your convenience, all commands that are bound to
332 lower-case letters are also bound to their control character counter‐
333 parts (with the exception of "C-a a"; see below), thus, "C-a c" as well
334 as "C-a C-c" can be used to create a window. See section "CUSTOMIZA‐
335 TION" for a description of the command.
336
337 The following table shows the default key bindings. The trailing commas
338 in boxes with multiple keystroke entries are separators, not part of
339 the bindings.
340
341 ─────────────────────────────────────────────────────────
342 C-a ' (select) Prompt for a window
343 name or number to
344 switch to.
345 ─────────────────────────────────────────────────────────
346 C-a " (windowlist -b) Present a list of
347 all windows for
348 selection.
349 ─────────────────────────────────────────────────────────
350 C-a digit (select 0-9) Switch to window
351 number 0 - 9
352 ─────────────────────────────────────────────────────────
353 C-a - (select -) Switch to window
354 number 0 - 9, or to
355 the blank window.
356 ─────────────────────────────────────────────────────────
357 C-a tab (focus) Switch the input
358 focus to the next
359 region. See also
360 split, remove,
361 only.
362 ─────────────────────────────────────────────────────────
363 C-a C-a (other) Toggle to the win‐
364 dow displayed pre‐
365 viously. Note that
366 this binding
367 defaults to the
368 command character
369 typed twice, unless
370 overridden. For
371 instance, if you
372 use the option
373 "-e]x", this com‐
374 mand becomes "]]".
375 ─────────────────────────────────────────────────────────
376 C-a a (meta) Send the command
377 character (C-a) to
378 window. See escape
379 command.
380 ─────────────────────────────────────────────────────────
381 C-a A (title) Allow the user to
382 enter a name for
383 the current window.
384 ─────────────────────────────────────────────────────────
385 C-a b, (break) Send a break to
386 C-a C-b window.
387 ─────────────────────────────────────────────────────────
388 C-a B (pow_break) Reopen the terminal
389 line and send a
390 break.
391 ─────────────────────────────────────────────────────────
392 C-a c, (screen) Create a new window
393 C-a C-c with a shell and
394 switch to that win‐
395 dow.
396 ─────────────────────────────────────────────────────────
397 C-a C (clear) Clear the screen.
398 ─────────────────────────────────────────────────────────
399
400
401
402 C-a d, (detach) Detach screen from
403 C-a C-d this terminal.
404 ─────────────────────────────────────────────────────────
405 C-a D D (pow_detach) Detach and logout.
406 ─────────────────────────────────────────────────────────
407 C-a f, (flow) Toggle flow on, off
408 C-a C-f or auto.
409 ─────────────────────────────────────────────────────────
410 C-a F (fit) Resize the window
411 to the current
412 region size.
413 ─────────────────────────────────────────────────────────
414 C-a C-g (vbell) Toggles screen's
415 visual bell mode.
416 ─────────────────────────────────────────────────────────
417 C-a h (hardcopy) Write a hardcopy of
418 the current window
419 to the file "hard‐
420 copy.n".
421 ─────────────────────────────────────────────────────────
422 C-a H (log) Begins/ends logging
423 of the current win‐
424 dow to the file
425 "screenlog.n".
426 ─────────────────────────────────────────────────────────
427 C-a i, (info) Show info about
428 C-a C-i this window.
429 ─────────────────────────────────────────────────────────
430 C-a k, (kill) Destroy current
431 C-a C-k window.
432 ─────────────────────────────────────────────────────────
433 C-a l, (redisplay) Fully refresh cur‐
434 C-a C-l rent window.
435 ─────────────────────────────────────────────────────────
436 C-a L (login) Toggle this windows
437 login slot. Avail‐
438 able only if screen
439 is configured to
440 update the utmp
441 database.
442 ─────────────────────────────────────────────────────────
443 C-a m, (lastmsg) Repeat the last
444 C-a C-m message displayed
445 in the message
446 line.
447 ─────────────────────────────────────────────────────────
448 C-a M (monitor) Toggles monitoring
449 of the current win‐
450 dow.
451 ─────────────────────────────────────────────────────────
452 C-a space, (next) Switch to the next
453 C-a n, window.
454 C-a C-n
455 ─────────────────────────────────────────────────────────
456 C-a N (number) Show the number
457 (and title) of the
458 current window.
459 ─────────────────────────────────────────────────────────
460 C-a backspace, (prev) Switch to the pre‐
461 C-a C-h, vious window (oppo‐
462 C-a p, site of C-a n).
463 C-a C-p
464 ─────────────────────────────────────────────────────────
465 C-a q, (xon) Send a control-q to
466 C-a C-q the current window.
467 ─────────────────────────────────────────────────────────
468
469 C-a Q (only) Delete all regions
470 but the current
471 one. See also
472 split, remove,
473 focus.
474 ─────────────────────────────────────────────────────────
475 C-a r, (wrap) Toggle the current
476 C-a C-r window's line-wrap
477 setting (turn the
478 current window's
479 automatic margins
480 on and off).
481 ─────────────────────────────────────────────────────────
482 C-a s, (xoff) Send a control-s to
483 C-a C-s; the current window.
484 ─────────────────────────────────────────────────────────
485 C-a S (split) Split the current
486 region horizontally
487 into two new ones.
488 See also only,
489 remove, focus.
490 ─────────────────────────────────────────────────────────
491 C-a t, (time) Show system infor‐
492 C-a C-t mation.
493 ─────────────────────────────────────────────────────────
494 C-a v (version) Display the version
495 and compilation
496 date.
497 ─────────────────────────────────────────────────────────
498 C-a C-v (digraph) Enter digraph.
499 C-a w, (windows) Show a list of win‐
500 C-a C-w dow.
501 ─────────────────────────────────────────────────────────
502 C-a W (width) Toggle 80/132 col‐
503 umns.
504 ─────────────────────────────────────────────────────────
505 C-a x or C-a C-x (lockscreen) Lock this terminal.
506 ─────────────────────────────────────────────────────────
507 C-a X (remove) Kill the current
508 region. See also
509 split, only, focus.
510 ─────────────────────────────────────────────────────────
511 C-a z, (suspend) Suspend screen.
512 C-a C-z Your system must
513 support BSD-style
514 job-control.
515 ─────────────────────────────────────────────────────────
516 C-a Z (reset) Reset the virtual
517 terminal to its
518 "power-on" values.
519 ─────────────────────────────────────────────────────────
520 C-a . (dumptermcap) Write out a ".term‐
521 cap" file.
522 ─────────────────────────────────────────────────────────
523 C-a ? (help) Show key bindings.
524 ─────────────────────────────────────────────────────────
525 C-a \ (quit) Kill all windows
526 and terminate
527 screen.
528 ─────────────────────────────────────────────────────────
529 C-a : (colon) Enter command line
530 mode.
531 ─────────────────────────────────────────────────────────
532
533
534
535
536 C-a [, (copy) Enter copy/scroll‐
537 C-a C-[, back mode.
538 C-a esc
539 ─────────────────────────────────────────────────────────
540 C-a C-], (paste .) Write the contents
541 C-a ] of the paste buffer
542 to the stdin queue
543 of the current win‐
544 dow.
545 ─────────────────────────────────────────────────────────
546 C-a {, (history) Copy and paste a
547 C-a } previous (command)
548 line.
549 ─────────────────────────────────────────────────────────
550 C-a > (writebuf) Write paste buffer
551 to a file.
552 ─────────────────────────────────────────────────────────
553 C-a < (readbuf) Reads the screen-
554 exchange file into
555 the paste buffer.
556 ─────────────────────────────────────────────────────────
557 C-a = (removebuf) Removes the file
558 used by C-a < and
559 C-a >.
560 ─────────────────────────────────────────────────────────
561 C-a , (license) Shows where screen
562 comes from, where
563 it went to and why
564 you can use it.
565 ─────────────────────────────────────────────────────────
566 C-a _ (silence) Start/stop monitor‐
567 ing the current
568 window for inactiv‐
569 ity.
570 ─────────────────────────────────────────────────────────
571 C-a | (split -v) Split the current
572 region vertically
573 into two new ones.
574 ─────────────────────────────────────────────────────────
575 C-a * (displays) Show a listing of
576 all currently
577 attached displays.
578 ─────────────────────────────────────────────────────────
579
580
582 The "socket directory" defaults either to $HOME/.screen or simply to
583 /tmp/screens or preferably to /usr/local/screens chosen at compile-
584 time. If screen is installed setuid-root, then the administrator should
585 compile screen with an adequate (not NFS mounted) socket directory. If
586 screen is not running setuid-root, the user can specify any mode 700
587 directory in the environment variable $SCREENDIR.
588
589 When screen is invoked, it executes initialization commands from the
590 files "/etc/screenrc" and ".screenrc" in the user's home directory.
591 These are the "programmer's defaults" that can be overridden in the
592 following ways: for the global screenrc file screen searches for the
593 environment variable $SYSSCREENRC (this override feature may be dis‐
594 abled at compile-time). The user specific screenrc file is searched in
595 $SCREENRC, then $HOME/.screenrc. The command line option -c takes
596 precedence over the above user screenrc files.
597
598 Commands in these files are used to set options, bind functions to
599 keys, and to automatically establish one or more windows at the begin‐
600 ning of your screen session. Commands are listed one per line, with
601 empty lines being ignored. A command's arguments are separated by tabs
602 or spaces, and may be surrounded by single or double quotes. A `#'
603 turns the rest of the line into a comment, except in quotes. Unintel‐
604 ligible lines are warned about and ignored. Commands may contain ref‐
605 erences to environment variables. The syntax is the shell-like "$VAR "
606 or "${VAR}". Note that this causes incompatibility with previous screen
607 versions, as now the '$'-character has to be protected with '\' if no
608 variable substitution shall be performed. A string in single-quotes is
609 also protected from variable substitution.
610
611 Two configuration files are shipped as examples with your screen dis‐
612 tribution: "etc/screenrc" and "etc/etcscreenrc". They contain a number
613 of useful examples for various commands.
614
615 Customization can also be done 'on-line'. To enter the command mode
616 type `C-a :'. Note that commands starting with "def" change default
617 values, while others change current settings.
618
619 The following commands are available:
620
621 acladd usernames [crypted-pw]
622
623 addacl usernames
624
625 Enable users to fully access this screen session. Usernames can be one
626 user or a comma separated list of users. This command enables to attach
627 to the screen session and performs the equivalent of `aclchg usernames
628 +rwx "#?"'. executed. To add a user with restricted access, use the
629 `aclchg' command below. If an optional second parameter is supplied,
630 it should be a crypted password for the named user(s). `Addacl' is a
631 synonym to `acladd'. Multi user mode only.
632
633 aclchg usernames permbits list
634
635 chacl usernames permbits list
636
637 Change permissions for a comma separated list of users. Permission bits
638 are represented as `r', `w' and `x'. Prefixing `+' grants the permis‐
639 sion, `-' removes it. The third parameter is a comma separated list of
640 commands and/or windows (specified either by number or title). The spe‐
641 cial list `#' refers to all windows, `?' to all commands. if usernames
642 consists of a single `*', all known users are affected.
643
644 A command can be executed when the user has the `x' bit for it. The
645 user can type input to a window when he has its `w' bit set and no
646 other user obtains a writelock for this window. Other bits are cur‐
647 rently ignored. To withdraw the writelock from another user in window
648 2: `aclchg username -w+w 2'. To allow read-only access to the session:
649 `aclchg username -w "#"'. As soon as a user's name is known to screen
650 he can attach to the session and (per default) has full permissions for
651 all command and windows. Execution permission for the acl commands,
652 `at' and others should also be removed or the user may be able to
653 regain write permission. Rights of the special username nobody cannot
654 be changed (see the "su" command). `Chacl' is a synonym to `aclchg'.
655 Multi user mode only.
656
657 acldel username
658
659 Remove a user from screen's access control list. If currently attached,
660 all the user's displays are detached from the session. He cannot attach
661 again. Multi user mode only.
662
663 aclgrp username [groupname]
664
665 Creates groups of users that share common access rights. The name of
666 the group is the username of the group leader. Each member of the group
667 inherits the permissions that are granted to the group leader. That
668 means, if a user fails an access check, another check is made for the
669 group leader. A user is removed from all groups the special value
670 "none" is used for groupname. If the second parameter is omitted all
671 groups the user is in are listed.
672
673 aclumask [[ users ] +bits | [ users ] -bits... ]
674
675 umask [[ users ] +bits | [ users ] -bits... ]
676
677 This specifies the access other users have to windows that will be cre‐
678 ated by the caller of the command. Users may be no, one or a comma
679 separated list of known usernames. If no users are specified, a list of
680 all currently known users is assumed. Bits is any combination of
681 access control bits allowed defined with the "aclchg" command. The spe‐
682 cial username "?" predefines the access that not yet known users will
683 be granted to any window initially. The special username "??" prede‐
684 fines the access that not yet known users are granted to any command.
685 Rights of the special username nobody cannot be changed (see the "su"
686 command). `Umask' is a synonym to `aclumask'.
687
688 activity message
689
690 When any activity occurs in a background window that is being moni‐
691 tored, screen displays a notification in the message line. The notifi‐
692 cation message can be re-defined by means of the "activity" command.
693 Each occurrence of `%' in message is replaced by the number of the win‐
694 dow in which activity has occurred, and each occurrence of `^G' is
695 replaced by the definition for bell in your termcap (usually an audible
696 bell). The default message is
697
698 'Activity in window %n'
699
700 Note that monitoring is off for all windows by default, but can be
701 altered by use of the "monitor" command (C-a M).
702
703 allpartial on|off
704
705 If set to on, only the current cursor line is refreshed on window
706 change. This affects all windows and is useful for slow terminal
707 lines. The previous setting of full/partial refresh for each window is
708 restored with "allpartial off". This is a global flag that immediately
709 takes effect on all windows overriding the "partial" settings. It does
710 not change the default redraw behavior of newly created windows.
711
712 altscreen on|off
713
714 If set to on, "alternate screen" support is enabled in virtual termi‐
715 nals, just like in xterm. Initial setting is `off'.
716
717 at [identifier][#|*|%] command [args ... ]
718
719 Execute a command at other displays or windows as if it had been
720 entered there. "At" changes the context (the `current window' or `cur‐
721 rent display' setting) of the command. If the first parameter describes
722 a non-unique context, the command will be executed multiple times. If
723 the first parameter is of the form `identifier*' then identifier is
724 matched against user names. The command is executed once for each dis‐
725 play of the selected user(s). If the first parameter is of the form
726 `identifier%' identifier is matched against displays. Displays are
727 named after the ttys they attach. The prefix `/dev/' or `/dev/tty' may
728 be omitted from the identifier. If identifier has a `#' or nothing
729 appended it is matched against window numbers and titles. Omitting an
730 identifier in front of the `#', `*' or `%'-character selects all users,
731 displays or windows because a prefix-match is performed. Note that on
732 the affected display(s) a short message will describe what happened.
733 Permission is checked for initiator of the "at" command, not for the
734 owners of the affected display(s). Note that the '#' character works
735 as a comment introducer when it is preceded by whitespace. This can be
736 escaped by prefixing a '\'. Permission is checked for the initiator of
737 the "at" command, not for the owners of the affected display(s).
738
739 Caveat: When matching against windows, the command is executed at least
740 once per window. Commands that change the internal arrangement of win‐
741 dows (like "other") may be called again. In shared windows the command
742 will be repeated for each attached display. Beware, when issuing toggle
743 commands like "login"! Some commands (e.g. "process") require that a
744 display is associated with the target windows. These commands may not
745 work correctly under "at" looping over windows.
746
747 attrcolor attrib [attribute/color-modifier]
748
749 This command can be used to highlight attributes by changing the color
750 of the text. If the attribute attrib is in use, the specified
751 attribute/color modifier is also applied. If no modifier is given, the
752 current one is deleted. See the "STRING ESCAPES" chapter for the syntax
753 of the modifier. Screen understands two pseudo-attributes, "i" stands
754 for high-intensity foreground color and "I" for high-intensity back‐
755 ground color.
756
757 Examples:
758
759 attrcolor b "R"
760
761 Change the color to bright red if bold text is to be printed.
762
763 attrcolor u "-u b"
764
765 Use blue text instead of underline.
766
767 attrcolor b ".I"
768
769 Use bright colors for bold text. Most terminal emulators do this
770 already.
771
772 attrcolor i "+b"
773
774 Make bright colored text also bold.
775
776 autodetach on|off
777
778 Sets whether screen will automatically detach upon hangup, which saves
779 all your running programs until they are resumed with a screen -r com‐
780 mand. When turned off, a hangup signal will terminate screen and all
781 the processes it contains. Autodetach is on by default.
782
783 autonuke on|off
784
785 Sets whether a clear screen sequence should nuke all the output that
786 has not been written to the terminal. See also "obuflimit".
787
788 backtick id lifespan autorefresh cmd args...
789
790 backtick id
791
792 Program the backtick command with the numerical id id. The output of
793 such a command is used for substitution of the "%`" string escape. The
794 specified lifespan is the number of seconds the output is considered
795 valid. After this time, the command is run again if a corresponding
796 string escape is encountered. The autorefresh parameter triggers an
797 automatic refresh for caption and hardstatus strings after the speci‐
798 fied number of seconds. Only the last line of output is used for sub‐
799 stitution.
800
801 If both the lifespan and the autorefresh parameters are zero, the back‐
802 tick program is expected to stay in the background and generate output
803 once in a while. In this case, the command is executed right away and
804 screen stores the last line of output. If a new line gets printed
805 screen will automatically refresh the hardstatus or the captions.
806
807 The second form of the command deletes the backtick command with the
808 numerical id id.
809
810 bce [on|off]
811
812 Change background-color-erase setting. If "bce" is set to on, all char‐
813 acters cleared by an erase/insert/scroll/clear operation will be dis‐
814 played in the current background color. Otherwise the default back‐
815 ground color is used.
816
817 bell_msg [message]
818
819 When a bell character is sent to a background window, screen displays a
820 notification in the message line. The notification message can be re-
821 defined by this command. Each occurrence of `%' in message is replaced
822 by the number of the window to which a bell has been sent, and each
823 occurrence of `^G' is replaced by the definition for bell in your term‐
824 cap (usually an audible bell). The default message is
825
826 'Bell in window %n'
827
828 An empty message can be supplied to the "bell_msg" command to suppress
829 output of a message line (bell_msg ""). Without parameter, the current
830 message is shown.
831
832 bind [class] key [command [args]]
833
834 Bind a command to a key. By default, most of the commands provided by
835 screen are bound to one or more keys as indicated in the "DEFAULT KEY
836 BINDINGS" section, e.g. the command to create a new window is bound to
837 "C-c" and "c". The "bind" command can be used to redefine the key
838 bindings and to define new bindings. The key argument is either a sin‐
839 gle character, a two-character sequence of the form "^x" (meaning "C-
840 x"), a backslash followed by an octal number (specifying the ASCII code
841 of the character), or a backslash followed by a second character, such
842 as "\^" or "\\". The argument can also be quoted, if you like. If no
843 further argument is given, any previously established binding for this
844 key is removed. The command argument can be any command listed in this
845 section.
846
847 If a command class is specified via the "-c" option, the key is bound
848 for the specified class. Use the "command" command to activate a class.
849 Command classes can be used to create multiple command keys or multi-
850 character bindings.
851
852 Some examples:
853
854 bind ' ' windows
855 bind ^k
856 bind k
857 bind K kill
858 bind ^f screen telnet foobar
859 bind \033 screen -ln -t root -h 1000 9 su
860
861 would bind the space key to the command that displays a list of windows
862 (so that the command usually invoked by "C-a C-w" would also be avail‐
863 able as "C-a space"). The next three lines remove the default kill
864 binding from "C-a C-k" and "C-a k". "C-a K" is then bound to the kill
865 command. Then it binds "C-f" to the command "create a window with a
866 TELNET connection to foobar", and bind "escape" to the command that
867 creates an non-login window with a.k.a. "root" in slot #9, with a supe‐
868 ruser shell and a scrollback buffer of 1000 lines.
869
870 bind -c demo1 0 select 10
871 bind -c demo1 1 select 11
872 bind -c demo1 2 select 12
873 bindkey "^B" command -c demo1
874
875 makes "C-b 0" select window 10, "C-b 1" window 11, etc.
876
877 bind -c demo2 0 select 10
878 bind -c demo2 1 select 11
879 bind -c demo2 2 select 12
880 bind - command -c demo2
881
882 makes "C-a - 0" select window 10, "C-a - 1" window 11, etc.
883
884 bindkey [-d] [-m] [-a] [[-k|-t] string [cmd-args]]
885
886 This command manages screen's input translation tables. Every entry in
887 one of the tables tells screen how to react if a certain sequence of
888 characters is encountered. There are three tables: one that should con‐
889 tain actions programmed by the user, one for the default actions used
890 for terminal emulation and one for screen's copy mode to do cursor
891 movement. See section "INPUT TRANSLATION" for a list of default key
892 bindings.
893
894 If the -d option is given, bindkey modifies the default table, -m
895 changes the copy mode table and with neither option the user table is
896 selected. The argument string is the sequence of characters to which
897 an action is bound. This can either be a fixed string or a termcap key‐
898 board capability name (selectable with the -k option).
899
900 Some keys on a VT100 terminal can send a different string if applica‐
901 tion mode is turned on (e.g the cursor keys). Such keys have two
902 entries in the translation table. You can select the application mode
903 entry by specifying the -a option.
904
905 The -t option tells screen not to do inter-character timing. One cannot
906 turn off the timing if a termcap capability is used.
907
908 Cmd can be any of screen's commands with an arbitrary number of args.
909 If cmd is omitted the key-binding is removed from the table.
910
911 Here are some examples of keyboard bindings:
912
913 bindkey -d
914
915 Show all of the default key bindings. The application mode entries are
916 marked with [A].
917
918 bindkey -k k1 select 1
919
920 Make the "F1" key switch to window one.
921
922 bindkey -t foo stuff barfoo
923
924 Make "foo" an abbreviation of the word "barfoo". Timeout is disabled so
925 that users can type slowly.
926
927 bindkey "\024" mapdefault
928
929 This key-binding makes "^T" an escape character for key-bindings. If
930 you did the above "stuff barfoo" binding, you can enter the word "foo"
931 by typing "^Tfoo". If you want to insert a "^T" you have to press the
932 key twice (i.e., escape the escape binding).
933
934 bindkey -k F1 command
935
936 Make the F11 (not F1!) key an alternative screen escape (besides ^A).
937
938 break[duration]
939
940 Send a break signal for duration*0.25 seconds to this window. For non-
941 Posix systems the time interval may be rounded up to full seconds.
942 Most useful if a character device is attached to the window rather than
943 a shell process (See also chapter "WINDOW TYPES"). The maximum duration
944 of a break signal is limited to 15 seconds.
945
946 blanker
947
948 Activate the screen blanker. First the screen is cleared. If no blanker
949 program is defined, the cursor is turned off, otherwise, the program is
950 started and it's output is written to the screen. The screen blanker
951 is killed with the first keypress, the read key is discarded.
952
953 This command is normally used together with the "idle" command.
954
955 blankerprg [program-args]
956
957 Defines a blanker program. Disables the blanker program if an empty
958 argument is given. Shows the currently set blanker program if no argu‐
959 ments are given.
960
961 breaktype [tcsendbreak|TIOCSBRK|TCSBRK]
962
963 Choose one of the available methods of generating a break signal for
964 terminal devices. This command should affect the current window only.
965 But it still behaves identical to "defbreaktype". This will be changed
966 in the future. Calling "breaktype" with no parameter displays the
967 break method for the current window.
968
969 bufferfile [exchange-file]
970
971 Change the filename used for reading and writing with the paste buffer.
972 If the optional argument to the "bufferfile" command is omitted, the
973 default setting ("/tmp/screen-exchange") is reactivated. The following
974 example will paste the system's password file into the screen window
975 (using the paste buffer, where a copy remains):
976
977 C-a : bufferfile /etc/passwd
978 C-a < C-a ]
979 C-a : bufferfile
980
981 bumpleft
982
983 Swaps window with previous one on window list.
984
985 bumpright
986
987 Swaps window with next one on window list.
988
989 c1 [on|off]
990
991 Change c1 code processing. "C1 on" tells screen to treat the input
992 characters between 128 and 159 as control functions. Such an 8-bit
993 code is normally the same as ESC followed by the corresponding 7-bit
994 code. The default setting is to process c1 codes and can be changed
995 with the "defc1" command. Users with fonts that have usable characters
996 in the c1 positions may want to turn this off.
997
998 caption [ top | bottom ] always|splitonly[string]
999
1000 caption string [string]
1001
1002 This command controls the display of the window captions. Normally a
1003 caption is only used if more than one window is shown on the display
1004 (split screen mode). But if the type is set to always screen shows a
1005 caption even if only one window is displayed. The default is splitonly.
1006
1007 The second form changes the text used for the caption. You can use all
1008 escapes from the "STRING ESCAPES" chapter. Screen uses a default of
1009 `%3n %t'.
1010
1011 You can mix both forms by providing a string as an additional argument.
1012
1013 You can have the caption displayed either at the top or bottom of the
1014 window. The default is bottom.
1015
1016 charset set
1017
1018 Change the current character set slot designation and charset mapping.
1019 The first four character of set are treated as charset designators
1020 while the fifth and sixth character must be in range '0' to '3' and set
1021 the GL/GR charset mapping. On every position a '.' may be used to indi‐
1022 cate that the corresponding charset/mapping should not be changed (set
1023 is padded to six characters internally by appending '.' chars). New
1024 windows have "BBBB02" as default charset, unless a "encoding" command
1025 is active.
1026 The current setting can be viewed with the "info" command.
1027
1028 chdir [directory]
1029
1030 Change the current directory of screen to the specified directory or,
1031 if called without an argument, to your home directory (the value of the
1032 environment variable $HOME). All windows that are created by means of
1033 the "screen" command from within ".screenrc" or by means of "C-a :
1034 screen ..." or "C-a c" use this as their default directory. Without a
1035 chdir command, this would be the directory from which screen was
1036 invoked.
1037
1038 Hardcopy and log files are always written to the window's default
1039 directory, not the current directory of the process running in the win‐
1040 dow. You can use this command multiple times in your .screenrc to
1041 start various windows in different default directories, but the last
1042 chdir value will affect all the windows you create interactively.
1043
1044 cjkwidth [ on | off ]
1045
1046 Treat ambiguous width characters as full/half width.
1047
1048 clear
1049
1050 Clears the current window and saves its image to the scrollback buffer.
1051
1052 collapse
1053
1054 Reorders window on window list, removing number gaps between them.
1055
1056 colon [prefix]
1057
1058 Allows you to enter ".screenrc" command lines. Useful for on-the-fly
1059 modification of key bindings, specific window creation and changing
1060 settings. Note that the "set" keyword no longer exists! Usually com‐
1061 mands affect the current window rather than default settings for future
1062 windows. Change defaults with commands starting with 'def...'.
1063
1064 If you consider this as the `Ex command mode' of screen, you may regard
1065 "C-a esc" (copy mode) as its `Vi command mode'.
1066
1067 command [-c class]
1068
1069 This command has the same effect as typing the screen escape character
1070 (^A). It is probably only useful for key bindings. If the "-c" option
1071 is given, select the specified command class. See also "bind" and
1072 "bindkey".
1073
1074 compacthist [on|off]
1075
1076 This tells screen whether to suppress trailing blank lines when
1077 scrolling up text into the history buffer.
1078
1079 console [on|off]
1080
1081 Grabs or un-grabs the machines console output to a window. Note: Only
1082 the owner of /dev/console can grab the console output. This command is
1083 only available if the machine supports the ioctl TIOCCONS.
1084
1085 copy
1086
1087 Enter copy/scrollback mode. This allows you to copy text from the cur‐
1088 rent window and its history into the paste buffer. In this mode a vi-
1089 like `full screen editor' is active:
1090 The editor's movement keys are:
1091
1092
1093 ────────────────────────────────────────────────────────────────
1094 h, C-h, move the cursor left.
1095 left arrow
1096 ────────────────────────────────────────────────────────────────
1097 j, C-n, move the cursor down.
1098 down arrow
1099 ────────────────────────────────────────────────────────────────
1100 k, C-p, move the cursor up.
1101 up arrow
1102 ────────────────────────────────────────────────────────────────
1103 l ('el'), move the cursor right.
1104 right arrow
1105 ────────────────────────────────────────────────────────────────
1106 0 (zero) C-a move to the leftmost column.
1107 ────────────────────────────────────────────────────────────────
1108 + and - positions one line up and down.
1109 ────────────────────────────────────────────────────────────────
1110 H, M and L move the cursor to the leftmost column of the
1111 top, center or bottom line of the window.
1112 ────────────────────────────────────────────────────────────────
1113 | moves to the specified absolute column.
1114 ────────────────────────────────────────────────────────────────
1115 g or home moves to the beginning of the buffer.
1116 ────────────────────────────────────────────────────────────────
1117 G or end moves to the specified absolute line (default:
1118 end of buffer).
1119 ────────────────────────────────────────────────────────────────
1120 % jumps to the specified percentage of the buffer.
1121 ────────────────────────────────────────────────────────────────
1122 ^ or $ move to the leftmost column, to the first or
1123 last non-whitespace character on the line.
1124 ────────────────────────────────────────────────────────────────
1125 w, b, and e move the cursor word by word.
1126 ────────────────────────────────────────────────────────────────
1127 B, E move the cursor WORD by WORD (as in vi).
1128 ────────────────────────────────────────────────────────────────
1129 f/F, t/T move the cursor forward/backward to the next
1130 occurence of the target. (eg, '3fy' will move
1131 the cursor to the 3rd 'y' to the right.)
1132 ────────────────────────────────────────────────────────────────
1133 ; and , Repeat the last f/F/t/T command in the
1134 same/opposite direction.
1135 ────────────────────────────────────────────────────────────────
1136
1137
1138
1139 C-e and C-y scroll the display up/down by one line while
1140 preserving the cursor position.
1141 ────────────────────────────────────────────────────────────────
1142 C-u and C-d scroll the display up/down by the specified
1143 amount of lines while preserving the cursor
1144 position. (Default: half screen-full).
1145 ────────────────────────────────────────────────────────────────
1146 C-b and C-f scroll the display up/down a full screen.
1147 ────────────────────────────────────────────────────────────────
1148
1149
1150 Note: Emacs style movement keys can be customized by a .screenrc com‐
1151 mand. (E.g. markkeys "h=^B:l=^F:$=^E") There is no simple method for a
1152 full emacs-style keymap, as this involves multi-character codes.
1153
1154 Some keys are defined to do mark and replace operations.
1155
1156 The copy range is specified by setting two marks. The text between
1157 these marks will be highlighted. Press:
1158
1159 space or enter to set the first or second mark respectively. If
1160 mousetrack is set to `on', marks can also be set using left
1161 mouse click.
1162
1163 Y and y used to mark one whole line or to mark from start of
1164 line.
1165
1166 W marks exactly one word.
1167
1168 Any of these commands can be prefixed with a repeat count number by
1169 pressing digits
1170
1171 0..9 which is taken as a repeat count.
1172
1173 Example: "C-a C-[ H 10 j 5 Y" will copy lines 11 to 15 into the paste
1174 buffer.
1175
1176 The folllowing search keys are defined:
1177
1178 / Vi-like search forward.
1179
1180 ? Vi-like search backward.
1181
1182 C-a s Emacs style incremental search forward.
1183
1184 C-r Emacs style reverse i-search.
1185
1186 n Find next search pattern.
1187
1188 N Find previous search pattern.
1189
1190
1191 There are however some keys that act differently than in vi. Vi does
1192 not allow one to yank rectangular blocks of text, but screen does.
1193 Press: c or C to set the left or right margin respectively. If no
1194 repeat count is given, both default to the current cursor position.
1195
1196 Example: Try this on a rather full text screen:
1197
1198 "C-a [ M 20 l SPACE c 10 l 5 j C SPACE".
1199
1200 This moves one to the middle line of the screen, moves in 20 columns
1201 left, marks the beginning of the paste buffer, sets the left column,
1202 moves 5 columns down, sets the right column, and then marks the end of
1203 the paste buffer. Now try:
1204
1205 "C-a [ M 20 l SPACE 10 l 5 j SPACE"
1206
1207 and notice the difference in the amount of text copied.
1208
1209 J joins lines. It toggles between 4 modes: lines separated by a newline
1210 character (012), lines glued seamless, lines separated by a single
1211 whitespace and comma separated lines. Note that you can prepend the
1212 newline character with a carriage return character, by issuing a "crlf
1213 on".
1214
1215 v or V is for all the vi users with ":set numbers" - it toggles the
1216 left margin between column 9 and 1. Press
1217
1218 a before the final space key to toggle in append mode. Thus the con‐
1219 tents of the paste buffer will not be overwritten, but is appended to.
1220
1221 A toggles in append mode and sets a (second) mark.
1222
1223 > sets the (second) mark and writes the contents of the paste buffer to
1224 the screen-exchange file (/tmp/screen-exchange per default) once copy-
1225 mode is finished.
1226
1227 This example demonstrates how to dump the whole scrollback buffer to
1228 that file: "C-A [ g SPACE G $ >".
1229
1230 C-g gives information about the current line and column.
1231
1232 x or o exchanges the first mark and the current cursor position. You
1233 can use this to adjust an already placed mark.
1234
1235 C-l ('el') will redraw the screen.
1236
1237 @ does nothing. Does not even exit copy mode.
1238
1239 All keys not described here exit copy mode.
1240
1241 copy_reg [key]
1242
1243 No longer exists, use "readreg" instead.
1244
1245 crlf [on|off]
1246
1247 This affects the copying of text regions with the `C-a [' command. If
1248 it is set to `on', lines will be separated by the two character
1249 sequence `CR' - `LF'. Otherwise (default) only `LF' is used. When no
1250 parameter is given, the state is toggled.
1251
1252 debug on|off
1253
1254 Turns runtime debugging on or off. If screen has been compiled with
1255 option -DDEBUG debugging available and is turned on per default. Note
1256 that this command only affects debugging output from the main "SCREEN"
1257 process correctly. Debug output from attacher processes can only be
1258 turned off once and forever.
1259
1260 defc1 on|off
1261
1262 Same as the c1 command except that the default setting for new windows
1263 is changed. Initial setting is `on'.
1264
1265 defautonuke on|off
1266
1267 Same as the autonuke command except that the default setting for new
1268 displays is changed. Initial setting is `off'. Note that you can use
1269 the special `AN' terminal capability if you want to have a dependency
1270 on the terminal type.
1271
1272 defbce on|off
1273
1274 Same as the bce command except that the default setting for new windows
1275 is changed. Initial setting is `off'.
1276
1277 defbreaktype [tcsendbreak|TIOCSBRK|TCSBRK]
1278
1279 Choose one of the available methods of generating a break signal for
1280 terminal devices. The preferred methods are tcsendbreak and TIOCSBRK.
1281 The third, TCSBRK, blocks the complete screen session for the duration
1282 of the break, but it may be the only way to generate long breaks.
1283 Tcsendbreak and TIOCSBRK may or may not produce long breaks with spikes
1284 (e.g. 4 per second). This is not only system-dependent, this also dif‐
1285 fers between serial board drivers. Calling "defbreaktype" with no
1286 parameter displays the current setting.
1287
1288 defcharset [set]
1289
1290 Like the charset command except that the default setting for new win‐
1291 dows is changed. Shows current default if called without argument.
1292
1293 defdynamictitle on|off
1294
1295 Set default behaviour for new windows regarding if screen should change
1296 window title when seeing proper escape sequence. See also "TITLES (nam‐
1297 ing windows)" section.
1298
1299 defescape xy
1300
1301 Set the default command characters. This is equivalent to the "escape"
1302 except that it is useful multiuser sessions only. In a multiuser ses‐
1303 sion "escape" changes the command character of the calling user, where
1304 "defescape" changes the default command characters for users that will
1305 be added later.
1306
1307 defflow on|off|auto [interrupt]
1308
1309 Same as the flow command except that the default setting for new win‐
1310 dows is changed. Initial setting is `auto'. Specifying "defflow auto
1311 interrupt" is the same as the command-line options -fa and -i.
1312
1313 defgr on|off
1314
1315 Same as the gr command except that the default setting for new windows
1316 is changed. Initial setting is `off'.
1317
1318 defhstatus [status]
1319
1320 The hardstatus line that all new windows will get is set to status.
1321 This command is useful to make the hardstatus of every window display
1322 the window number or title or the like. Status may contain the same
1323 directives as in the window messages, but the directive escape charac‐
1324 ter is '^E' (octal 005) instead of '%'. This was done to make a misin‐
1325 terpretation of program generated hardstatus lines impossible. If the
1326 parameter status is omitted, the current default string is displayed.
1327 Per default the hardstatus line of new windows is empty.
1328
1329 defencoding enc
1330
1331 Same as the encoding command except that the default setting for new
1332 windows is changed. Initial setting is the encoding taken from the ter‐
1333 minal.
1334
1335 deflog on|off
1336
1337 Same as the log command except that the default setting for new windows
1338 is changed. Initial setting is `off'.
1339
1340 deflogin on|off
1341
1342 Same as the login command except that the default setting for new win‐
1343 dows is changed. This is initialized with `on' as distributed (see con‐
1344 fig.h.in).
1345
1346 defmode mode
1347
1348 The mode of each newly allocated pseudo-tty is set to mode. Mode is an
1349 octal number. When no "defmode" command is given, mode 0622 is used.
1350
1351 defmonitor on|off
1352
1353 Same as the monitor command except that the default setting for new
1354 windows is changed. Initial setting is `off'.
1355
1356 defmousetrack on|off
1357
1358 Same as the mousetrack command except that the default setting for new
1359 windows is changed. Initial setting is `off'.
1360
1361 defnonblock on|off|numsecs
1362
1363 Same as the nonblock command except that the default setting for dis‐
1364 plays is changed. Initial setting is `off'.
1365
1366 defobuflimit limit
1367
1368 Same as the obuflimit command except that the default setting for new
1369 displays is changed. Initial setting is 256 bytes. Note that you can
1370 use the special 'OL' terminal capability if you want to have a depen‐
1371 dency on the terminal type.
1372
1373 defscrollback num
1374
1375 Same as the scrollback command except that the default setting for new
1376 windows is changed. Initial setting is 100.
1377
1378 defshell command
1379
1380 Synonym to the shell .screenrc command. See there.
1381
1382 defsilence on|off
1383
1384 Same as the silence command except that the default setting for new
1385 windows is changed. Initial setting is `off'.
1386
1387 defslowpaste msec
1388
1389 Same as the slowpaste command except that the default setting for new
1390 windows is changed. Initial setting is 0 milliseconds, meaning `off'.
1391
1392 defutf8 on|off
1393
1394 Same as the utf8 command except that the default setting for new win‐
1395 dows is changed. Initial setting is `on' if screen was started with
1396 "-U", otherwise `off'.
1397
1398 defwrap on|off
1399
1400 Same as the wrap command except that the default setting for new win‐
1401 dows is changed. Initially line-wrap is on and can be toggled with the
1402 "wrap" command ("C-a r") or by means of "C-a : wrap on|off".
1403
1404 defwritelock on|off|auto
1405
1406 Same as the writelock command except that the default setting for new
1407 windows is changed. Initially writelocks will off.
1408
1409 detach [-h]
1410
1411 Detach the screen session (disconnect it from the terminal and put it
1412 into the background). This returns you to the shell where you invoked
1413 screen. A detached screen can be resumed by invoking screen with the
1414 -r option (see also section "COMMAND-LINE OPTIONS"). The -h option
1415 tells screen to immediately close the connection to the terminal
1416 ("hangup").
1417
1418 dinfo
1419
1420 Show what screen thinks about your terminal. Useful if you want to know
1421 why features like color or the alternate charset don't work.
1422
1423 displays
1424
1425 Shows a tabular listing of all currently connected user front-ends
1426 (displays). This is most useful for multiuser sessions. The following
1427 keys can be used in displays list:
1428
1429 ───────────────────────────────────────────────────────
1430 k, C-p, or up Move up one line.
1431 ───────────────────────────────────────────────────────
1432 j, C-n, or down Move down one line.
1433 ───────────────────────────────────────────────────────
1434 C-a or home Move to the first line.
1435 ───────────────────────────────────────────────────────
1436 C-e or end Move to the last line.
1437 ───────────────────────────────────────────────────────
1438 C-u or C-d Move one half page up or down.
1439 ───────────────────────────────────────────────────────
1440 C-b or C-f Move one full page up or down.
1441 ───────────────────────────────────────────────────────
1442 mouseclick Move to the selected line.
1443 Available when "mousetrack" is
1444 set to on.
1445 ───────────────────────────────────────────────────────
1446 space Refresh the list
1447 ───────────────────────────────────────────────────────
1448 d Detach that display
1449 ───────────────────────────────────────────────────────
1450 D Power detach that display
1451 ───────────────────────────────────────────────────────
1452 C-g, enter, or escape Exit the list
1453 ───────────────────────────────────────────────────────
1454
1455 The following is an example of what "displays" could look like:
1456 xterm 80x42 jnweiger@/dev/ttyp4 0(m11) &rWx
1457 facit 80x24 mlschroe@/dev/ttyhf nb 11(tcsh) rwx
1458 xterm 80x42 jnhollma@/dev/ttyp5 0(m11) &R.x
1459 (A) (B) (C) (D) (E) (F)(G) (H)(I)
1460
1461 The legend is as follows:
1462
1463 (A) The terminal type known by screen for this display.
1464
1465 (B) Displays geometry as width x height.
1466
1467 (C) Username who is logged in at the display.
1468
1469 (D) Device name of the display or the attached device
1470
1471 (E) Display is in blocking or nonblocking mode. The available
1472 modes are "nb", "NB", "Z<", "Z>", and "BL".
1473
1474 (F) Number of the window
1475
1476 (G) Name/title of window
1477
1478 (H) Whether the window is shared
1479
1480 (I) Window permissions. Made up of three characters.
1481
1482 ┌────────────────────────────────────────────────────────┐
1483 │ Window permissions indicators │
1484 ├─────────────────┬──────────────────┬───────────────────┤
1485 │ 1st character │ 2nd character │ 3rd character │
1486 ├────┬────────────┼─────┬────────────┼─────┬─────────────┤
1487 │- │no read │ - │no write │ - │no execute │
1488 ├────┼────────────┼─────┼────────────┼─────┼─────────────┤
1489 │r │read │ w │write │ x │execute │
1490 ├────┼────────────┼─────┼────────────┼─────┼─────────────┤
1491 │ │ │ W │own wlock │ │ │
1492 ├────┴────────────┴─────┴────────────┴─────┴─────────────┤
1493 │Indicators of permissions suppressed by a foreign wlock │
1494 ├────┬────────────┬─────┬────────────┬─────┬─────────────┤
1495 │R │read only │ . │no write │ │ │
1496 └────┴────────────┴─────┴────────────┴─────┴─────────────┘
1497 "displays" needs a region size of at least 10 characters wide
1498 and 5 characters high in order to display.
1499
1500 digraph [preset[unicode-value]]
1501
1502 This command prompts the user for a digraph sequence. The next two
1503 characters typed are looked up in a builtin table and the resulting
1504 character is inserted in the input stream. For example, if the user
1505 enters 'a"', an a-umlaut will be inserted. If the first character
1506 entered is a 0 (zero), screen will treat the following characters (up
1507 to three) as an octal number instead. The optional argument preset is
1508 treated as user input, thus one can create an "umlaut" key. For exam‐
1509 ple the command "bindkey ^K digraph '"'" enables the user to generate
1510 an a-umlaut by typing CTRL-K a. When a non-zero unicode-value is spec‐
1511 ified, a new digraph is created with the specified preset. The digraph
1512 is unset if a zero value is provided for the unicode-value.
1513
1514 dumptermcap
1515
1516 Write the termcap entry for the virtual terminal optimized for the cur‐
1517 rently active window to the file ".termcap" in the user's
1518 "$HOME/.screen" directory (or wherever screen stores its sockets. See
1519 the "FILES" section below). This termcap entry is identical to the
1520 value of the environment variable $TERMCAP that is set up by screen for
1521 each window. For terminfo based systems you will need to run a con‐
1522 verter like captoinfo and then compile the entry with tic.
1523
1524 dynamictitle on|off
1525
1526 Change behaviour for windows regarding if screen should change window
1527 title when seeing proper escape sequence. See also "TITLES (naming win‐
1528 dows)" section.
1529
1530 echo [-n] message
1531
1532 The echo command may be used to annoy screen users with a 'message of
1533 the day'. Typically installed in a global /etc/screenrc. The option
1534 "-n" may be used to suppress the line feed. See also "sleep". Echo is
1535 also useful for online checking of environment variables.
1536
1537 encoding enc [enc]
1538
1539 Tell screen how to interpret the input/output. The first argument sets
1540 the encoding of the current window. Each window can emulate a different
1541 encoding. The optional second parameter overwrites the encoding of the
1542 connected terminal. It should never be needed as screen uses the locale
1543 setting to detect the encoding. There is also a way to select a termi‐
1544 nal encoding depending on the terminal type by using the "KJ" termcap
1545 entry.
1546
1547 Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5, GBK, KOI8-R,
1548 KOI8-U, CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5,
1549 ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15,
1550 jis.
1551
1552 See also "defencoding", which changes the default setting of a new win‐
1553 dow.
1554
1555 escape xy
1556
1557 Set the command character to x and the character generating a literal
1558 command character (by triggering the "meta" command) to y (similar to
1559 the -e option). Each argument is either a single character, a two-
1560 character sequence of the form "^x" (meaning "C-x"), a backslash fol‐
1561 lowed by an octal number (specifying the ASCII code of the character),
1562 or a backslash followed by a second character, such as "\^" or "\\".
1563 The default is "^Aa".
1564
1565 eval command1[command2 ...]
1566
1567 Parses and executes each argument as separate command.
1568
1569 exec [[fdpat]newcommand [args ...]]
1570
1571 Run a unix subprocess (specified by an executable path newcommand and
1572 its optional arguments) in the current window. The flow of data between
1573 newcommands stdin/stdout/stderr, the process originally started in the
1574 window (let us call it "application-process") and screen itself (win‐
1575 dow) is controlled by the file descriptor pattern fdpat. This pattern
1576 is basically a three character sequence representing stdin, stdout and
1577 stderr of newcommand. A dot (.) connects the file descriptor to screen.
1578 An exclamation mark (!) causes the file descriptor to be connected to
1579 the application-process. A colon (:) combines both. User input will go
1580 to newcommand unless newcommand receives the application-process' out‐
1581 put (fdpats first character is `!' or `:') or a pipe symbol (|) is
1582 added (as a fourth character) to the end of fdpat.
1583
1584 Invoking `exec' without arguments shows name and arguments of the cur‐
1585 rently running subprocess in this window. Only one subprocess a time
1586 can be running in each window.
1587
1588 When a subprocess is running the `kill' command will affect it instead
1589 of the windows process.
1590
1591 Refer to the postscript file `doc/fdpat.ps' for a confusing illustra‐
1592 tion of all 21 possible combinations. Each drawing shows the digits
1593 2,1,0 representing the three file descriptors of newcommand. The box
1594 marked `W' is the usual pty that has the application-process on its
1595 slave side. The box marked `P' is the secondary pty that now has
1596 screen at its master side.
1597
1598 Abbreviations: Whitespace between the word `exec' and fdpat and the
1599 command can be omitted. Trailing dots and a fdpat consisting only of
1600 dots can be omitted. A simple `|' is synonymous for the pattern `!..|';
1601 the word exec can be omitted here and can always be replaced by `!'.
1602
1603 Examples:
1604
1605 exec ... /bin/sh
1606
1607 exec /bin/sh
1608
1609 !/bin/sh
1610
1611 Creates another shell in the same window, while the orig‐
1612 inal shell is still running. Output of both shells is
1613 displayed and user input is sent to the new /bin/sh.
1614
1615 exec !.. stty 19200
1616
1617 exec ! stty 19200
1618
1619 !!stty 19200
1620
1621 Set the speed of the window's tty. If your stty command
1622 operates on stdout, then add another `!'.
1623
1624 exec !..| less
1625
1626 |less
1627
1628 This adds a pager to the window output. The special char‐
1629 acter `|' is needed to give the user control over the
1630 pager although it gets its input from the window's
1631 process. This works, because less listens on stderr (a
1632 behavior that screen would not expect without the `|')
1633 when its stdin is not a tty. Less versions newer than
1634 177 fail miserably here; good old pg still works.
1635
1636 !:sed -n s/.*Error.*/\007/p
1637
1638 Sends window output to both, the user and the sed com‐
1639 mand. The sed inserts an additional bell character (oct.
1640 007) to the window output seen by screen. This will
1641 cause "Bell in window x" messages, whenever the string
1642 "Error" appears in the window.
1643
1644 fit
1645
1646 Change the window size to the size of the current region. This command
1647 is needed because screen doesn't adapt the window size automatically if
1648 the window is displayed more than once.
1649
1650 flow [on|off|auto]
1651
1652 Sets the flow-control mode for this window. Without parameters it
1653 cycles the current window's flow-control setting from "automatic" to
1654 "on" to "off". See the discussion on "FLOW-CONTROL" later on in this
1655 document for full details and note, that this is subject to change in
1656 future releases. Default is set by `defflow'.
1657
1658 focus [next|prev|up|down|left|right|top|bottom]
1659
1660 Move the input focus to the next region. This is done in a cyclic way
1661 so that the top left region is selected after the bottom right one. If
1662 no option is given it defaults to `next'. The next region to be
1663 selected is determined by how the regions are layered. Normally, the
1664 next region in the same layer would be selected. However, if that next
1665 region contains one or more layers, the first region in the highest
1666 layer is selected first. If you are at the last region of the current
1667 layer, `next' will move the focus to the next region in the lower layer
1668 (if there is a lower layer). `Prev' cycles in the opposite order. See
1669 "split" for more information about layers.
1670
1671 The rest of the options (`up', `down', `left', `right', `top', and
1672 `bottom') are more indifferent to layers. The option `up' will move the
1673 focus upward to the region that is touching the upper left corner of
1674 the current region. `Down' will move downward to the region that is
1675 touching the lower left corner of the current region. The option `left'
1676 will move the focus leftward to the region that is touching the upper
1677 left corner of the current region, while `right' will move rightward to
1678 the region that is touching the upper right corner of the current
1679 region. Moving left from a left most region or moving right from a
1680 right most region will result in no action.
1681
1682 The option `top' will move the focus to the very first region in the
1683 upper list corner of the screen, and `bottom' will move to the region
1684 in the bottom right corner of the screen. Moving up from a top most
1685 region or moving down from a bottom most region will result in no
1686 action.
1687
1688 Useful bindings are (h, j, k, and l as in vi)
1689 bind h focus left
1690 bind j focus down
1691 bind k focus up
1692 bind l focus right
1693 bind t focus top
1694 bind b focus bottom
1695 Note that k is traditionally bound to the kill command.
1696
1697 focusminsize [ ( width|max|_ ) ( height|max|_ ) ]
1698
1699 This forces any currently selected region to be automatically resized
1700 at least a certain width and height. All other surrounding regions will
1701 be resized in order to accommodate. This constraint follows everytime
1702 the "focus" command is used. The "resize" command can be used to
1703 increase either dimension of a region, but never below what is set with
1704 "focusminsize". The underscore `_' is a synonym for max. Setting a
1705 width and height of `0 0' (zero zero) will undo any constraints and
1706 allow for manual resizing. Without any parameters, the minimum width
1707 and height is shown.
1708
1709 gr [on|off]
1710
1711 Turn GR charset switching on/off. Whenever screen sees an input charac‐
1712 ter with the 8th bit set, it will use the charset stored in the GR slot
1713 and print the character with the 8th bit stripped. The default (see
1714 also "defgr") is not to process GR switching because otherwise the
1715 ISO88591 charset would not work.
1716
1717 group [grouptitle]
1718
1719 Change or show the group the current window belongs to. Windows can be
1720 moved around between different groups by specifying the name of the
1721 destination group. Without specifying a group, the title of the current
1722 group is displayed.
1723
1724 hardcopy [-h] [file]
1725
1726 Writes out the currently displayed image to the file file, or, if no
1727 filename is specified, to hardcopy.n in the default directory, where n
1728 is the number of the current window. This either appends or overwrites
1729 the file if it exists. See below. If the option -h is specified, dump
1730 also the contents of the scrollback buffer.
1731
1732 hardcopy_append on|off
1733
1734 If set to "on", screen will append to the "hardcopy.n" files created by
1735 the command "C-a h", otherwise these files are overwritten each time.
1736 Default is `off'.
1737
1738 hardcopydir directory
1739
1740 Defines a directory where hardcopy files will be placed. If unset,
1741 hardcopys are dumped in screen's current working directory.
1742
1743 hardstatus [on|off]
1744
1745 hardstatus [always]firstline|lastline|message|ignore[string]
1746
1747 hardstatus string[string]
1748
1749 This command configures the use and emulation of the terminal's hard‐
1750 status line. The first form toggles whether screen will use the hard‐
1751 ware status line to display messages. If the flag is set to `off',
1752 these messages are overlaid in reverse video mode at the display line.
1753 The default setting is `on'.
1754
1755 The second form tells screen what to do if the terminal doesn't have a
1756 hardstatus line (i.e. the termcap/terminfo capabilities "hs", "ts",
1757 "fs" and "ds" are not set). When "firstline/lastline" is used, screen
1758 will reserve the first/last line of the display for the hardstatus.
1759 "message" uses screen's message mechanism and "ignore" tells screen
1760 never to display the hardstatus. If you prepend the word "always" to
1761 the type (e.g., "alwayslastline"), screen will use the type even if the
1762 terminal supports a hardstatus.
1763
1764 The third form specifies the contents of the hardstatus line. '%h' is
1765 used as default string, i.e., the stored hardstatus of the current win‐
1766 dow (settable via "ESC]0;<string>^G" or "ESC_<string>ESC\") is dis‐
1767 played. You can customize this to any string you like including the
1768 escapes from the "STRING ESCAPES" chapter. If you leave out the argu‐
1769 ment string, the current string is displayed.
1770
1771 You can mix the second and third form by providing the string as addi‐
1772 tional argument.
1773
1774 height [-w|-d] [lines [cols]]
1775
1776 Set the display height to a specified number of lines. When no argument
1777 is given it toggles between 24 and 42 lines display. You can also spec‐
1778 ify a width if you want to change both values. The -w option tells
1779 screen to leave the display size unchanged and just set the window
1780 size, -d vice versa.
1781
1782 help[class]
1783
1784 Not really a online help, but displays a help screen showing you all
1785 the key bindings. The first pages list all the internal commands fol‐
1786 lowed by their current bindings. Subsequent pages will display the
1787 custom commands, one command per key. Press space when you're done
1788 reading each page, or return to exit early. All other characters are
1789 ignored. If the "-c" option is given, display all bound commands for
1790 the specified command class. See also "DEFAULT KEY BINDINGS" section.
1791
1792 history
1793
1794 Usually users work with a shell that allows easy access to previous
1795 commands. For example csh has the command "!!" to repeat the last com‐
1796 mand executed. Screen allows you to have a primitive way of re-calling
1797 "the command that started ...": You just type the first letter of that
1798 command, then hit `C-a {' and screen tries to find a previous line that
1799 matches with the `prompt character' to the left of the cursor. This
1800 line is pasted into this window's input queue. Thus you have a crude
1801 command history (made up by the visible window and its scrollback buf‐
1802 fer).
1803
1804 hstatus status
1805
1806 Change the window's hardstatus line to the string status.
1807
1808 idle [timeout[cmd-args]]
1809
1810 Sets a command that is run after the specified number of seconds inac‐
1811 tivity is reached. This command will normally be the "blanker" command
1812 to create a screen blanker, but it can be any screen command. If no
1813 command is specified, only the timeout is set. A timeout of zero (or
1814 the special timeout off) disables the timer. If no arguments are
1815 given, the current settings are displayed.
1816
1817 ignorecase [on|off]
1818
1819 Tell screen to ignore the case of characters in searches. Default is
1820 `off'. Without any options, the state of ignorecase is toggled.
1821
1822 info
1823
1824 Uses the message line to display some information about the current
1825 window: the cursor position in the form "(column,row)" starting with
1826 "(1,1)", the terminal width and height plus the size of the scrollback
1827 buffer in lines, like in "(80,24)+50", the current state of window
1828 XON/XOFF flow control is shown like this (See also section FLOW CON‐
1829 TROL):
1830
1831 ┌─────────┬──────────────────────────────────────────────────────────┐
1832 │+flow │ automatic flow control, currently on. │
1833 ├─────────┼──────────────────────────────────────────────────────────┤
1834 │-flow │ automatic flow control, currently off. │
1835 ├─────────┼──────────────────────────────────────────────────────────┤
1836 │+(+)flow │ flow control enabled. Agrees with automatic control. │
1837 ├─────────┼──────────────────────────────────────────────────────────┤
1838 │-(+)flow │ flow control disabled. Disagrees with automatic control. │
1839 ├─────────┼──────────────────────────────────────────────────────────┤
1840 │+(-)flow │ flow control enabled. Disagrees with automatic control. │
1841 ├─────────┼──────────────────────────────────────────────────────────┤
1842 │-(-)flow │ flow control disabled. Agrees with automatic control. │
1843 └─────────┴──────────────────────────────────────────────────────────┘
1844 The current line wrap setting (`+wrap' indicates enabled, `-wrap' not)
1845 is also shown. The flags `ins', `org', `app', `log', `mon' or `nored'
1846 are displayed when the window is in insert mode, origin mode, applica‐
1847 tion-keypad mode, has output logging, activity monitoring or partial
1848 redraw enabled.
1849
1850 The currently active character set (G0, G1, G2, or G3) and in square
1851 brackets the terminal character sets that are currently designated as
1852 G0 through G3 is shown. If the window is in UTF-8 mode, the string
1853 "UTF-8" is shown instead.
1854
1855 Additional modes depending on the type of the window are displayed at
1856 the end of the status line (See also chapter "WINDOW TYPES").
1857
1858 If the state machine of the terminal emulator is in a non-default
1859 state, the info line is started with a string identifying the current
1860 state.
1861
1862 For system information use the "time" command.
1863
1864 ins_reg [key]
1865
1866 No longer exists, use "paste" instead.
1867
1868 kill
1869
1870 Kill current window.
1871
1872 If there is an `exec' command running then it is killed. Otherwise the
1873 process (shell) running in the window receives a HANGUP condition, the
1874 window structure is removed and screen (your display) switches to
1875 another window. When the last window is destroyed, screen exits.
1876 After a kill screen switches to the previously displayed window.
1877
1878 Note: Emacs users should keep this command in mind, when killing a
1879 line. It is recommended not to use "C-a" as the screen escape key or
1880 to rebind kill to "C-a K".
1881
1882 lastmsg
1883
1884 Redisplay the last contents of the message/status line. Useful if
1885 you're typing when a message appears, because the message goes away
1886 when you press a key (unless your terminal has a hardware status line).
1887 Refer to the commands "msgwait" and "msgminwait" for fine tuning.
1888
1889 layout new [title]
1890
1891 Create a new layout. The screen will change to one whole region and be
1892 switched to the blank window. From here, you build the regions and the
1893 windows they show as you desire. The new layout will be numbered with
1894 the smallest available integer, starting with zero. You can optionally
1895 give a title to your new layout. Otherwise, it will have a default
1896 title of "layout". You can always change the title later by using the
1897 command layout title.
1898
1899 layout remove [n|title]
1900
1901 Remove, or in other words, delete the specified layout. Either the num‐
1902 ber or the title can be specified. Without either specification, screen
1903 will remove the current layout.
1904
1905 Removing a layout does not affect your set windows or regions.
1906
1907 layout next
1908
1909 Switch to the next layout available
1910
1911 layout prev
1912
1913 Switch to the previous layout available
1914
1915 layout select [n|title]
1916
1917 Select the desired layout. Either the number or the title can be speci‐
1918 fied. Without either specification, screen will prompt and ask which
1919 screen is desired. To see which layouts are available, use the layout
1920 show command.
1921
1922 layout show
1923
1924 List on the message line the number(s) and title(s) of the available
1925 layout(s). The current layout is flagged.
1926
1927 layout title [title]
1928
1929 Change or display the title of the current layout. A string given will
1930 be used to name the layout. Without any options, the current title and
1931 number is displayed on the message line.
1932
1933 layout number [n]
1934
1935 Change or display the number of the current layout. An integer given
1936 will be used to number the layout. Without any options, the current
1937 number and title is displayed on the message line.
1938
1939 layout attach [title|:last]
1940
1941 Change or display which layout to reattach back to. The default is
1942 :last, which tells screen to reattach back to the last used layout just
1943 before detachment. By supplying a title, You can instruct screen to
1944 reattach to a particular layout regardless which one was used at the
1945 time of detachment. Without any options, the layout to reattach to will
1946 be shown in the message line.
1947
1948 layout save [n|title]
1949
1950 Remember the current arrangement of regions. When used, screen will
1951 remember the arrangement of vertically and horizontally split regions.
1952 This arrangement is restored when a screen session is reattached or
1953 switched back from a different layout. If the session ends or the
1954 screen process dies, the layout arrangements are lost. The layout dump
1955 command should help in this siutation. If a number or title is sup‐
1956 plied, screen will remember the arrangement of that particular layout.
1957 Without any options, screen will remember the current layout.
1958
1959 Saving your regions can be done automatically by using the layout
1960 autosave command.
1961
1962 layout autosave [on|off]
1963
1964 Change or display the status of automatcally saving layouts. The
1965 default is on, meaning when screen is detached or changed to a differ‐
1966 ent layout, the arrangement of regions and windows will be remembered
1967 at the time of change and restored upon return. If autosave is set to
1968 off, that arrangement will only be restored to either to the last man‐
1969 ual save, using layout save, or to when the layout was first created,
1970 to a single region with a single window. Without either an on or off,
1971 the current status is displayed on the message line.
1972
1973 layout dump [filename]
1974
1975 Write to a file the order of splits made in the current layout. This is
1976 useful to recreate the order of your regions used in your current lay‐
1977 out. Only the current layout is recorded. While the order of the
1978 regions are recorded, the sizes of those regions and which windows cor‐
1979 respond to which regions are not. If no filename is specified, the
1980 default is layout-dump, saved in the directory that the screen process
1981 was started in. If the file already exists, layout dump will append to
1982 that file. As an example:
1983
1984 C-a : layout dump /home/user/.screenrc
1985
1986 will save or append the layout to the user's .screenrc file.
1987
1988 license
1989
1990 Display the disclaimer page. This is done whenever screen is started
1991 without options, which should be often enough. See also the
1992 "startup_message" command.
1993
1994 lockscreen
1995
1996 Lock this display. Call a screenlock program (/local/bin/lck or
1997 /usr/bin/lock or a builtin if no other is available). Screen does not
1998 accept any command keys until this program terminates. Meanwhile pro‐
1999 cesses in the windows may continue, as the windows are in the
2000 `detached' state. The screenlock program may be changed through the
2001 environment variable $LOCKPRG (which must be set in the shell from
2002 which screen is started) and is executed with the user's uid and gid.
2003
2004 Warning: When you leave other shells unlocked and you have no password
2005 set on screen, the lock is void: One could easily re-attach from an
2006 unlocked shell. This feature should rather be called `lockterminal'.
2007
2008 log [on|off]
2009
2010 Start/stop writing output of the current window to a file "screenlog.n"
2011 in the window's default directory, where n is the number of the current
2012 window. This filename can be changed with the `logfile' command. If no
2013 parameter is given, the state of logging is toggled. The session log is
2014 appended to the previous contents of the file if it already exists. The
2015 current contents and the contents of the scrollback history are not
2016 included in the session log. Default is `off'.
2017
2018 logfile filename
2019
2020 logfile flush secs
2021
2022 Defines the name the log files will get. The default is "screenlog.%n".
2023 The second form changes the number of seconds screen will wait before
2024 flushing the logfile buffer to the file-system. The default value is 10
2025 seconds.
2026
2027 login [on|off]
2028
2029 Adds or removes the entry in the utmp database file for the current
2030 window. This controls if the window is `logged in'. When no parameter
2031 is given, the login state of the window is toggled. Additionally to
2032 that toggle, it is convenient having a `log in' and a `log out' key.
2033 E.g. `bind I login on' and `bind O login off' will map these keys to be
2034 C-a I and C-a O. The default setting (in config.h.in) should be "on"
2035 for a screen that runs under suid-root. Use the "deflogin" command to
2036 change the default login state for new windows. Both commands are only
2037 present when screen has been compiled with utmp support.
2038
2039 logtstamp [on|off]
2040
2041 logtstamp after [secs]
2042
2043 logtstamp string
2044 [string]
2045
2046 This command controls logfile time-stamp mechanism of screen. If time-
2047 stamps are turned "on", screen adds a string containing the current
2048 time to the logfile after two minutes of inactivity. When output con‐
2049 tinues and more than another two minutes have passed, a second time-
2050 stamp is added to document the restart of the output. You can change
2051 this timeout with the second form of the command. The third form is
2052 used for customizing the time-stamp string (`-- %n:%t -- time-stamp --
2053 %M/%d/%y %c:%s --\n' by default).
2054
2055 mapdefault
2056
2057 Tell screen that the next input character should only be looked up in
2058 the default bindkey table. See also "bindkey".
2059
2060 mapnotnext
2061
2062 Like mapdefault, but don't even look in the default bindkey table.
2063
2064 maptimeout [timeout]
2065
2066 Set the inter-character timer for input sequence detection to a timeout
2067 of timeout ms. The default timeout is 300ms. Maptimeout with no argu‐
2068 ments shows the current setting. See also "bindkey".
2069
2070 markkeys string
2071
2072 This is a method of changing the keymap used for copy/history mode.
2073 The string is made up of oldchar=newchar pairs which are separated by
2074 `:'. Example: The string "B=^B:F=^F" will change the keys `C-b' and `C-
2075 f' to the vi style binding (scroll up/down fill page). This happens to
2076 be the default binding for `B' and `F'. The command "markkeys
2077 h=^B:l=^F:$=^E" would set the mode for an emacs-style binding. If your
2078 terminal sends characters, that cause you to abort copy mode, then this
2079 command may help by binding these characters to do nothing. The no-op
2080 character is `@' and is used like this: "markkeys @=L=H" if you do not
2081 want to use the `H' or `L' commands any longer. As shown in this exam‐
2082 ple, multiple keys can be assigned to one function in a single state‐
2083 ment.
2084
2085 maxwin num
2086
2087 Set the maximum window number screen will create. Doesn't affect
2088 already existing windows. The number can be increased only when there
2089 are no existing windows.
2090
2091 meta
2092
2093 Insert the command character (C-a) in the current window's input
2094 stream.
2095
2096 monitor [on|off]
2097
2098 Toggles activity monitoring of windows. When monitoring is turned on
2099 and an affected window is switched into the background, you will
2100 receive the activity notification message in the status line at the
2101 first sign of output and the window will also be marked with an `@' in
2102 the window-status display. Monitoring is initially off for all win‐
2103 dows.
2104
2105 mousetrack [on|off]
2106
2107 This command determines whether screen will watch for mouse clicks.
2108 When this command is enabled, regions that have been split in various
2109 ways can be selected by pointing to them with a mouse and left-clicking
2110 them. Without specifying on or off, the current state is displayed. The
2111 default state is determined by the "defmousetrack" command.
2112
2113 msgminwait sec
2114
2115 Defines the time screen delays a new message when one message is cur‐
2116 rently displayed. The default is 1 second.
2117
2118 msgwait sec
2119
2120 Defines the time a message is displayed if screen is not disturbed by
2121 other activity. The default is 5 seconds.
2122
2123 multiuser on|off
2124
2125 Switch between singleuser and multiuser mode. Standard screen operation
2126 is singleuser. In multiuser mode the commands `acladd', `aclchg',
2127 `aclgrp' and `acldel' can be used to enable (and disable) other users
2128 accessing this screen session.
2129
2130 nethack on|off
2131
2132 Changes the kind of error messages used by screen. When you are famil‐
2133 iar with the game "nethack", you may enjoy the nethack-style messages
2134 which will often blur the facts a little, but are much funnier to read.
2135 Anyway, standard messages often tend to be unclear as well.
2136 This option is only available if screen was compiled with the NETHACK
2137 flag defined. The default setting is then determined by the presence of
2138 the environment variable $NETHACKOPTIONS and the file ~/.nethackrc - if
2139 either one is present, the default is on.
2140
2141 next
2142
2143 Switch to the next window. This command can be used repeatedly to
2144 cycle through the list of windows.
2145
2146 nonblock [on|off|numsecs]
2147
2148 Tell screen how to deal with user interfaces (displays) that cease to
2149 accept output. This can happen if a user presses ^S or a TCP/modem con‐
2150 nection gets cut but no hangup is received. If nonblock is off (this is
2151 the default) screen waits until the display restarts to accept the out‐
2152 put. If nonblock is on, screen waits until the timeout is reached (on
2153 is treated as 1s). If the display still doesn't receive characters,
2154 screen will consider it "blocked" and stop sending characters to it. If
2155 at some time it restarts to accept characters, screen will unblock the
2156 display and redisplay the updated window contents.
2157
2158 number [[+|-]n]
2159
2160 Change the current window's number. If the given number n is already
2161 used by another window, both windows exchange their numbers. If no
2162 argument is specified, the current window number (and title) is shown.
2163 Using `+' or `-' will change the window's number by the relative amount
2164 specified.
2165
2166 obuflimit [limit]
2167
2168 If the output buffer contains more bytes than the specified limit, no
2169 more data will be read from the windows. The default value is 256. If
2170 you have a fast display (like xterm), you can set it to some higher
2171 value. If no argument is specified, the current setting is displayed.
2172
2173 only
2174
2175 Kill all regions but the current one.
2176
2177 other
2178
2179 Switch to the window displayed previously. If this window does no
2180 longer exist, other has the same effect as next.
2181
2182 partial on|off
2183
2184 Defines whether the display should be refreshed (as with redisplay)
2185 after switching to the current window. This command only affects the
2186 current window. To immediately affect all windows use the allpartial
2187 command. Default is `off', of course. This default is fixed, as there
2188 is currently no defpartial command.
2189
2190 password [crypted_pw]
2191
2192 Present a crypted password in your ".screenrc" file and screen will ask
2193 for it, whenever someone attempts to resume a detached. This is useful
2194 if you have privileged programs running under screen and you want to
2195 protect your session from reattach attempts by another user masquerad‐
2196 ing as your uid (i.e. any superuser.) If no crypted password is speci‐
2197 fied, screen prompts twice for typing a password and places its encryp‐
2198 tion in the paste buffer. Default is `none', this disables password
2199 checking.
2200
2201 paste [registers [dest_reg]]
2202
2203 Write the (concatenated) contents of the specified registers to the
2204 stdin queue of the current window. The register '.' is treated as the
2205 paste buffer. If no parameter is given the user is prompted for a sin‐
2206 gle register to paste. The paste buffer can be filled with the copy,
2207 history and readbuf commands. Other registers can be filled with the
2208 register, readreg and paste commands. If paste is called with a second
2209 argument, the contents of the specified registers is pasted into the
2210 named destination register rather than the window. If '.' is used as
2211 the second argument, the displays paste buffer is the destination.
2212 Note, that "paste" uses a wide variety of resources: Whenever a second
2213 argument is specified no current window is needed. When the source
2214 specification only contains registers (not the paste buffer) then there
2215 need not be a current display (terminal attached), as the registers are
2216 a global resource. The paste buffer exists once for every user.
2217
2218 pastefont [on|off]
2219
2220 Tell screen to include font information in the paste buffer. The
2221 default is not to do so. This command is especially useful for multi
2222 character fonts like kanji.
2223
2224 pow_break
2225
2226 Reopen the window's terminal line and send a break condition. See
2227 `break'.
2228
2229 pow_detach
2230
2231 Power detach. Mainly the same as detach, but also sends a HANGUP sig‐
2232 nal to the parent process of screen. CAUTION: This will result in a
2233 logout, when screen was started from your login-shell.
2234
2235 pow_detach_msg [message]
2236
2237 The message specified here is output whenever a `Power detach' was per‐
2238 formed. It may be used as a replacement for a logout message or to
2239 reset baud rate, etc. Without parameter, the current message is shown.
2240
2241 prev
2242
2243 Switch to the window with the next lower number. This command can be
2244 used repeatedly to cycle through the list of windows.
2245
2246 printcmd [cmd]
2247
2248 If cmd is not an empty string, screen will not use the terminal capa‐
2249 bilities "po/pf" if it detects an ansi print sequence ESC [ 5 i, but
2250 pipe the output into cmd. This should normally be a command like "lpr"
2251 or "'cat > /tmp/scrprint'". printcmd without a command displays the
2252 current setting. The ansi sequence ESC \ ends printing and closes the
2253 pipe.
2254
2255 Warning: Be careful with this command! If other user have write access
2256 to your terminal, they will be able to fire off print commands.
2257
2258 process [key]
2259
2260 Stuff the contents of the specified register into screen's input queue.
2261 If no argument is given you are prompted for a register name. The text
2262 is parsed as if it had been typed in from the user's keyboard. This
2263 command can be used to bind multiple actions to a single key.
2264
2265 quit
2266
2267 Kill all windows and terminate screen. Note that on VT100-style termi‐
2268 nals the keys C-4 and C-\ are identical. This makes the default bind‐
2269 ings dangerous: Be careful not to type C-a C-4 when selecting window
2270 no. 4. Use the empty bind command (as in "bind '^\'") to remove a key
2271 binding.
2272
2273 readbuf [encoding] [filename]
2274
2275 Reads the contents of the specified file into the paste buffer. You
2276 can tell screen the encoding of the file via the -e option. If no file
2277 is specified, the screen-exchange filename is used. See also "buffer‐
2278 file" command.
2279
2280 readreg [encoding] [register [filename]]
2281
2282 Does one of two things, dependent on number of arguments: with zero or
2283 one arguments it duplicates the paste buffer contents into the register
2284 specified or entered at the prompt. With two arguments it reads the
2285 contents of the named file into the register, just as readbuf reads the
2286 screen-exchange file into the paste buffer. You can tell screen the
2287 encoding of the file via the -e option. The following example will
2288 paste the system's password file into the screen window (using register
2289 p, where a copy remains):
2290
2291 C-a : readreg p /etc/passwd
2292 C-a : paste p
2293
2294 redisplay
2295
2296 Redisplay the current window. Needed to get a full redisplay when in
2297 partial redraw mode.
2298
2299 register [-eencoding]key-string
2300
2301 Save the specified string to the register key. The encoding of the
2302 string can be specified via the -e option. See also the "paste" com‐
2303 mand.
2304
2305 remove
2306
2307 Kill the current region. This is a no-op if there is only one region.
2308
2309 removebuf
2310
2311 Unlinks the screen-exchange file used by the commands "writebuf" and
2312 "readbuf".
2313
2314 rendition bell | monitor | silence | so attr [ color ]
2315
2316 Change the way screen renders the titles of windows that have monitor
2317 or bell flags set in caption or hardstatus or windowlist. See the
2318 "STRING ESCAPES" chapter for the syntax of the modifiers. The default
2319 for monitor is currently "=b " (bold, active colors), for bell "=ub "
2320 (underline, bold and active colors), and "=u " for silence.
2321
2322 reset
2323
2324 Reset the virtual terminal to its "power-on" values. Useful when
2325 strange settings (like scroll regions or graphics character set) are
2326 left over from an application.
2327
2328 resize [-h|-v|-b|-l|-p] [[+|-] n[%] |=|max|min|_|0]
2329
2330 Resize the current region. The space will be removed from or added to
2331 the surrounding regions depending on the order of the splits. The
2332 available options for resizing are `-h'(horizontal), `-v'(vertical),
2333 `-b'(both), `-l'(local to layer), and `-p'(perpendicular). Horizontal
2334 resizes will add or remove width to a region, vertical will add or
2335 remove height, and both will add or remove size from both dimensions.
2336 Local and perpendicular are similar to horizontal and vertical, but
2337 they take in account of how a region was split. If a region's last
2338 split was horizontal, a local resize will work like a vertical resize.
2339 If a region's last split was vertical, a local resize will work like a
2340 horizontal resize. Perpendicular resizes work in opposite of local
2341 resizes. If no option is specified, local is the default.
2342
2343 The amount of lines to add or remove can be expressed a couple of dif‐
2344 ferent ways. By specifying a number n by itself will resize the region
2345 by that absolute amount. You can specify a relative amount by prefixing
2346 a plus `+' or minus `-' to the amount, such as adding +n lines or
2347 removing -n lines. Resizing can also be expressed as an absolute or
2348 relative percentage by postfixing a percent sign `%'. Using zero `0' is
2349 a synonym for `min' and using an underscore `_' is a synonym for `max'.
2350
2351 Some examples are:
2352
2353 resize +N
2354 increase current region by N
2355
2356 resize -N
2357 decrease current region by N
2358
2359 resize N
2360 set current region to N
2361
2362 resize 20%
2363 set current region to 20% of original size
2364
2365 resize +20%
2366 increase current region by 20%
2367
2368 resize -b =
2369 make all windows equally
2370
2371 resize max
2372 maximize current region
2373
2374 resize min
2375 minimize current region
2376
2377 Without any arguments, screen will prompt for how you would like to
2378 resize the current region.
2379
2380 See "focusminsize" if you want to restrict the minimun size a region
2381 can have.
2382
2383 screen [-opts] [n] [cmd [args]|//group]
2384
2385 Establish a new window. The flow-control options (-f, -fn and -fa),
2386 title (a.k.a.) option (-t), login options (-l and -ln) , terminal type
2387 option (-T <term>), the all-capability-flag (-a) and scrollback option
2388 (-h <num>) may be specified with each command. The option (-M) turns
2389 monitoring on for this window. The option (-L) turns output logging on
2390 for this window. If an optional number n in the range 0..MAXWIN-1 is
2391 given, the window number n is assigned to the newly created window (or,
2392 if this number is already in-use, the next available number). If a
2393 command is specified after "screen", this command (with the given argu‐
2394 ments) is started in the window; otherwise, a shell is created. If
2395 //group is supplied, a container-type window is created in which other
2396 windows may be created inside it.
2397
2398 Thus, if your ".screenrc" contains the lines
2399
2400 # example for .screenrc:
2401 screen 1
2402 screen -fn -t foobar -L 2 telnet foobar
2403
2404 screen creates a shell window (in window #1) and a window with a TELNET
2405 connection to the machine foobar (with no flow-control using the title
2406 "foobar" in window #2) and will write a logfile ("screenlog.2") of the
2407 telnet session. Note, that unlike previous versions of screen no addi‐
2408 tional default window is created when "screen" commands are included in
2409 your ".screenrc" file. When the initialization is completed, screen
2410 switches to the last window specified in your .screenrc file or, if
2411 none, opens a default window #0.
2412
2413 Screen has built in some functionality of "cu" and "telnet". See also
2414 chapter "WINDOW TYPES".
2415
2416 scrollback num
2417
2418 Set the size of the scrollback buffer for the current windows to num
2419 lines. The default scrollback is 100 lines. See also the "defscroll‐
2420 back" command and use "info" to view the current setting. To access and
2421 use the contents in the scrollback buffer, use the "copy" command.
2422
2423 select [WindowID]
2424
2425 Switch to the window identified by WindowID. This can be a prefix of a
2426 window title (alphanumeric window name) or a window number. The param‐
2427 eter is optional and if omitted, you get prompted for an identifier.
2428 When a new window is established, the first available number is
2429 assigned to this window. Thus, the first window can be activated by
2430 "select 0". The number of windows is limited at compile-time by the
2431 MAXWIN configuration parameter (which defaults to 40). There are two
2432 special WindowIDs, "-" selects the internal blank window and "."
2433 selects the current window. The latter is useful if used with screen's
2434 "-X" option.
2435
2436 sessionname [name]
2437
2438 Rename the current session. Note, that for "screen -list" the name
2439 shows up with the process-id prepended. If the argument "name" is omit‐
2440 ted, the name of this session is displayed. Caution: The $STY environ‐
2441 ment variables will still reflect the old name in pre-existing shells.
2442 This may result in confusion. Use of this command is generally discour‐
2443 aged. Use the "-S" command-line option if you want to name a new ses‐
2444 sion. The default is constructed from the tty and host names.
2445
2446 setenv [var [string]]
2447
2448 Set the environment variable var to value string. If only var is spec‐
2449 ified, the user will be prompted to enter a value. If no parameters
2450 are specified, the user will be prompted for both variable and value.
2451 The environment is inherited by all subsequently forked shells.
2452
2453 setsid [on|off]
2454
2455 Normally screen uses different sessions and process groups for the win‐
2456 dows. If setsid is turned off, this is not done anymore and all windows
2457 will be in the same process group as the screen backend process. This
2458 also breaks job-control, so be careful. The default is on, of course.
2459 This command is probably useful only in rare circumstances.
2460
2461 shell command
2462
2463 Set the command to be used to create a new shell. This overrides the
2464 value of the environment variable $SHELL. This is useful if you'd like
2465 to run a tty-enhancer which is expecting to execute the program speci‐
2466 fied in $SHELL. If the command begins with a '-' character, the shell
2467 will be started as a login-shell. Typical shells do only minimal ini‐
2468 tialization when not started as a login-shell. E.g. Bash will not read
2469 your "~/.bashrc" unless it is a login-shell.
2470
2471 shelltitle title
2472
2473 Set the title for all shells created during startup or by the C-A C-c
2474 command. For details about what a title is, see the discussion enti‐
2475 tled "TITLES (naming windows)".
2476
2477 silence [on|off|sec]
2478
2479 Toggles silence monitoring of windows. When silence is turned on and
2480 an affected window is switched into the background, you will receive
2481 the silence notification message in the status line after a specified
2482 period of inactivity (silence). The default timeout can be changed with
2483 the `silencewait' command or by specifying a number of seconds instead
2484 of `on' or `off'. Silence is initially off for all windows.
2485
2486 silencewait sec
2487
2488 Define the time that all windows monitored for silence should wait
2489 before displaying a message. Default 30 seconds.
2490
2491 sleep num
2492
2493 This command will pause the execution of a .screenrc file for num sec‐
2494 onds. Keyboard activity will end the sleep. It may be used to give
2495 users a chance to read the messages output by "echo".
2496
2497 slowpaste msec
2498
2499 Define the speed at which text is inserted into the current window by
2500 the paste ("C-a ]") command. If the slowpaste value is nonzero text is
2501 written character by character. screen will make a pause of msec mil‐
2502 liseconds after each single character write to allow the application to
2503 process its input. Only use slowpaste if your underlying system exposes
2504 flow control problems while pasting large amounts of text.
2505
2506 sort
2507
2508 Sort the windows in alphabetical order of the window tiles.
2509
2510 source file
2511
2512 Read and execute commands from file file. Source commands may be nested
2513 to a maximum recursion level of ten. If file is not an absolute path
2514 and screen is already processing a source command, the parent directory
2515 of the running source command file is used to search for the new com‐
2516 mand file before screen's current directory.
2517
2518 Note that termcap/terminfo/termcapinfo commands only work at startup
2519 and reattach time, so they must be reached via the default screenrc
2520 files to have an effect.
2521
2522 sorendition [attr[color]]
2523
2524 This command is deprecated. See "rendition so" instead.
2525
2526 split[-v]
2527
2528 Split the current region into two new ones. All regions on the display
2529 are resized to make room for the new region. The blank window is dis‐
2530 played in the new region. The default is to create a horizontal split,
2531 putting the new regions on the top and bottom of each other. Using `-v'
2532 will create a vertical split, causing the new regions to appear side by
2533 side of each other. Use the "remove" or the "only" command to delete
2534 regions. Use "focus" to toggle between regions.
2535
2536 When a region is split opposite of how it was previously split (that
2537 is, vertical then horizontal or horizontal then vertical), a new layer
2538 is created. The layer is used to group together the regions that are
2539 split the same. Normally, as a user, you should not see nor have to
2540 worry about layers, but they will affect how some commands ("focus" and
2541 "resize") behave.
2542
2543 With this current implementation of screen, scrolling data will appear
2544 much slower in a vertically split region than one that is not. This
2545 should be taken into consideration if you need to use system commands
2546 such as "cat" or "tail -f".
2547
2548 startup_message on|off
2549
2550 Select whether you want to see the copyright notice during startup.
2551 Default is `on', as you probably noticed.
2552
2553 status [top|up|down|bottom] [left|right]
2554
2555 The status window by default is in bottom-left corner. This command can
2556 move status messages to any corner of the screen. top is the same as
2557 up, down is the same as bottom.
2558
2559 stuff [string]
2560
2561 Stuff the string string in the input buffer of the current window.
2562 This is like the "paste" command but with much less overhead. Without
2563 a parameter, screen will prompt for a string to stuff. You cannot
2564 paste large buffers with the "stuff" command. It is most useful for key
2565 bindings. See also "bindkey".
2566
2567 su [username [password [password2]]]
2568
2569 Substitute the user of a display. The command prompts for all parame‐
2570 ters that are omitted. If passwords are specified as parameters, they
2571 have to be specified un-crypted. The first password is matched against
2572 the systems passwd database, the second password is matched against the
2573 screen password as set with the commands "acladd" or "password". "Su"
2574 may be useful for the screen administrator to test multiuser setups.
2575 When the identification fails, the user has access to the commands
2576 available for user nobody. These are "detach", "license", "version",
2577 "help" and "displays".
2578
2579 suspend
2580
2581 Suspend screen. The windows are in the `detached' state, while screen
2582 is suspended. This feature relies on the shell being able to do job
2583 control.
2584
2585 term term
2586
2587 In each window's environment screen opens, the $TERM variable is set to
2588 "screen" by default. But when no description for "screen" is installed
2589 in the local termcap or terminfo data base, you set $TERM to - say -
2590 "vt100". This won't do much harm, as screen is VT100/ANSI compatible.
2591 The use of the "term" command is discouraged for non-default purpose.
2592 That is, one may want to specify special $TERM settings (e.g. vt100)
2593 for the next "screen rlogin othermachine" command. Use the command
2594 "screen -T vt100 rlogin othermachine" rather than setting and resetting
2595 the default.
2596
2597 termcap term terminal-tweaks[window-tweaks]
2598
2599 terminfo term terminal-tweaks[window-tweaks]
2600
2601 termcapinfo term terminal-tweaks[window-tweaks]
2602
2603 Use this command to modify your terminal's termcap entry without going
2604 through all the hassles involved in creating a custom termcap entry.
2605 Plus, you can optionally customize the termcap generated for the win‐
2606 dows. You have to place these commands in one of the screenrc startup
2607 files, as they are meaningless once the terminal emulator is booted.
2608
2609 If your system uses the terminfo database rather than termcap, screen
2610 will understand the `terminfo' command, which has the same effects as
2611 the `termcap' command. Two separate commands are provided, as there
2612 are subtle syntactic differences, e.g. when parameter interpolation
2613 (using `%') is required. Note that termcap names of the capabilities
2614 have to be used with the `terminfo' command.
2615
2616 In many cases, where the arguments are valid in both terminfo and term‐
2617 cap syntax, you can use the command `termcapinfo', which is just a
2618 shorthand for a pair of `termcap' and `terminfo' commands with identi‐
2619 cal arguments.
2620
2621 The first argument specifies which terminal(s) should be affected by
2622 this definition. You can specify multiple terminal names by separating
2623 them with `|'s. Use `*' to match all terminals and `vt*' to match all
2624 terminals that begin with "vt".
2625
2626 Each tweak argument contains one or more termcap defines (separated by
2627 `:'s) to be inserted at the start of the appropriate termcap entry,
2628 enhancing it or overriding existing values. The first tweak modifies
2629 your terminal's termcap, and contains definitions that your terminal
2630 uses to perform certain functions. Specify a null string to leave this
2631 unchanged (e.g. ''). The second (optional) tweak modifies all the win‐
2632 dow termcaps, and should contain definitions that screen understands
2633 (see the "VIRTUAL TERMINAL" section).
2634
2635 Some examples:
2636
2637 termcap xterm* LP:hs@
2638
2639 Informs screen that all terminals that begin with `xterm' have firm
2640 auto-margins that allow the last position on the screen to be updated
2641 (LP), but they don't really have a status line (no 'hs' - append `@' to
2642 turn entries off). Note that we assume `LP' for all terminal names
2643 that start with "vt", but only if you don't specify a termcap command
2644 for that terminal.
2645 termcap vt* LP
2646
2647 termcap vt102|vt220 Z0=\E[?3h:Z1=\E[?3l
2648
2649 Specifies the firm-margined `LP' capability for all terminals that
2650 begin with `vt', and the second line will also add the escape-sequences
2651 to switch into (Z0) and back out of (Z1) 132-character-per-line mode if
2652 this is a VT102 or VT220. (You must specify Z0 and Z1 in your termcap
2653 to use the width-changing commands.)
2654
2655 termcap vt100 "" l0=PF1:l1=PF2:l2=PF3:l3=PF4
2656
2657 This leaves your vt100 termcap alone and adds the function key labels
2658 to each window's termcap entry.
2659
2660 termcap h19|z19 am@:im=\E@:ei=\EO dc=\E[P
2661
2662 Takes a h19 or z19 termcap and turns off auto-margins (am@) and enables
2663 the insert mode (im) and end-insert (ei) capabilities (the `@' in the
2664 `im' string is after the `=', so it is part of the string). Having the
2665 `im' and `ei' definitions put into your terminal's termcap will cause
2666 screen to automatically advertise the character-insert capability in
2667 each window's termcap. Each window will also get the delete-character
2668 capability (dc) added to its termcap, which screen will translate into
2669 a line-update for the terminal (we're pretending it doesn't support
2670 character deletion).
2671
2672 If you would like to fully specify each window's termcap entry, you
2673 should instead set the $SCREENCAP variable prior to running screen.
2674 See the discussion on the "VIRTUAL TERMINAL" in this manual, and the
2675 termcap(5) man page for more information on termcap definitions.
2676
2677 time [string]
2678
2679 Uses the message line to display the time of day, the host name, and
2680 the load averages over 1, 5, and 15 minutes (if this is available on
2681 your system). For window specific information, use "info".
2682
2683 If a string is specified, it changes the format of the time report like
2684 it is described in the "STRING ESCAPES" chapter. Screen uses a default
2685 of "%c:%s %M %d %H%? %l%?".
2686
2687 title [windowtitle]
2688
2689 Set the name of the current window to windowtitle. If no name is speci‐
2690 fied, screen prompts for one. This command was known as `aka' in previ‐
2691 ous releases.
2692
2693 unbindall
2694
2695 Unbind all the bindings. This can be useful when screen is used solely
2696 for its detaching abilities, such as when letting a console application
2697 run as a daemon. If, for some reason, it is necessary to bind commands
2698 after this, use 'screen -X'.
2699
2700 unsetenv var
2701
2702 Unset an environment variable.
2703
2704 utf8 [on|off[on|off]]
2705
2706 Change the encoding used in the current window. If utf8 is enabled, the
2707 strings sent to the window will be UTF-8 encoded and vice versa. Omit‐
2708 ting the parameter toggles the setting. If a second parameter is given,
2709 the display's encoding is also changed (this should rather be done with
2710 screen's "-U" option). See also "defutf8", which changes the default
2711 setting of a new window.
2712
2713 vbell [on|off]
2714
2715 Sets the visual bell setting for this window. Omitting the parameter
2716 toggles the setting. If vbell is switched on, but your terminal does
2717 not support a visual bell, a `vbell-message' is displayed in the status
2718 line when the bell character (^G) is received. Visual bell support of
2719 a terminal is defined by the termcap variable `vb' (terminfo: 'flash').
2720
2721 Per default, vbell is off, thus the audible bell is used. See also
2722 `bell_msg'.
2723
2724 vbell_msg [message]
2725
2726 Sets the visual bell message. message is printed to the status line if
2727 the window receives a bell character (^G), vbell is set to "on", but
2728 the terminal does not support a visual bell. The default message is
2729 "Wuff, Wuff!!". Without a parameter, the current message is shown.
2730
2731 vbellwait sec
2732
2733 Define a delay in seconds after each display of screen's visual bell
2734 message. The default is 1 second.
2735
2736 verbose [on|off]
2737
2738 If verbose is switched on, the command name is echoed, whenever a win‐
2739 dow is created (or resurrected from zombie state). Default is off.
2740 Without a parameter, the current setting is shown.
2741
2742 version
2743
2744 Print the current version and the compile date in the status line.
2745
2746 wall message
2747
2748 Write a message to all displays. The message will appear in the termi‐
2749 nal's status line.
2750
2751 width [-w|-d] [cols [lines]]
2752
2753 Toggle the window width between 80 and 132 columns or set it to cols
2754 columns if an argument is specified. This requires a capable terminal
2755 and the termcap entries "Z0" and "Z1". See the "termcap" command for
2756 more information. You can also specify a new height if you want to
2757 change both values. The -w option tells screen to leave the display
2758 size unchanged and just set the window size, -d vice versa.
2759
2760 windowlist [-b] [-m] [-g]
2761
2762 windowlist string [string]
2763
2764 windowlist title [title]
2765
2766 Display all windows in a table for visual window selection. If screen
2767 was in a window group, screen will back out of the group and then dis‐
2768 play the windows in that group. If the -b option is given, screen will
2769 switch to the blank window before presenting the list, so that the cur‐
2770 rent window is also selectable. The -m option changes the order of the
2771 windows, instead of sorting by window numbers screen uses its internal
2772 most-recently-used list. The -g option will show the windows inside
2773 any groups in that level and downwards.
2774
2775 The following keys are used to navigate in "windowlist":
2776
2777
2778 ─────────────────────────────────────────────────────────────────────
2779 k, C-p, or up Move up one line.
2780 ─────────────────────────────────────────────────────────────────────
2781 j, C-n, or down Move down one line.
2782 ─────────────────────────────────────────────────────────────────────
2783 C-g or escape Exit windowlist.
2784 ─────────────────────────────────────────────────────────────────────
2785 C-a or home Move to the first line.
2786 ─────────────────────────────────────────────────────────────────────
2787 C-e or end Move to the last line.
2788 ─────────────────────────────────────────────────────────────────────
2789 C-u or C-d Move one half page up or down.
2790 ─────────────────────────────────────────────────────────────────────
2791 C-b or C-f Move one full page up or down.
2792 ─────────────────────────────────────────────────────────────────────
2793 0..9 Using the number keys, move to the selected line.
2794 ─────────────────────────────────────────────────────────────────────
2795 mouseclick Move to the selected line. Available when "mouse‐
2796 track" is set to "on"
2797 ─────────────────────────────────────────────────────────────────────
2798 / Search.
2799 ─────────────────────────────────────────────────────────────────────
2800 n Repeat search in the forward direction.
2801 ─────────────────────────────────────────────────────────────────────
2802 N Repeat search in the backward direction.
2803 ─────────────────────────────────────────────────────────────────────
2804 m Toggle MRU.
2805 ─────────────────────────────────────────────────────────────────────
2806 g Toggle group nesting.
2807 ─────────────────────────────────────────────────────────────────────
2808 a All window view.
2809 ─────────────────────────────────────────────────────────────────────
2810 C-h or backspace Back out the group.
2811 ─────────────────────────────────────────────────────────────────────
2812 , Switch numbers with the previous window.
2813 ─────────────────────────────────────────────────────────────────────
2814 . Switch numbers with the next window.
2815 ─────────────────────────────────────────────────────────────────────
2816
2817 K Kill that window.
2818 ─────────────────────────────────────────────────────────────────────
2819 space or enter Select that window.
2820 ─────────────────────────────────────────────────────────────────────
2821
2822 The table format can be changed with the string and title option, the
2823 title is displayed as table heading, while the lines are made by using
2824 the string setting. The default setting is "Num Name%=Flags" for the
2825 title and "%3n %t%=%f" for the lines. See the "STRING ESCAPES" chapter
2826 for more codes (e.g. color settings).
2827
2828 "Windowlist" needs a region size of at least 10 characters wide and 6
2829 characters high in order to display.
2830
2831 windows [ string ]
2832
2833 Uses the message line to display a list of all the windows. Each win‐
2834 dow is listed by number with the name of process that has been started
2835 in the window (or its title); the current window is marked with a `*';
2836 the previous window is marked with a `-'; all the windows that are
2837 "logged in" are marked with a `$'; a background window that has
2838 received a bell is marked with a `!'; a background window that is being
2839 monitored and has had activity occur is marked with an `@'; a window
2840 which has output logging turned on is marked with `(L)'; windows occu‐
2841 pied by other users are marked with `&'; windows in the zombie state
2842 are marked with `Z'. If this list is too long to fit on the terminal's
2843 status line only the portion around the current window is displayed.
2844 The optional string parameter follows the "STRING ESCAPES" format. If
2845 string parameter is passed, the output size is unlimited. The default
2846 command without any parameter is limited to a size of 1024 bytes.
2847
2848 wrap [on|off]
2849
2850 Sets the line-wrap setting for the current window. When line-wrap is
2851 on, the second consecutive printable character output at the last col‐
2852 umn of a line will wrap to the start of the following line. As an
2853 added feature, backspace (^H) will also wrap through the left margin to
2854 the previous line. Default is `on'. Without any options, the state of
2855 wrap is toggled.
2856
2857 writebuf [-e encoding] [filename]
2858
2859 Writes the contents of the paste buffer to the specified file, or the
2860 public accessible screen-exchange file if no filename is given. This is
2861 thought of as a primitive means of communication between screen users
2862 on the same host. If an encoding is specified the paste buffer is
2863 recoded on the fly to match the encoding. The filename can be set with
2864 the bufferfile command and defaults to "/tmp/screen-exchange".
2865
2866 writelock [on|off|auto]
2867
2868 In addition to access control lists, not all users may be able to write
2869 to the same window at once. Per default, writelock is in `auto' mode
2870 and grants exclusive input permission to the user who is the first to
2871 switch to the particular window. When he leaves the window, other users
2872 may obtain the writelock (automatically). The writelock of the current
2873 window is disabled by the command "writelock off". If the user issues
2874 the command "writelock on" he keeps the exclusive write permission
2875 while switching to other windows.
2876
2877 xoff
2878
2879 xon
2880
2881 Insert a CTRL-s / CTRL-q character to the stdin queue of the current
2882 window.
2883
2884 zmodem [off|auto|catch|pass]
2885
2886 zmodem sendcmd [string]
2887
2888 zmodem recvcmd [string]
2889
2890 Define zmodem support for screen. Screen understands two different
2891 modes when it detects a zmodem request: "pass" and "catch". If the
2892 mode is set to "pass", screen will relay all data to the attacher until
2893 the end of the transmission is reached. In "catch" mode screen acts as
2894 a zmodem endpoint and starts the corresponding rz/sz commands. If the
2895 mode is set to "auto", screen will use "catch" if the window is a tty
2896 (e.g. a serial line), otherwise it will use "pass".
2897
2898 You can define the templates screen uses in "catch" mode via the second
2899 and the third form.
2900
2901 Note also that this is an experimental feature.
2902
2903 zombie [keys[onerror]]
2904
2905 Per default screen windows are removed from the window list as soon as
2906 the windows process (e.g. shell) exits. When a string of two keys is
2907 specified to the zombie command, `dead' windows will remain in the
2908 list. The kill command may be used to remove such a window. Pressing
2909 the first key in the dead window has the same effect. When pressing the
2910 second key, screen will attempt to resurrect the window. The process
2911 that was initially running in the window will be launched again. Call‐
2912 ing zombie without parameters will clear the zombie setting, thus mak‐
2913 ing windows disappear when their process exits.
2914
2915 As the zombie-setting is manipulated globally for all windows, this
2916 command should probably be called defzombie, but it isn't.
2917
2918 Optionally you can put the word "onerror" after the keys. This will
2919 cause screen to monitor exit status of the process running in the win‐
2920 dow. If it exits normally ('0'), the window disappears. Any other exit
2921 value causes the window to become a zombie.
2922
2923 zombie_timeout[seconds]
2924
2925 Per default screen windows are removed from the window list as soon as
2926 the windows process (e.g. shell) exits. If zombie keys are defined
2927 (compare with above zombie command), it is possible to also set a time‐
2928 out when screen tries to automatically reconnect a dead screen window.
2929
2930
2932 Screen displays informational messages and other diagnostics in a mes‐
2933 sage line. While this line is distributed to appear at the bottom of
2934 the screen, it can be defined to appear at the top of the screen during
2935 compilation. If your terminal has a status line defined in its term‐
2936 cap, screen will use this for displaying its messages, otherwise a line
2937 of the current screen will be temporarily overwritten and output will
2938 be momentarily interrupted. The message line is automatically removed
2939 after a few seconds delay, but it can also be removed early (on termi‐
2940 nals without a status line) by beginning to type.
2941
2942 The message line facility can be used by an application running in the
2943 current window by means of the ANSI Privacy message control sequence.
2944 For instance, from within the shell, try something like:
2945
2946 echo '<esc>^Hello world from window '$WINDOW'<esc>\\'
2947
2948 where '<esc>' is an escape, '^' is a literal up-arrow, and '\\' turns
2949 into a single backslash.
2950
2951
2953 Screen provides three different window types. New windows are created
2954 with screen's screen command (see also the entry in chapter "CUSTOMIZA‐
2955 TION"). The first parameter to the screen command defines which type of
2956 window is created. The different window types are all special cases of
2957 the normal type. They have been added in order to allow screen to be
2958 used efficiently as a console multiplexer with 100 or more windows.
2959
2960
2961 · The normal window contains a shell (default, if no parameter is
2962 given) or any other system command that could be executed from a
2963 shell (e.g. slogin, etc...)
2964
2965
2966 · If a tty (character special device) name (e.g. "/dev/ttya") is spec‐
2967 ified as the first parameter, then the window is directly connected
2968 to this device. This window type is similar to "screen cu -l
2969 /dev/ttya". Read and write access is required on the device node,
2970 an exclusive open is attempted on the node to mark the connection
2971 line as busy. An optional parameter is allowed consisting of a
2972 comma separated list of flags in the notation used by stty(1):
2973
2974 <baud_rate>
2975 Usually 300, 1200, 9600 or 19200. This affects transmission
2976 as well as receive speed.
2977
2978 cs8 or cs7
2979 Specify the transmission of eight (or seven) bits per byte.
2980
2981 ixon or -ixon
2982 Enables (or disables) software flow-control (CTRL-S/CTRL-Q)
2983 for sending data.
2984
2985 ixoff or -ixoff
2986 Enables (or disables) software flow-control for receiving
2987 data.
2988
2989 istrip or -istrip
2990 Clear (or keep) the eight bit in each received byte.
2991
2992 You may want to specify as many of these options as applicable.
2993 Unspecified options cause the terminal driver to make up the parame‐
2994 ter values of the connection. These values are system dependent and
2995 may be in defaults or values saved from a previous connection.
2996
2997 For tty windows, the info command shows some of the modem control
2998 lines in the status line. These may include `RTS', `CTS', 'DTR',
2999 `DSR', `CD' and more. This depends on the available ioctl()'s and
3000 system header files as well as the on the physical capabilities of
3001 the serial board. Signals that are logical low (inactive) have
3002 their name preceded by an exclamation mark (!), otherwise the signal
3003 is logical high (active). Signals not supported by the hardware but
3004 available to the ioctl() interface are usually shown low.
3005
3006 When the CLOCAL status bit is true, the whole set of modem signals
3007 is placed inside curly braces ({ and }). When the CRTSCTS or TIOC‐
3008 SOFTCAR bit is set, the signals `CTS' or `CD' are shown in parenthe‐
3009 sis, respectively.
3010
3011 For tty windows, the command break causes the Data transmission line
3012 (TxD) to go low for a specified period of time. This is expected to
3013 be interpreted as break signal on the other side. No data is sent
3014 and no modem control line is changed when a break is issued.
3015
3016
3017 · If the first parameter is "//telnet", the second parameter is
3018 expected to be a host name, and an optional third parameter may
3019 specify a TCP port number (default decimal 23). Screen will connect
3020 to a server listening on the remote host and use the telnet protocol
3021 to communicate with that server.
3022
3023 For telnet windows, the command info shows details about the connection
3024 in square brackets ([ and ]) at the end of the status line.
3025
3026 b BINARY. The connection is in binary mode.
3027
3028 e ECHO. Local echo is disabled.
3029
3030 c SGA. The connection is in `character mode' (default:
3031 `line mode').
3032
3033 t TTYPE. The terminal type has been requested by the remote
3034 host. Screen sends the name "screen" unless instructed
3035 otherwise (see also the command `term').
3036
3037 w NAWS. The remote site is notified about window size
3038 changes.
3039
3040 f LFLOW. The remote host will send flow control informa‐
3041 tion. (Ignored at the moment.)
3042
3043 Additional flags for debugging are x, t and n (XDISPLOC, TSPEED
3044 and NEWENV).
3045
3046 For telnet windows, the command break sends the telnet code IAC
3047 BREAK (decimal 243) to the remote host.
3048
3049
3050 This window type is only available if screen was compiled with
3051 the ENABLE_TELNET option defined.
3052
3053
3054
3056 Screen provides an escape mechanism to insert information like the cur‐
3057 rent time into messages or file names. The escape character is '%' with
3058 one exception: inside of a window's hardstatus '^%' ('^E') is used
3059 instead.
3060
3061 Here is the full list of supported escapes:
3062
3063 % the escape character itself
3064
3065 E sets %? to true if the escape character has been pressed.
3066
3067 f flags of the window, see "windows" for meanings of the various
3068 flags
3069
3070 F sets %? to true if the window has the focus
3071
3072 h hardstatus of the window
3073
3074 H hostname of the system
3075
3076 n window number
3077
3078 P sets %? to true if the current region is in copy/paste mode
3079
3080 S session name
3081
3082 s window size
3083
3084 t window title
3085
3086 u all other users on this window
3087
3088 w all window numbers and names. With '-' qualifier: up to the cur‐
3089 rent window; with '+' qualifier: starting with the window after
3090 the current one.
3091
3092 W all window numbers and names except the current one
3093
3094 x the executed command including arguments running in this windows
3095
3096 X the executed command without arguments running in this windows
3097
3098 ? the part to the next '%?' is displayed only if a '%' escape
3099 inside the part expands to a non-empty string
3100
3101 : else part of '%?'
3102
3103 = pad the string to the display's width (like TeX's hfill). If a
3104 number is specified, pad to the percentage of the window's
3105 width. A '0' qualifier tells screen to treat the number as
3106 absolute position. You can specify to pad relative to the last
3107 absolute pad position by adding a '+' qualifier or to pad rela‐
3108 tive to the right margin by using '-'. The padding truncates the
3109 string if the specified position lies before the current posi‐
3110 tion. Add the 'L' qualifier to change this.
3111
3112 < same as '%=' but just do truncation, do not fill with spaces
3113
3114 > mark the current text position for the next truncation. When
3115 screen needs to do truncation, it tries to do it in a way that
3116 the marked position gets moved to the specified percentage of
3117 the output area. (The area starts from the last absolute pad
3118 position and ends with the position specified by the truncation
3119 operator.) The 'L' qualifier tells screen to mark the truncated
3120 parts with '...'.
3121
3122 { attribute/color modifier string terminated by the next "}"
3123
3124 ` Substitute with the output of a 'backtick' command. The length
3125 qualifier is misused to identify one of the commands.
3126
3127 The 'c' and 'C' escape may be qualified with a '0' to make screen use
3128 zero instead of space as fill character. The '0' qualifier also makes
3129 the '=' escape use absolute positions. The 'n' and '=' escapes under‐
3130 stand a length qualifier (e.g. '%3n'), 'D' and 'M' can be prefixed with
3131 'L' to generate long names, 'w' and 'W' also show the window flags if
3132 'L' is given.
3133
3134 An attribute/color modifier is used to change the attributes or the
3135 color settings. Its format is "[attribute modifier] [color descrip‐
3136 tion]". The attribute modifier must be prefixed by a change type indi‐
3137 cator if it can be confused with a color description. The following
3138 change types are known:
3139
3140 + add the specified set to the current attributes
3141
3142 - remove the set from the current attributes
3143
3144 ! invert the set in the current attributes
3145
3146 = change the current attributes to the specified set
3147
3148 The attribute set can either be specified as a hexadecimal number or a
3149 combination of the following letters:
3150
3151 d dim
3152 u underline
3153 b bold
3154 r reverse
3155 s standout
3156 B blinking
3157
3158 Colors are coded either as a hexadecimal number or two letters specify‐
3159 ing the desired background and foreground color (in that order). The
3160 following colors are known:
3161
3162 k black
3163 r red
3164 g green
3165 y yellow
3166 b blue
3167 m magenta
3168 c cyan
3169 w white
3170 d default color
3171 . leave color unchanged
3172
3173 The capitalized versions of the letter specify bright colors. You can
3174 also use the pseudo-color 'i' to set just the brightness and leave the
3175 color unchanged.
3176 A one digit/letter color description is treated as foreground or back‐
3177 ground color dependent on the current attributes: if reverse mode is
3178 set, the background color is changed instead of the foreground color.
3179 If you don't like this, prefix the color with a ".". If you want the
3180 same behavior for two-letter color descriptions, also prefix them with
3181 a ".".
3182 As a special case, "%{-}" restores the attributes and colors that were
3183 set before the last change was made (i.e., pops one level of the color-
3184 change stack).
3185
3186 Examples:
3187
3188 "G" set color to bright green
3189
3190 "+b r" use bold red
3191
3192 "= yd" clear all attributes, write in default color on yellow back‐
3193 ground.
3194
3195 %-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<
3196 The available windows centered at the current window and trun‐
3197 cated to the available width. The current window is displayed
3198 white on blue. This can be used with "hardstatus alwayslast‐
3199 line".
3200
3201 %?%F%{.R.}%?%3n %t%? [%h]%?
3202 The window number and title and the window's hardstatus, if one
3203 is set. Also use a red background if this is the active focus.
3204 Useful for "caption string".
3205
3207 Each window has a flow-control setting that determines how screen deals
3208 with the XON and XOFF characters (and perhaps the interrupt character).
3209 When flow-control is turned off, screen ignores the XON and XOFF char‐
3210 acters, which allows the user to send them to the current program by
3211 simply typing them (useful for the emacs editor, for instance). The
3212 trade-off is that it will take longer for output from a "normal" pro‐
3213 gram to pause in response to an XOFF. With flow-control turned on, XON
3214 and XOFF characters are used to immediately pause the output of the
3215 current window. You can still send these characters to the current
3216 program, but you must use the appropriate two-character screen commands
3217 (typically "C-a q" (xon) and "C-a s" (xoff)). The xon/xoff commands
3218 are also useful for typing C-s and C-q past a terminal that intercepts
3219 these characters.
3220
3221 Each window has an initial flow-control value set with either the -f
3222 option or the "defflow" .screenrc command. Per default the windows are
3223 set to automatic flow-switching. It can then be toggled between the
3224 three states 'fixed on', 'fixed off' and 'automatic' interactively with
3225 the "flow" command bound to "C-a f".
3226
3227 The automatic flow-switching mode deals with flow control using the
3228 TIOCPKT mode (like "rlogin" does). If the tty driver does not support
3229 TIOCPKT, screen tries to find out the right mode based on the current
3230 setting of the application keypad - when it is enabled, flow-control is
3231 turned off and visa versa. Of course, you can still manipulate flow-
3232 control manually when needed.
3233
3234 If you're running with flow-control enabled and find that pressing the
3235 interrupt key (usually C-c) does not interrupt the display until
3236 another 6-8 lines have scrolled by, try running screen with the "inter‐
3237 rupt" option (add the "interrupt" flag to the "flow" command in your
3238 .screenrc, or use the -i command-line option). This causes the output
3239 that screen has accumulated from the interrupted program to be flushed.
3240 One disadvantage is that the virtual terminal's memory contains the
3241 non-flushed version of the output, which in rare cases can cause minor
3242 inaccuracies in the output. For example, if you switch screens and
3243 return, or update the screen with "C-a l" you would see the version of
3244 the output you would have gotten without "interrupt" being on. Also,
3245 you might need to turn off flow-control (or use auto-flow mode to turn
3246 it off automatically) when running a program that expects you to type
3247 the interrupt character as input, as it is possible to interrupt the
3248 output of the virtual terminal to your physical terminal when flow-con‐
3249 trol is enabled. If this happens, a simple refresh of the screen with
3250 "C-a l" will restore it. Give each mode a try, and use whichever mode
3251 you find more comfortable.
3252
3253
3254
3256 You can customize each window's name in the window display (viewed with
3257 the "windows" command (C-a w)) by setting it with one of the title com‐
3258 mands. Normally the name displayed is the actual command name of the
3259 program created in the window. However, it is sometimes useful to dis‐
3260 tinguish various programs of the same name or to change the name on-
3261 the-fly to reflect the current state of the window.
3262
3263 The default name for all shell windows can be set with the "shelltitle"
3264 command in the .screenrc file, while all other windows are created with
3265 a "screen" command and thus can have their name set with the -t option.
3266 Interactively, there is the title-string escape-sequence
3267 (<esc>kname<esc>\) and the "title" command (C-a A). The former can be
3268 output from an application to control the window's name under software
3269 control, and the latter will prompt for a name when typed. You can
3270 also bind pre-defined names to keys with the "title" command to set
3271 things quickly without prompting. Changing title by this escape
3272 sequence can be controlled by defdynamictitle and dynamictitle com‐
3273 mands.
3274
3275 Finally, screen has a shell-specific heuristic that is enabled by set‐
3276 ting the window's name to "search|name" and arranging to have a null
3277 title escape-sequence output as a part of your prompt. The search por‐
3278 tion specifies an end-of-prompt search string, while the name portion
3279 specifies the default shell name for the window. If the name ends in a
3280 `:' screen will add what it believes to be the current command running
3281 in the window to the end of the window's shell name (e.g. "name:cmd").
3282 Otherwise the current command name supersedes the shell name while it
3283 is running.
3284
3285 Here's how it works: you must modify your shell prompt to output a
3286 null title-escape-sequence (<esc>k<esc>\) as a part of your prompt.
3287 The last part of your prompt must be the same as the string you speci‐
3288 fied for the search portion of the title. Once this is set up, screen
3289 will use the title-escape-sequence to clear the previous command name
3290 and get ready for the next command. Then, when a newline is received
3291 from the shell, a search is made for the end of the prompt. If found,
3292 it will grab the first word after the matched string and use it as the
3293 command name. If the command name begins with either '!', '%', or '^'
3294 screen will use the first word on the following line (if found) in
3295 preference to the just-found name. This helps csh users get better
3296 command names when using job control or history recall commands.
3297
3298 Here's some .screenrc examples:
3299
3300 screen -t top 2 nice top
3301
3302 Adding this line to your .screenrc would start a nice-d version of the
3303 "top" command in window 2 named "top" rather than "nice".
3304
3305 shelltitle '> |csh'
3306 screen 1
3307
3308 These commands would start a shell with the given shelltitle. The
3309 title specified is an auto-title that would expect the prompt and the
3310 typed command to look something like the following:
3311
3312 /usr/joe/src/dir> trn
3313
3314 (it looks after the '> ' for the command name). The window status
3315 would show the name "trn" while the command was running, and revert to
3316 "csh" upon completion.
3317
3318 bind R screen -t '% |root:' su
3319
3320 Having this command in your .screenrc would bind the key sequence "C-a
3321 R" to the "su" command and give it an auto-title name of "root:". For
3322 this auto-title to work, the screen could look something like this:
3323
3324 % !em
3325 emacs file.c
3326
3327 Here the user typed the csh history command "!em" which ran the previ‐
3328 ously entered "emacs" command. The window status would show
3329 "root:emacs" during the execution of the command, and revert to simply
3330 "root:" at its completion.
3331
3332 bind o title
3333 bind E title ""
3334 bind u title (unknown)
3335
3336 The first binding doesn't have any arguments, so it would prompt you
3337 for a title when you type "C-a o". The second binding would clear an
3338 auto-title's current setting (C-a E). The third binding would set the
3339 current window's title to "(unknown)" (C-a u).
3340
3341 One thing to keep in mind when adding a null title-escape-sequence to
3342 your prompt is that some shells (like the csh) count all the non-con‐
3343 trol characters as part of the prompt's length. If these invisible
3344 characters aren't a multiple of 8 then backspacing over a tab will
3345 result in an incorrect display. One way to get around this is to use a
3346 prompt like this:
3347
3348 set prompt='^[[0000m^[k^[\% '
3349
3350 The escape-sequence "<esc>[0000m" not only normalizes the character
3351 attributes, but all the zeros round the length of the invisible charac‐
3352 ters up to 8. Bash users will probably want to echo the escape
3353 sequence in the PROMPT_COMMAND:
3354
3355 PROMPT_COMMAND='printf "\033k\033\134"'
3356
3357 (I used "\134" to output a `\' because of a bug in bash v1.04).
3358
3359
3360
3362 Each window in a screen session emulates a VT100 terminal, with some
3363 extra functions added. The VT100 emulator is hard-coded, no other ter‐
3364 minal types can be emulated.
3365 Usually screen tries to emulate as much of the VT100/ANSI standard as
3366 possible. But if your terminal lacks certain capabilities, the emula‐
3367 tion may not be complete. In these cases screen has to tell the appli‐
3368 cations that some of the features are missing. This is no problem on
3369 machines using termcap, because screen can use the $TERMCAP variable to
3370 customize the standard screen termcap.
3371
3372 But if you do a rlogin on another machine or your machine supports only
3373 terminfo this method fails. Because of this, screen offers a way to
3374 deal with these cases. Here is how it works:
3375
3376 When screen tries to figure out a terminal name for itself, it first
3377 looks for an entry named "screen.<term>", where <term> is the contents
3378 of your $TERM variable. If no such entry exists, screen tries "screen"
3379 (or "screen-w" if the terminal is wide (132 cols or more)). If even
3380 this entry cannot be found, "vt100" is used as a substitute.
3381
3382 The idea is that if you have a terminal which doesn't support an impor‐
3383 tant feature (e.g. delete char or clear to EOS) you can build a new
3384 termcap/terminfo entry for screen (named "screen.<dumbterm>") in which
3385 this capability has been disabled. If this entry is installed on your
3386 machines you are able to do a rlogin and still keep the correct term‐
3387 cap/terminfo entry. The terminal name is put in the $TERM variable of
3388 all new windows. Screen also sets the $TERMCAP variable reflecting the
3389 capabilities of the virtual terminal emulated. Notice that, however, on
3390 machines using the terminfo database this variable has no effect. Fur‐
3391 thermore, the variable $WINDOW is set to the window number of each win‐
3392 dow.
3393
3394 The actual set of capabilities supported by the virtual terminal
3395 depends on the capabilities supported by the physical terminal. If,
3396 for instance, the physical terminal does not support underscore mode,
3397 screen does not put the `us' and `ue' capabilities into the window's
3398 $TERMCAP variable, accordingly. However, a minimum number of capabili‐
3399 ties must be supported by a terminal in order to run screen; namely
3400 scrolling, clear screen, and direct cursor addressing (in addition,
3401 screen does not run on hardcopy terminals or on terminals that over-
3402 strike).
3403
3404 Also, you can customize the $TERMCAP value used by screen by using the
3405 "termcap" .screenrc command, or by defining the variable $SCREENCAP
3406 prior to startup. When the latter is defined, its value will be copied
3407 verbatim into each window's $TERMCAP variable. This can either be the
3408 full terminal definition, or a filename where the terminal "screen"
3409 (and/or "screen-w") is defined.
3410
3411 Note that screen honors the "terminfo" .screenrc command if the system
3412 uses the terminfo database rather than termcap.
3413
3414 When the boolean `G0' capability is present in the termcap entry for
3415 the terminal on which screen has been called, the terminal emulation of
3416 screen supports multiple character sets. This allows an application to
3417 make use of, for instance, the VT100 graphics character set or national
3418 character sets. The following control functions from ISO 2022 are sup‐
3419 ported: lock shift G0 (SI), lock shift G1 (SO), lock shift G2, lock
3420 shift G3, single shift G2, and single shift G3. When a virtual termi‐
3421 nal is created or reset, the ASCII character set is designated as G0
3422 through G3. When the `G0' capability is present, screen evaluates the
3423 capabilities `S0', `E0', and `C0' if present. `S0' is the sequence the
3424 terminal uses to enable and start the graphics character set rather
3425 than SI. `E0' is the corresponding replacement for SO. `C0' gives a
3426 character by character translation string that is used during semi-
3427 graphics mode. This string is built like the `acsc' terminfo capabil‐
3428 ity.
3429
3430 When the `po' and `pf' capabilities are present in the terminal's term‐
3431 cap entry, applications running in a screen window can send output to
3432 the printer port of the terminal. This allows a user to have an appli‐
3433 cation in one window sending output to a printer connected to the ter‐
3434 minal, while all other windows are still active (the printer port is
3435 enabled and disabled again for each chunk of output). As a side-
3436 effect, programs running in different windows can send output to the
3437 printer simultaneously. Data sent to the printer is not displayed in
3438 the window. The info command displays a line starting `PRIN' while the
3439 printer is active.
3440
3441 Screen maintains a hardstatus line for every window. If a window gets
3442 selected, the display's hardstatus will be updated to match the win‐
3443 dow's hardstatus line. If the display has no hardstatus the line will
3444 be displayed as a standard screen message. The hardstatus line can be
3445 changed with the ANSI Application Program Command (APC):
3446 "ESC_<string>ESC\". As a convenience for xterm users the sequence
3447 "ESC]0..2;<string>^G" is also accepted.
3448
3449 Some capabilities are only put into the $TERMCAP variable of the vir‐
3450 tual terminal if they can be efficiently implemented by the physical
3451 terminal. For instance, `dl' (delete line) is only put into the $TERM‐
3452 CAP variable if the terminal supports either delete line itself or
3453 scrolling regions. Note that this may provoke confusion, when the ses‐
3454 sion is reattached on a different terminal, as the value of $TERMCAP
3455 cannot be modified by parent processes.
3456
3457 The "alternate screen" capability is not enabled by default. Set the
3458 altscreen .screenrc command to enable it.
3459
3460 The following is a list of control sequences recognized by screen.
3461 "(V)" and "(A)" indicate VT100-specific and ANSI- or ISO-specific func‐
3462 tions, respectively.
3463
3464 ESC E Next Line
3465
3466 ESC D Index
3467
3468 ESC M Reverse Index
3469
3470 ESC H Horizontal Tab Set
3471
3472 ESC Z Send VT100 Identification String
3473
3474 ESC 7 (V) Save Cursor and Attributes
3475
3476 ESC 8 (V) Restore Cursor and Attributes
3477
3478 ESC [s (A) Save Cursor and Attributes
3479
3480 ESC [u (A) Restore Cursor and Attributes
3481
3482 ESC c Reset to Initial State
3483
3484 ESC g Visual Bell
3485
3486 ESC Pn p Cursor Visibility (97801)
3487
3488 Pn = 6 Invisible
3489
3490 Pn = 7 Visible
3491
3492 ESC = (V) Application Keypad Mode
3493
3494 ESC > (V) Numeric Keypad Mode
3495
3496 ESC # 8 (V) Fill Screen with E's
3497
3498 ESC \ (A) String Terminator
3499
3500 ESC ^ (A) Privacy Message String (Message Line)
3501
3502 ESC ! Global Message String (Message Line)
3503
3504 ESC k A.k.a. Definition String
3505
3506 ESC P (A) Device Control String. Outputs a string
3507 directly to the host terminal without inter‐
3508 pretation.
3509
3510 ESC _ (A) Application Program Command (Hardstatus)
3511
3512 ESC ] 0 ; string ^G (A) Operating System Command (Hardstatus, xterm
3513 title hack)
3514
3515 ESC ] 83 ; cmd ^G (A) Execute screen command. This only works if
3516 multi-user support is compiled into screen.
3517 The pseudo-user ":window:" is used to check
3518 the access control list. Use "addacl :win‐
3519 dow: -rwx #?" to create a user with no
3520 rights and allow only the needed commands.
3521
3522 Control-N (A) Lock Shift G1 (SO)
3523
3524 Control-O (A) Lock Shift G0 (SI)
3525
3526 ESC n (A) Lock Shift G2
3527
3528 ESC o (A) Lock Shift G3
3529
3530 ESC N (A) Single Shift G2
3531
3532 ESC O (A) Single Shift G3
3533
3534 ESC ( Pcs (A) Designate character set as G0
3535
3536 ESC ) Pcs (A) Designate character set as G1
3537
3538 ESC * Pcs (A) Designate character set as G2
3539
3540 ESC + Pcs (A) Designate character set as G3
3541
3542 ESC [ Pn ; Pn H Direct Cursor Addressing
3543
3544 ESC [ Pn ; Pn f same as above
3545
3546 ESC [ Pn J Erase in Display
3547
3548 Pn = None or 0 From Cursor to
3549 End of Screen
3550
3551 Pn = 1 From Beginning of
3552 Screen to Cursor
3553
3554 Pn = 2 Entire Screen
3555
3556 ESC [ Pn K Erase in Line
3557
3558 Pn = None or 0 From Cursor to
3559 End of Line
3560
3561 Pn = 1 From Beginning of
3562 Line to Cursor
3563
3564 Pn = 2 Entire Line
3565
3566 ESC [ Pn X Erase character
3567
3568 ESC [ Pn A Cursor Up
3569
3570 ESC [ Pn B Cursor Down
3571
3572 ESC [ Pn C Cursor Right
3573
3574 ESC [ Pn D Cursor Left
3575
3576 ESC [ Pn E Cursor next line
3577
3578 ESC [ Pn F Cursor previous line
3579
3580 ESC [ Pn G Cursor horizontal position
3581
3582 ESC [ Pn ` same as above
3583
3584 ESC [ Pn d Cursor vertical position
3585
3586 ESC [ Ps ;...; Ps m Select Graphic Rendition
3587
3588 Ps = None or 0 Default Rendition
3589
3590 Ps = 1 Bold
3591
3592 Ps = 2 (A) Faint
3593
3594 Ps = 3 (A) Standout Mode
3595 (ANSI: Itali‐
3596 cized)
3597
3598 Ps = 4 Underlined
3599
3600 Ps = 5 Blinking
3601
3602 Ps = 7 Negative Image
3603
3604 Ps = 22 (A) Normal Intensity
3605
3606 Ps = 23 (A) Standout Mode off
3607 (ANSI: Italicized
3608 off)
3609
3610 Ps = 24 (A) Not Underlined
3611
3612 Ps = 25 (A) Not Blinking
3613
3614 Ps = 27 (A) Positive Image
3615
3616 Ps = 30 (A) Foreground Black
3617
3618 Ps = 31 (A) Foreground Red
3619
3620 Ps = 32 (A) Foreground Green
3621
3622 Ps = 33 (A) Foreground Yellow
3623
3624 Ps = 34 (A) Foreground Blue
3625
3626 Ps = 35 (A) Foreground
3627 Magenta
3628
3629 Ps = 36 (A) Foreground Cyan
3630
3631 Ps = 37 (A) Foreground White
3632
3633 Ps = 39 (A) Foreground
3634 Default
3635
3636 Ps = 40 (A) Background Black
3637
3638 Ps = ...
3639
3640 Ps = 49 (A) Background
3641 Default
3642
3643 ESC [ Pn g Tab Clear
3644
3645 Pn = None or 0 Clear Tab at Cur‐
3646 rent Position
3647
3648 Pn = 3 Clear All Tabs
3649
3650 ESC [ Pn ; Pn r (V) Set Scrolling Region
3651
3652 ESC [ Pn I (A) Horizontal Tab
3653
3654 ESC [ Pn Z (A) Backward Tab
3655
3656 ESC [ Pn L (A) Insert Line
3657
3658 ESC [ Pn M (A) Delete Line
3659
3660 ESC [ Pn @ (A) Insert Character
3661
3662 ESC [ Pn P (A) Delete Character
3663
3664 ESC [ Pn S Scroll Scrolling Region Up
3665
3666 ESC [ Pn T Scroll Scrolling Region Down
3667
3668 ESC [ Pn ^ same as above
3669
3670 ESC [ Ps ;...; Ps h Set Mode
3671
3672 ESC [ Ps ;...; Ps l Reset Mode
3673
3674 Ps = 4 (A) Insert Mode
3675
3676 Ps = 20 (A) Automatic Line‐
3677 feed Mode
3678
3679 Ps = 34 Normal Cursor
3680 Visibility
3681
3682 Ps = ?1 (V) Application Cur‐
3683 sor Keys
3684
3685 Ps = ?3 (V) Change Terminal
3686 Width to 132 col‐
3687 umns
3688
3689 Ps = ?5 (V) Reverse Video
3690
3691 Ps = ?6 (V) Origin Mode
3692
3693 Ps = ?7 (V) Wrap Mode
3694
3695 Ps = ?9 X10 mouse track‐
3696 ing
3697
3698 Ps = ?25 (V) Visible Cursor
3699
3700 Ps = ?47 Alternate Screen
3701 (old xterm code)
3702
3703 Ps = ?1000 (V) VT200 mouse
3704 tracking
3705
3706 Ps = ?1047 Alternate Screen
3707 (new xterm code)
3708
3709 Ps = ?1049 Alternate Screen
3710 (new xterm code)
3711
3712 ESC [ 5 i (A) Start relay to printer (ANSI Media Copy)
3713
3714 ESC [ 4 i (A) Stop relay to printer (ANSI Media Copy)
3715
3716 ESC [ 8 ; Ph ; Pw t Resize the window to `Ph' lines and `Pw'
3717 columns (SunView special)
3718
3719 ESC [ c Send VT100 Identification String
3720
3721 ESC [ x Send Terminal Parameter Report
3722
3723 ESC [ > c Send VT220 Secondary Device Attributes
3724 String
3725
3726 ESC [ 6 n Send Cursor Position Report
3727
3728
3729
3731 In order to do a full VT100 emulation screen has to detect that a
3732 sequence of characters in the input stream was generated by a keypress
3733 on the user's keyboard and insert the VT100 style escape sequence.
3734 Screen has a very flexible way of doing this by making it possible to
3735 map arbitrary commands on arbitrary sequences of characters. For stan‐
3736 dard VT100 emulation the command will always insert a string in the
3737 input buffer of the window (see also command stuff in the command ta‐
3738 ble). Because the sequences generated by a keypress can change after a
3739 reattach from a different terminal type, it is possible to bind com‐
3740 mands to the termcap name of the keys. Screen will insert the correct
3741 binding after each reattach. See the bindkey command for further
3742 details on the syntax and examples.
3743
3744 Here is the table of the default key bindings. The fourth is what com‐
3745 mand is executed if the keyboard is switched into application mode.
3746
3747 ┌────────────────┬──────────────┬──────────┬──────────┐
3748 │Key name │ Termcap name │ Command │ App mode │
3749 ├────────────────┼──────────────┼──────────┼──────────┤
3750 │Cursor up │ ku │ \033[A │ \033OA │
3751 ├────────────────┼──────────────┼──────────┼──────────┤
3752 │Cursor down │ kd │ \033[B │ \033OB │
3753 ├────────────────┼──────────────┼──────────┼──────────┤
3754 │Cursor right │ kr │ \033[C │ \033OC │
3755 ├────────────────┼──────────────┼──────────┼──────────┤
3756 │Cursor left │ kl │ \033[D │ \033OD │
3757 ├────────────────┼──────────────┼──────────┼──────────┤
3758 │Function key 0 │ k0 │ \033[10~ │ │
3759 ├────────────────┼──────────────┼──────────┼──────────┤
3760 │Function key 1 │ k1 │ \033OP │ │
3761 ├────────────────┼──────────────┼──────────┼──────────┤
3762 │Function key 2 │ k2 │ \033OQ │ │
3763 ├────────────────┼──────────────┼──────────┼──────────┤
3764 │Function key 3 │ k3 │ \033OR │ │
3765 ├────────────────┼──────────────┼──────────┼──────────┤
3766 │Function key 4 │ k4 │ \033OS │ │
3767 ├────────────────┼──────────────┼──────────┼──────────┤
3768 │Function key 5 │ k5 │ \033[15~ │ │
3769 ├────────────────┼──────────────┼──────────┼──────────┤
3770 │Function key 6 │ k6 │ \033[17~ │ │
3771 ├────────────────┼──────────────┼──────────┼──────────┤
3772 │Function key 7 │ k7 │ \033[18~ │ │
3773 ├────────────────┼──────────────┼──────────┼──────────┤
3774 │Function key 8 │ k8 │ \033[19~ │ │
3775 ├────────────────┼──────────────┼──────────┼──────────┤
3776 │Function key 9 │ k9 │ \033[20~ │ │
3777 ├────────────────┼──────────────┼──────────┼──────────┤
3778 │Function key 10 │ k; │ \033[21~ │ │
3779 ├────────────────┼──────────────┼──────────┼──────────┤
3780 │Function key 11 │ F1 │ \033[23~ │ │
3781 ├────────────────┼──────────────┼──────────┼──────────┤
3782 │Function key 12 │ F2 │ \033[24~ │ │
3783 ├────────────────┼──────────────┼──────────┼──────────┤
3784 │Home │ kh │ \033[1~ │ │
3785 ├────────────────┼──────────────┼──────────┼──────────┤
3786 │End │ kH │ \033[4~ │ │
3787 ├────────────────┼──────────────┼──────────┼──────────┤
3788 │Insert │ kI │ \033[2~ │ │
3789 ├────────────────┼──────────────┼──────────┼──────────┤
3790 │Delete │ kD │ \033[3~ │ │
3791 ├────────────────┼──────────────┼──────────┼──────────┤
3792 │Page up │ kP │ \033[5~ │ │
3793 ├────────────────┼──────────────┼──────────┼──────────┤
3794 │Page down │ kN │ \033[6~ │ │
3795 ├────────────────┼──────────────┼──────────┼──────────┤
3796 │Keypad 0 │ f0 │ 0 │ \033Op │
3797 ├────────────────┼──────────────┼──────────┼──────────┤
3798 │Keypad 1 │ f1 │ 1 │ \033Oq │
3799 ├────────────────┼──────────────┼──────────┼──────────┤
3800 │Keypad 2 │ f2 │ 2 │ \033Or │
3801 ├────────────────┼──────────────┼──────────┼──────────┤
3802 │Keypad 3 │ f3 │ 3 │ \033Os │
3803 ├────────────────┼──────────────┼──────────┼──────────┤
3804 │Keypad 4 │ f4 │ 4 │ \033Ot │
3805 ├────────────────┼──────────────┼──────────┼──────────┤
3806 │Keypad 5 │ f5 │ 5 │ \033Ou │
3807 ├────────────────┼──────────────┼──────────┼──────────┤
3808 │Keypad 6 │ f6 │ 6 │ \033Ov │
3809 ├────────────────┼──────────────┼──────────┼──────────┤
3810 │Keypad 7 │ f7 │ 7 │ \033Ow │
3811 ├────────────────┼──────────────┼──────────┼──────────┤
3812 │Keypad 8 │ f8 │ 8 │ \033Ox │
3813 ├────────────────┼──────────────┼──────────┼──────────┤
3814 │Keypad 9 │ f9 │ 9 │ \033Oy │
3815 ├────────────────┼──────────────┼──────────┼──────────┤
3816 │Keypad + │ f+ │ + │ \033Ok │
3817 ├────────────────┼──────────────┼──────────┼──────────┤
3818 │Keypad - │ f- │ - │ \033Om │
3819 ├────────────────┼──────────────┼──────────┼──────────┤
3820 │Keypad * │ f* │ * │ \033Oj │
3821 ├────────────────┼──────────────┼──────────┼──────────┤
3822 │Keypad / │ f/ │ / │ \033Oo │
3823 ├────────────────┼──────────────┼──────────┼──────────┤
3824 │Keypad = │ fq │ = │ \033OX │
3825 ├────────────────┼──────────────┼──────────┼──────────┤
3826 │Keypad . │ f. │ . │ \033On │
3827 ├────────────────┼──────────────┼──────────┼──────────┤
3828 │Keypad , │ f, │ , │ \033Ol │
3829 ├────────────────┼──────────────┼──────────┼──────────┤
3830 │Keypad enter │ fe │ \015 │ \033OM │
3831 └────────────────┴──────────────┴──────────┴──────────┘
3832
3834 The following table describes all terminal capabilities that are recog‐
3835 nized by screen and are not in the termcap(5) manual. You can place
3836 these capabilities in your termcap entries (in `/etc/termcap') or use
3837 them with the commands `termcap', `terminfo' and `termcapinfo' in your
3838 screenrc files. It is often not possible to place these capabilities in
3839 the terminfo database.
3840
3841 LP (bool) Terminal has VT100 style margins (`magic margins'). Note
3842 that this capability is obsolete because screen uses the
3843 standard 'xn' instead.
3844
3845 Z0 (str) Change width to 132 columns.
3846
3847 Z1 (str) Change width to 80 columns.
3848
3849 WS (str) Resize display. This capability has the desired width and
3850 height as arguments. SunView(tm) example: '\E[8;%d;%dt'.
3851
3852 NF (bool) Terminal doesn't need flow control. Send ^S and ^Q direct
3853 to the application. Same as 'flow off'. The opposite of
3854 this capability is 'nx'.
3855
3856 G0 (bool) Terminal can deal with ISO 2022 font selection sequences.
3857
3858 S0 (str) Switch charset 'G0' to the specified charset. Default is
3859 '\E(%.'.
3860
3861 E0 (str) Switch charset 'G0' back to standard charset. Default is
3862 '\E(B'.
3863
3864 C0 (str) Use the string as a conversion table for font '0'. See the
3865 'ac' capability for more details.
3866
3867 CS (str) Switch cursor-keys to application mode.
3868
3869 CE (str) Switch cursor-keys back to normal mode.
3870
3871 AN (bool) Turn on autonuke. See the 'autonuke' command for more
3872 details.
3873
3874 OL (num) Set the output buffer limit. See the 'obuflimit' command
3875 for more details.
3876
3877 KJ (str) Set the encoding of the terminal. See the 'encoding' com‐
3878 mand for valid encodings.
3879
3880 AF (str) Change character foreground color in an ANSI conform way.
3881 This capability will almost always be set to '\E[3%dm'
3882 ('\E[3%p1%dm' on terminfo machines).
3883
3884 AB (str) Same as 'AF', but change background color.
3885
3886 AX (bool) Does understand ANSI set default fg/bg color (\E[39m /
3887 \E[49m).
3888
3889 XC (str) Describe a translation of characters to strings depending
3890 on the current font. More details follow in the next sec‐
3891 tion.
3892
3893 XT (bool) Terminal understands special xterm sequences (OSC, mouse
3894 tracking).
3895
3896 C8 (bool) Terminal needs bold to display high-intensity colors (e.g.
3897 Eterm).
3898
3899 TF (bool) Add missing capabilities to the termcap/info entry. (Set
3900 by default).
3901
3902
3904 Screen has a powerful mechanism to translate characters to arbitrary
3905 strings depending on the current font and terminal type. Use this fea‐
3906 ture if you want to work with a common standard character set (say
3907 ISO8851-latin1) even on terminals that scatter the more unusual charac‐
3908 ters over several national language font pages.
3909
3910 Syntax:
3911 XC=<charset-mapping>{,,<charset-mapping>}
3912 <charset-mapping> := <designator><template>{,<mapping>}
3913 <mapping> := <char-to-be-mapped><template-arg>
3914
3915 The things in braces may be repeated any number of times.
3916
3917 A <charset-mapping> tells screen how to map characters in font <desig‐
3918 nator> ('B': Ascii, 'A': UK, 'K': German, etc.) to strings. Every
3919 <mapping> describes to what string a single character will be trans‐
3920 lated. A template mechanism is used, as most of the time the codes have
3921 a lot in common (for example strings to switch to and from another
3922 charset). Each occurrence of '%' in <template> gets substituted with
3923 the <template-arg> specified together with the character. If your
3924 strings are not similar at all, then use '%' as a template and place
3925 the full string in <template-arg>. A quoting mechanism was added to
3926 make it possible to use a real '%'. The '\' character quotes the spe‐
3927 cial characters '\', '%', and ','.
3928
3929 Here is an example:
3930
3931 termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'
3932
3933 This tells screen how to translate ISOlatin1 (charset 'B') upper case
3934 umlaut characters on a hp700 terminal that has a German charset. '\304'
3935 gets translated to '\E(K[\E(B' and so on. Note that this line gets
3936 parsed *three* times before the internal lookup table is built, there‐
3937 fore a lot of quoting is needed to create a single '\'.
3938
3939 Another extension was added to allow more emulation: If a mapping
3940 translates the unquoted '%' char, it will be sent to the terminal when‐
3941 ever screen switches to the corresponding <designator>. In this special
3942 case the template is assumed to be just '%' because the charset switch
3943 sequence and the character mappings normally haven't much in common.
3944
3945 This example shows one use of the extension:
3946
3947 termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'
3948
3949 Here, a part of the German ('K') charset is emulated on an xterm. If
3950 screen has to change to the 'K' charset, '\E(B' will be sent to the
3951 terminal, i.e. the ASCII charset is used instead. The template is just
3952 '%', so the mapping is straightforward: '[' to '\304', '\' to '\326',
3953 and ']' to '\334'.
3954
3955
3957 COLUMNS Number of columns on the terminal (overrides termcap
3958 entry).
3959 HOME Directory in which to look for .screenrc.
3960 LINES Number of lines on the terminal (overrides termcap
3961 entry).
3962 LOCKPRG Screen lock program.
3963 NETHACKOPTIONS Turns on nethack option.
3964 PATH Used for locating programs to run.
3965 SCREENCAP For customizing a terminal's TERMCAP value.
3966 SCREENDIR Alternate socket directory.
3967 SCREENRC Alternate user screenrc file.
3968 SHELL Default shell program for opening windows (default
3969 "/bin/sh"). See also "shell" .screenrc command.
3970 STY Alternate socket name.
3971 SYSSCREENRC Alternate system screenrc file.
3972 TERM Terminal name.
3973 TERMCAP Terminal description.
3974 WINDOW Window number of a window (at creation time).
3975
3977 .../screen-4.?.??/etc/screenrc
3978 .../screen-4.?.??/etc/etcscreenrc Examples in the screen distribution
3979 package for private and global ini‐
3980 tialization files.
3981 $SYSSCREENRC
3982 /etc/screenrc screen initialization commands
3983 $SCREENRC
3984 $HOME/.screenrc Read in after /etc/screenrc
3985 $SCREENDIR/S-<login>
3986 /local/screens/S-<login> Socket directories (default)
3987 /usr/tmp/screens/S-<login> Alternate socket directories.
3988 <socket directory>/.termcap Written by the "termcap" output func‐
3989 tion
3990 /usr/tmp/screens/screen-exchange or
3991 /tmp/screen-exchange screen `interprocess communication
3992 buffer'
3993 hardcopy.[0-9] Screen images created by the hardcopy
3994 function
3995 screenlog.[0-9] Output log files created by the log
3996 function
3997 /usr/lib/terminfo/?/* or
3998 /etc/termcap Terminal capability databases
3999 /etc/utmp Login records
4000 $LOCKPRG Program that locks a terminal.
4001
4002
4004 termcap(5), utmp(5), vi(1), captoinfo(1), tic(1)
4005
4006
4008 Originally created by Oliver Laumann. For a long time maintained and
4009 developed by Juergen Weigert, Michael Schroeder, Micah Cowan and Sadrul
4010 Habib Chowdhury. Since 2015 maintained and developed by Amadeusz Slaw‐
4011 inski <amade@asmblr.net> and Alexander Naumov <alexander_naumov@open‐
4012 suse.org>.
4013
4015 Copyright (c) 2018-2020
4016 Alexander Naumov <alexander_naumov@opensuse.org>
4017 Amadeusz Slawinski <amade@asmblr.net>
4018 Copyright (c) 2015-2017
4019 Juergen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
4020 Alexander Naumov <alexander_naumov@opensuse.org>
4021 Amadeusz Slawinski <amade@asmblr.net>
4022 Copyright (c) 2010-2015
4023 Juergen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
4024 Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
4025 Copyright (c) 2008, 2009
4026 Juergen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
4027 Michael Schroeder <mlschroe@immd4.informatik.uni-erlangen.de>
4028 Micah Cowan <micah@cowan.name>
4029 Sadrul Habib Chowdhury <sadrul@users.sourceforge.net>
4030 Copyright (C) 1993-2003
4031 Juergen Weigert <jnweiger@immd4.informatik.uni-erlangen.de>
4032 Michael Schroeder <mlschroe@immd4.informatik.uni-erlangen.de>
4033 Copyright (C) 1987 Oliver Laumann
4034 This program is free software; you can redistribute it and/or modify it
4035 under the terms of the GNU General Public License as published by the
4036 Free Software Foundation; either version 3, or (at your option) any
4037 later version.
4038 This program is distributed in the hope that it will be useful, but
4039 WITHOUT ANY WARRANTY; without even the implied warranty of MER‐
4040 CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
4041 Public License for more details.
4042 You should have received a copy of the GNU General Public License along
4043 with this program (see the file COPYING); if not, write to the Free
4044 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
4045 02111-1307, USA
4046
4048 Maarten ter Huurne <maarten@treewalker.org>,
4049 Jussi Kukkonen <jussi.kukkonen@intel.com>,
4050 Eric S. Raymond <esr@thyrsus.com>,
4051 Thomas Renninger <treen@suse.com>,
4052 Axel Beckert <abe@deuxchevaux.org>,
4053 Ken Beal <kbeal@amber.ssd.csd.harris.com>,
4054 Rudolf Koenig <rfkoenig@immd4.informatik.uni-erlangen.de>,
4055 Toerless Eckert <eckert@immd4.informatik.uni-erlangen.de>,
4056 Wayne Davison <davison@borland.com>,
4057 Patrick Wolfe <pat@kai.com, kailand!pat>,
4058 Bart Schaefer <schaefer@cse.ogi.edu>,
4059 Nathan Glasser <nathan@brokaw.lcs.mit.edu>,
4060 Larry W. Virden <lvirden@cas.org>,
4061 Howard Chu <hyc@hanauma.jpl.nasa.gov>,
4062 Tim MacKenzie <tym@dibbler.cs.monash.edu.au>,
4063 Markku Jarvinen <mta@{cc,cs,ee}.tut.fi>,
4064 Marc Boucher <marc@CAM.ORG>,
4065 Doug Siebert <dsiebert@isca.uiowa.edu>,
4066 Ken Stillson <stillson@tsfsrv.mitre.org>,
4067 Ian Frechett <frechett@spot.Colorado.EDU>,
4068 Brian Koehmstedt <bpk@gnu.ai.mit.edu>,
4069 Don Smith <djs6015@ultb.isc.rit.edu>,
4070 Frank van der Linden <vdlinden@fwi.uva.nl>,
4071 Martin Schweikert <schweik@cpp.ob.open.de>,
4072 David Vrona <dave@sashimi.lcu.com>,
4073 E. Tye McQueen <tye%spillman.UUCP@uunet.uu.net>,
4074 Matthew Green <mrg@eterna.com.au>,
4075 Christopher Williams <cgw@pobox.com>,
4076 Matt Mosley <mattm@access.digex.net>,
4077 Gregory Neil Shapiro <gshapiro@wpi.WPI.EDU>,
4078 Johannes Zellner <johannes@zellner.org>,
4079 Pablo Averbuj <pablo@averbuj.com>.
4080
4082 The latest official release of screen available via anonymous ftp from
4083 ftp.gnu.org/gnu/screen/ or any other GNU distribution site. The home
4084 site of screen is savannah.gnu.org/projects/screen/. If you want to
4085 help, send a note to screen-devel@gnu.org.
4086
4088 · `dm' (delete mode) and `xs' are not handled correctly (they are
4089 ignored). `xn' is treated as a magic-margin indicator.
4090
4091 · Screen has no clue about double-high or double-wide characters. But
4092 this is the only area where vttest is allowed to fail.
4093
4094 · It is not possible to change the environment variable $TERMCAP when
4095 reattaching under a different terminal type.
4096
4097 · The support of terminfo based systems is very limited. Adding extra
4098 capabilities to $TERMCAP may not have any effects.
4099
4100 · Screen does not make use of hardware tabs.
4101
4102 · Screen must be installed as set-uid with owner root on most systems
4103 in order to be able to correctly change the owner of the tty device
4104 file for each window. Special permission may also be required to
4105 write the file "/etc/utmp".
4106
4107 · Entries in "/etc/utmp" are not removed when screen is killed with
4108 SIGKILL. This will cause some programs (like "w" or "rwho") to
4109 advertise that a user is logged on who really isn't.
4110
4111 · Screen may give a strange warning when your tty has no utmp entry.
4112
4113 · When the modem line was hung up, screen may not automatically detach
4114 (or quit) unless the device driver is configured to send a HANGUP
4115 signal. To detach a screen session use the -D or -d command line
4116 option.
4117
4118 · If a password is set, the command line options -d and -D still
4119 detach a session without asking.
4120
4121 · Both "breaktype" and "defbreaktype" change the break generating
4122 method used by all terminal devices. The first should change a win‐
4123 dow specific setting, where the latter should change only the
4124 default for new windows.
4125
4126 · When attaching to a multiuser session, the user's .screenrc file is
4127 not sourced. Each user's personal settings have to be included in
4128 the .screenrc file from which the session is booted, or have to be
4129 changed manually.
4130
4131 · A weird imagination is most useful to gain full advantage of all the
4132 features.
4133
4134 · Send bug-reports, fixes, enhancements, t-shirts, money, beer & pizza
4135 to screen-devel@gnu.org.
4136
4137
4138
4139
41404th Berkeley Distribution Feb 2020 SCREEN(1)