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