1SCREEN(1)                   General Commands Manual                  SCREEN(1)
2
3
4

NAME

6       screen - screen manager with VT100/ANSI terminal emulation
7
8
9

SYNOPSIS

11       screen [ -options ] [ cmd [ args ] ]
12       screen -r [[pid.]tty[.host]]
13       screen -r sessionowner/[[pid.]tty[.host]]
14
15
16

DESCRIPTION

18       Screen is a full-screen window manager that multiplexes a physical ter‐
19       minal between several processes (typically interactive  shells).   Each
20       virtual terminal provides the functions of a DEC VT100 terminal and, in
21       addition, several control functions from the ISO 6429  (ECMA  48,  ANSI
22       X3.64)  and ISO 2022 standards (e.g. insert/delete line and support for
23       multiple character sets).  There is a  scrollback  history  buffer  for
24       each virtual terminal and a copy-and-paste mechanism that allows moving
25       text regions between windows.
26
27       When screen is called, it creates a single window with a  shell  in  it
28       (or  the  specified  command) and then gets out of your way so that you
29       can use the program as you normally would.  Then, at any time, you  can
30       create new (full-screen) windows with other programs in them (including
31       more shells), kill existing windows, view a list of windows, turn  out‐
32       put  logging  on and off, copy-and-paste text between windows, view the
33       scrollback history, switch between windows in whatever manner you wish,
34       etc.  All  windows  run  their  programs completely independent of each
35       other. Programs continue to run when their window is currently not vis‐
36       ible and even when the whole screen session is detached from the user's
37       terminal.  When a program terminates, screen (per  default)  kills  the
38       window  that  contained  it.  If this window was in the foreground, the
39       display switches to the previous  window;  if  none  are  left,  screen
40       exits.
41
42       Everything  you type is sent to the program running in the current win‐
43       dow.  The only exception to this is the one keystroke that is  used  to
44       initiate  a  command  to  the window manager.  By default, each command
45       begins with a control-a (abbreviated C-a from now on), and is  followed
46       by one other keystroke.  The command character and all the key bindings
47       can be fully customized to be anything you like, though they are always
48       two characters in length.
49
50       Screen does not understand the prefix "C-" to mean control.  Please use
51       the caret notation ("^A" instead of "C-a") as  arguments  to  e.g.  the
52       escape  command  or  the -e option.  Screen will also print out control
53       characters in caret notation.
54
55       The standard way to create a new window is to type "C-a c".  This  cre‐
56       ates  a  new window running a shell and switches to that window immedi‐
57       ately, regardless of the state of the process running  in  the  current
58       window.   Similarly,  you can create a new window with a custom command
59       in it by first binding the command to a keystroke  (in  your  .screenrc
60       file  or  at  the "C-a :" command line) and then using it just like the
61       "C-a c" command.  In addition, new windows can be created by running  a
62       command like:
63
64              screen emacs prog.c
65
66       from  a shell prompt within a previously created window.  This will not
67       run another copy of screen, but will instead supply  the  command  name
68       and its arguments to the window manager (specified in the $STY environ‐
69       ment variable) who will use it to create the  new  window.   The  above
70       example would start the emacs editor (editing prog.c) and switch to its
71       window. - Note that you cannot transport environment variables from the
72       invoking  shell  to the application (emacs in this case), because it is
73       forked from the parent screen process, not from the invoking shell.
74
75       If "/etc/utmp" is writable by screen, an  appropriate  record  will  be
76       written  to  this  file for each window, and removed when the window is
77       terminated.  This is useful for working with "talk",  "script",  "shut‐
78       down",  "rsend",  "sccs"  and  other similar programs that use the utmp
79       file to determine who you are. As long as screen is active on your ter‐
80       minal,  the  terminal's  own  record is removed from the utmp file. See
81       also "C-a L".
82
83
84

GETTING STARTED

86       Before you begin to use screen you'll need to make sure you  have  cor‐
87       rectly  selected  your  terminal  type, just as you would for any other
88       termcap/terminfo program.  (You can do this by using tset for example.)
89
90       If you're impatient and want to get started without doing  a  lot  more
91       reading,  you should remember this one command:  "C-a ?".  Typing these
92       two characters will display a list of the available screen commands and
93       their bindings. Each keystroke is discussed in the section "DEFAULT KEY
94       BINDINGS". The manual section "CUSTOMIZATION" deals with  the  contents
95       of your .screenrc.
96
97       If your terminal is a "true" auto-margin terminal (it doesn't allow the
98       last position on the screen to be updated without scrolling the screen)
99       consider  using a version of your terminal's termcap that has automatic
100       margins turned off. This will ensure an accurate and optimal update  of
101       the  screen  in all circumstances. Most terminals nowadays have "magic"
102       margins (automatic margins plus usable last column). This is the  VT100
103       style  type  and  perfectly  suited for screen.  If all you've got is a
104       "true" auto-margin terminal screen will  be  content  to  use  it,  but
105       updating  a  character put into the last position on the screen may not
106       be possible until the screen scrolls or the character is moved  into  a
107       safe position in some other way. This delay can be shortened by using a
108       terminal with insert-character capability.
109
110
111

COMMAND-LINE OPTIONS

113       Screen has the following command-line options:
114
115       -a   include all capabilities (with some minor exceptions) in each win‐
116            dow's  termcap, even if screen must redraw parts of the display in
117            order to implement a function.
118
119       -A   Adapt the sizes of all windows to the size of the  current  termi‐
120            nal.   By  default,  screen  tries to restore its old window sizes
121            when attaching to resizable terminals  (those  with  "WS"  in  its
122            description, e.g. suncmd or some xterm).
123
124       -c file
125            override  the default configuration file from "$HOME/.screenrc" to
126            file.
127
128       -d|-D [pid.tty.host]
129            does not start screen, but detaches the elsewhere  running  screen
130            session.  It  has  the same effect as typing "C-a d" from screen's
131            controlling terminal. -D is the equivalent  to  the  power  detach
132            key.   If  no  session can be detached, this option is ignored. In
133            combination with the -r/-R option more  powerful  effects  can  be
134            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
161            as  "-e^Aa".  When creating a screen session, this option sets the
162            default 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
166            either the commands "defescape" or "escape" respectively.
167
168       -f, -fn, and -fa
169            turns flow-control on, off, or "automatic switching  mode".   This
170            can 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
189            and have a controlling terminal. If the session runs in  multiuser
190            mode,  it  is  marked  `multi'.  Sessions  marked as `unreachable'
191            either live on a different host or  are  `dead'.   An  unreachable
192            session  is considered dead, when its name matches either the name
193            of 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       -m   causes screen  to  ignore  the  $STY  environment  variable.  With
202            "screen  -m"  creation  of  a  new session is enforced, regardless
203            whether screen is called from within  another  screen  session  or
204            not.  This  flag has a special meaning in connection with the `-d'
205            option:
206
207       -d -m   Start screen in "detached" mode. This creates a new session but
208               doesn't  attach  to  it.  This  is  useful  for  system startup
209               scripts.
210
211       -D -m   This also starts screen in "detached" mode, but doesn't fork  a
212               new process. The command exits if the session terminates.
213
214       -O   selects  a  more optimal output mode for your terminal rather than
215            true VT100 emulation (only affects auto-margin  terminals  without
216            `LP').   This can also be set in your .screenrc by specifying `OP'
217            in a "termcap" command.
218
219       -p number_or_name|-|=|+
220            Preselect a window. This is useful when you want to reattach to  a
221            specific  window or you want to send a command via the "-X" option
222            to a specific window. As with screen's select command, "-" selects
223            the  blank  window.  As a special case for reattach, "=" brings up
224            the windowlist on the blank window, while a "+" will create a  new
225            window.  The  command will not be executed if the specified window
226            could not be found.
227
228       -q   Suppress printing of error messages. In combination with "-ls" the
229            exit  value  is  as  follows: 9 indicates a directory without ses‐
230            sions. 10 indicates a directory with running  but  not  attachable
231            sessions.  11 (or more) indicates 1 (or more) usable sessions.  In
232            combination with "-r" the exit value is as follows:  10  indicates
233            that  there  is  no session to resume. 12 (or more) indicates that
234            there are 2 (or more) sessions to resume and  you  should  specify
235            which one to choose.  In all other cases "-q" has no effect.
236
237       -Q   Some  commands now can be queried from a remote session using this
238            flag, e.g.  'screen  -Q  windows'.  The  commands  will  send  the
239            response  to  the  stdout of the querying process. If there was an
240            error in the command, then the querying process will exit  with  a
241            non-zero status.
242
243            The commands that can be queried now are:
244             echo
245             info
246             lastmsg
247             number
248             select
249             time
250             title
251             windows
252
253       -r [pid.tty.host]
254       -r sessionowner/[pid.tty.host]
255            resumes  a detached screen session.  No other options (except com‐
256            binations with -d/-D) may be specified, though an optional  prefix
257            of  [pid.]tty.host  may  be needed to distinguish between multiple
258            detached screen sessions.  The second form is used to  connect  to
259            another  user's  screen session which runs in multiuser mode. This
260            indicates that screen should look for sessions in  another  user's
261            directory. This requires setuid-root.
262
263       -R   attempts to resume the first detached screen session it finds.  If
264            successful, all other command-line options  are  ignored.   If  no
265            detached  session exists, starts a new session using the specified
266            options, just as if -R had not been specified. The option  is  set
267            by default if screen is run as a login-shell (actually screen uses
268            "-xRR" in that case).  For combinations with the -d/-D option  see
269            there.
270
271       -s program
272            sets  the  default  shell to the program specified, instead of the
273            value in the environment variable  $SHELL  (or  "/bin/sh"  if  not
274            defined).   This can also be defined through the "shell" .screenrc
275            command.
276
277       -S sessionname
278            When creating a new session, this option can be used to specify  a
279            meaningful  name for the session. This name identifies the session
280            for "screen -list" and "screen -r"  actions.  It  substitutes  the
281            default [tty.host] suffix.
282
283       -t name
284            sets  the  title  (a.k.a.) for the default shell or specified pro‐
285            gram.  See also the "shelltitle" .screenrc command.
286
287       -T term
288            Set the $TERM  enviroment  varible  using  the  spcified  term  as
289            opposed to the defualt setting of screen.
290
291       -U   Run  screen in UTF-8 mode. This option tells screen that your ter‐
292            minal sends and understands UTF-8 encoded characters. It also sets
293            the default encoding for new windows to `utf8'.
294
295       -v   Print version number.
296
297       -wipe [match]
298            does  the  same  as  "screen  -ls", but removes destroyed sessions
299            instead of marking them as `dead'.  An unreachable session is con‐
300            sidered  dead,  when its name matches either the name of the local
301            host, or the explicitly given parameter, if any.  See the -r  flag
302            for a description how to construct matches.
303
304       -x   Attach  to  a  not  detached screen session. (Multi display mode).
305            Screen refuses to attach from within itself.  But  when  cascading
306            multiple screens, loops are not detected; take care.
307
308       -X   Send  the  specified  command to a running screen session. You can
309            use the -d or -r option to tell screen to look only  for  attached
310            or  detached  screen sessions. Note that this command doesn't work
311            if the session is password protected.
312
313       -4   Resolve hostnames only to IPv4 addresses.
314
315       -6   Resolve hostnames only to IPv6 addresses.
316
317

DEFAULT KEY BINDINGS

319       As mentioned, each screen command consists of a "C-a" followed  by  one
320       other  character.  For your convenience, all commands that are bound to
321       lower-case letters are also bound to their control  character  counter‐
322       parts (with the exception of "C-a a"; see below), thus, "C-a c" as well
323       as "C-a C-c" can be used to create a window.  See  section  "CUSTOMIZA‐
324       TION" for a description of the command.
325
326       The following table shows the default key bindings:
327
328       C-a '       (select)      Prompt  for a window name or number to switch
329                                 to.
330
331       C-a "       (windowlist -b)
332                                 Present a list of all windows for selection.
333
334       C-a 0       (select 0)
335        ...           ...
336       C-a 9       (select 9)
337       C-a -       (select -)    Switch to window number 0  -  9,  or  to  the
338                                 blank window.
339
340       C-a tab     (focus)       Switch  the  input  focus to the next region.
341                                 See also split, remove, only.
342
343       C-a C-a     (other)       Toggle to the  window  displayed  previously.
344                                 Note  that  this binding defaults to the com‐
345                                 mand character typed twice,  unless  overrid‐
346                                 den.   For  instance,  if  you use the option
347                                 "-e]x", this command becomes "]]".
348
349       C-a a       (meta)        Send the command character (C-a)  to  window.
350                                 See escape command.
351
352       C-a A       (title)       Allow  the  user to enter a name for the cur‐
353                                 rent window.
354
355       C-a b
356       C-a C-b     (break)       Send a break to window.
357
358       C-a B       (pow_break)   Reopen the terminal line and send a break.
359
360       C-a c
361       C-a C-c     (screen)      Create a new window with a shell  and  switch
362                                 to that window.
363
364       C-a C       (clear)       Clear the screen.
365
366       C-a d
367       C-a C-d     (detach)      Detach screen from this terminal.
368
369       C-a D D     (pow_detach)  Detach and logout.
370
371       C-a f
372       C-a C-f     (flow)        Toggle flow on, off or auto.
373
374       C-a F       (fit)         Resize the window to the current region size.
375
376       C-a C-g     (vbell)       Toggles screen's visual bell mode.
377
378       C-a h       (hardcopy)    Write a hardcopy of the current window to the
379                                 file "hardcopy.n".
380
381       C-a H       (log)         Begins/ends logging of the current window  to
382                                 the file "screenlog.n".
383
384       C-a i
385       C-a C-i     (info)        Show info about this window.
386
387       C-a k
388       C-a C-k     (kill)        Destroy current window.
389
390       C-a l
391       C-a C-l     (redisplay)   Fully refresh current window.
392
393       C-a L       (login)       Toggle  this  windows  login  slot. Available
394                                 only if screen is configured  to  update  the
395                                 utmp database.
396
397       C-a m
398       C-a C-m     (lastmsg)     Repeat the last message displayed in the mes‐
399                                 sage line.
400
401       C-a M       (monitor)     Toggles monitoring of the current window.
402
403       C-a space
404       C-a n
405       C-a C-n     (next)        Switch to the next window.
406
407       C-a N       (number)      Show the number (and title)  of  the  current
408                                 window.
409
410       C-a backspace
411       C-a h
412       C-a p
413       C-a C-p     (prev)        Switch to the previous window (opposite of C-
414                                 a n).
415
416       C-a q
417       C-a C-q     (xon)         Send a control-q to the current window.
418
419       C-a Q       (only)        Delete all regions but the current one.   See
420                                 also split, remove, focus.
421
422       C-a r
423       C-a C-r     (wrap)        Toggle the current window's line-wrap setting
424                                 (turn the current window's automatic  margins
425                                 on and off).
426
427       C-a s
428       C-a C-s     (xoff)        Send a control-s to the current window.
429
430       C-a S       (split)       Split  the  current  region horizontally into
431                                 two new ones.  See also only, remove, focus.
432
433       C-a t
434       C-a C-t     (time)        Show system information.
435
436       C-a v       (version)     Display the version and compilation date.
437
438       C-a C-v     (digraph)     Enter digraph.
439
440       C-a w
441       C-a C-w     (windows)     Show a list of window.
442
443       C-a W       (width)       Toggle 80/132 columns.
444
445       C-a x
446       C-a C-x     (lockscreen)  Lock this terminal.
447
448       C-a X       (remove)      Kill the current  region.   See  also  split,
449                                 only, focus.
450
451       C-a z
452       C-a C-z     (suspend)     Suspend  screen.   Your  system  must support
453                                 BSD-style job-control.
454
455       C-a Z       (reset)       Reset the virtual terminal to its  "power-on"
456                                 values.
457
458       C-a .       (dumptermcap) Write out a ".termcap" file.
459
460       C-a ?       (help)        Show key bindings.
461
462       C-a C-\     (quit)        Kill all windows and terminate screen.
463
464       C-a :       (colon)       Enter command line mode.
465
466       C-a [
467       C-a C-[
468       C-a esc     (copy)        Enter copy/scrollback mode.
469
470       C-a C-]
471       C-a ]       (paste .)     Write the contents of the paste buffer to the
472                                 stdin queue of the current window.
473
474       C-a {
475       C-a }       (history)     Copy and paste a previous (command) line.
476
477       C-a >       (writebuf)    Write paste buffer to a file.
478
479       C-a <       (readbuf)     Reads the screen-exchange file into the paste
480                                 buffer.
481
482       C-a =       (removebuf)   Removes the file used by C-a < and C-a >.
483
484       C-a ,       (license)     Shows  where screen comes from, where it went
485                                 to and why you can use it.
486
487       C-a _       (silence)     Start/stop monitoring the current window  for
488                                 inactivity.
489
490       C-a |       (split -v)    Split  the current region vertically into two
491                                 new ones.
492
493       C-a *       (displays)    Show a listing of all currently attached dis‐
494                                 plays.
495
496
497

CUSTOMIZATION

499       The  "socket  directory"  defaults either to $HOME/.screen or simply to
500       /tmp/screens or preferably to  /usr/local/screens  chosen  at  compile-
501       time. If screen is installed setuid-root, then the administrator should
502       compile screen with an adequate (not NFS mounted) socket directory.  If
503       screen  is  not  running setuid-root, the user can specify any mode 700
504       directory in the environment variable $SCREENDIR.
505
506       When screen is invoked, it executes initialization  commands  from  the
507       files  "/etc/screenrc"  and  ".screenrc"  in the user's home directory.
508       These are the "programmer's defaults" that can  be  overridden  in  the
509       following  ways:  for  the global screenrc file screen searches for the
510       environment variable $SYSSCREENRC (this override feature  may  be  dis‐
511       abled  at compile-time). The user specific screenrc file is searched in
512       $SCREENRC, then $HOME/.screenrc.  The  command  line  option  -c  takes
513       precedence over the above user screenrc files.
514
515       Commands  in  these  files  are  used to set options, bind functions to
516       keys, and to automatically establish one or more windows at the  begin‐
517       ning  of  your  screen session.  Commands are listed one per line, with
518       empty lines being ignored.  A command's arguments are separated by tabs
519       or  spaces,  and  may  be surrounded by single or double quotes.  A `#'
520       turns the rest of the line into a comment, except in quotes.   Unintel‐
521       ligible  lines are warned about and ignored.  Commands may contain ref‐
522       erences to environment variables. The syntax is the shell-like "$VAR  "
523       or "${VAR}". Note that this causes incompatibility with previous screen
524       versions, as now the '$'-character has to be protected with '\'  if  no
525       variable  substitution shall be performed. A string in single-quotes is
526       also protected from variable substitution.
527
528       Two configuration files are shipped as examples with your  screen  dis‐
529       tribution:  "etc/screenrc" and "etc/etcscreenrc". They contain a number
530       of useful examples for various commands.
531
532       Customization can also be done 'on-line'. To  enter  the  command  mode
533       type  `C-a  :'.  Note  that commands starting with "def" change default
534       values, while others change current settings.
535
536       The following commands are available:
537
538       acladd usernames [crypted-pw]
539       addacl usernames
540
541       Enable users to fully access this screen session. Usernames can be  one
542       user or a comma separated list of users. This command enables to attach
543       to the screen session and performs the equivalent of `aclchg  usernames
544       +rwx  "#?"'.   executed.  To add a user with restricted access, use the
545       `aclchg' command below.  If an optional second parameter  is  supplied,
546       it  should  be  a crypted password for the named user(s). `Addacl' is a
547       synonym to `acladd'.  Multi user mode only.
548
549       aclchg usernames permbits list
550       chacl usernames permbits list
551
552       Change permissions for a comma separated list of users. Permission bits
553       are  represented  as `r', `w' and `x'. Prefixing `+' grants the permis‐
554       sion, `-' removes it. The third parameter is a comma separated list  of
555       commands and/or windows (specified either by number or title). The spe‐
556       cial list `#' refers to all windows, `?' to all commands. if  usernames
557       consists  of a single `*', all known users are affected.  A command can
558       be executed when the user has the `x' bit for it.  The  user  can  type
559       input to a window when he has its `w' bit set and no other user obtains
560       a writelock for this window.  Other bits  are  currently  ignored.   To
561       withdraw  the writelock from another user in window 2: `aclchg username
562       -w+w 2'.  To allow read-only access to the session: `aclchg username -w
563       "#"'.  As soon as a user's name is known to screen he can attach to the
564       session and (per default) has full permissions for all command and win‐
565       dows. Execution permission for the acl commands, `at' and others should
566       also be removed or the user may be able  to  regain  write  permission.
567       Rights  of  the special username nobody cannot be changed (see the "su"
568       command).  `Chacl' is a synonym to `aclchg'.  Multi user mode only.
569
570       acldel username
571
572       Remove a user from screen's access control list. If currently attached,
573       all the user's displays are detached from the session. He cannot attach
574       again.  Multi user mode only.
575
576       aclgrp username [groupname]
577
578       Creates groups of users that share common access rights.  The  name  of
579       the group is the username of the group leader. Each member of the group
580       inherits the permissions that are granted to  the  group  leader.  That
581       means,  if  a user fails an access check, another check is made for the
582       group leader.  A user is removed from  all  groups  the  special  value
583       "none"  is  used for groupname.  If the second parameter is omitted all
584       groups the user is in are listed.
585
586       aclumask [[users]+bits |[users]-bits .... ]
587       umask [[users]+bits |[users]-bits .... ]
588
589       This specifies the access other users have to windows that will be cre‐
590       ated  by  the  caller  of the command.  Users may be no, one or a comma
591       separated list of known usernames. If no users are specified, a list of
592       all  currently  known  users  is  assumed.   Bits is any combination of
593       access control bits allowed defined with the "aclchg" command. The spe‐
594       cial  username  "?" predefines the access that not yet known users will
595       be granted to any window initially.  The special username  "??"  prede‐
596       fines  the  access that not yet known users are granted to any command.
597       Rights of the special username nobody cannot be changed (see  the  "su"
598       command).  `Umask' is a synonym to `aclumask'.
599
600       activity message
601
602       When  any  activity  occurs  in a background window that is being moni‐
603       tored, screen displays a notification in the message line.  The notifi‐
604       cation  message  can  be re-defined by means of the "activity" command.
605       Each occurrence of `%' in message is replaced by the number of the win‐
606       dow  in  which  activity  has  occurred, and each occurrence of `^G' is
607       replaced by the definition for bell in your termcap (usually an audible
608       bell).  The default message is
609
610                   'Activity in window %n'
611
612       Note  that  monitoring  is  off  for all windows by default, but can be
613       altered by use of the "monitor" command (C-a M).
614
615       allpartial on|off
616
617       If set to on, only the current  cursor  line  is  refreshed  on  window
618       change.   This  affects  all  windows  and  is useful for slow terminal
619       lines. The previous setting of full/partial refresh for each window  is
620       restored with "allpartial off".  This is a global flag that immediately
621       takes effect on all windows overriding the "partial" settings. It  does
622       not change the default redraw behavior of newly created windows.
623
624       altscreen on|off
625
626       If  set  to on, "alternate screen" support is enabled in virtual termi‐
627       nals, just like in xterm.  Initial setting is `off'.
628
629       at [identifier][#|*|%] command [args ... ]
630
631       Execute a command at other displays  or  windows  as  if  it  had  been
632       entered there.  "At" changes the context (the `current window' or `cur‐
633       rent display' setting) of the command. If the first parameter describes
634       a  non-unique  context, the command will be executed multiple times. If
635       the first parameter is of the form  `identifier*'  then  identifier  is
636       matched against user names.  The command is executed once for each dis‐
637       play of the selected user(s). If the first parameter  is  of  the  form
638       `identifier%'  identifier  is  matched  against  displays. Displays are
639       named after the ttys they attach. The prefix `/dev/' or `/dev/tty'  may
640       be  omitted  from  the  identifier.  If identifier has a `#' or nothing
641       appended it is matched against window numbers and titles.  Omitting  an
642       identifier in front of the `#', `*' or `%'-character selects all users,
643       displays or windows because a prefix-match is performed. Note  that  on
644       the  affected  display(s)  a short message will describe what happened.
645       Permission is checked for initiator of the "at" command,  not  for  the
646       owners  of  the affected display(s).  Note that the '#' character works
647       as a comment introducer when it is preceded by whitespace. This can  be
648       escaped by prefixing a '\'.  Permission is checked for the initiator of
649       the "at" command, not for the owners of the affected display(s).
650       Caveat: When matching against windows, the command is executed at least
651       once  per window. Commands that change the internal arrangement of win‐
652       dows (like "other") may be called again. In shared windows the  command
653       will be repeated for each attached display. Beware, when issuing toggle
654       commands like "login"!  Some commands (e.g. "process") require  that  a
655       display  is associated with the target windows.  These commands may not
656       work correctly under "at" looping over windows.
657
658       attrcolor attrib [attribute/color-modifier]
659
660       This command can be used to highlight attributes by changing the  color
661       of  the  text.  If  the  attribute  attrib  is  in  use,  the specified
662       attribute/color modifier is also applied. If no modifier is given,  the
663       current one is deleted. See the "STRING ESCAPES" chapter for the syntax
664       of the modifier. Screen understands two pseudo-attributes,  "i"  stands
665       for  high-intensity  foreground  color and "I" for high-intensity back‐
666       ground color.
667
668       Examples:
669
670              attrcolor b "R"
671
672       Change the color to bright red if bold text is to be printed.
673
674              attrcolor u "-u b"
675
676       Use blue text instead of underline.
677
678              attrcolor b ".I"
679
680       Use bright colors for  bold  text.  Most  terminal  emulators  do  this
681       already.
682
683              attrcolor i "+b"
684
685       Make bright colored text also bold.
686
687       autodetach on|off
688
689       Sets  whether screen will automatically detach upon hangup, which saves
690       all your running programs until they are resumed with a screen -r  com‐
691       mand.   When  turned off, a hangup signal will terminate screen and all
692       the processes it contains. Autodetach is on by default.
693
694       autonuke on|off
695
696       Sets whether a clear screen sequence should nuke all  the  output  that
697       has not been written to the terminal. See also "obuflimit".
698
699       backtick id lifespan autorefresh cmd args...
700       backtick id
701
702       Program  the  backtick command with the numerical id id.  The output of
703       such a command is used for substitution of the "%`" string escape.  The
704       specified  lifespan  is  the number of seconds the output is considered
705       valid. After this time, the command is run  again  if  a  corresponding
706       string  escape  is  encountered.  The autorefresh parameter triggers an
707       automatic refresh for caption and hardstatus strings after  the  speci‐
708       fied  number  of seconds. Only the last line of output is used for sub‐
709       stitution.
710       If both the lifespan and the autorefresh parameters are zero, the back‐
711       tick  program is expected to stay in the background and generate output
712       once in a while.  In this case, the command is executed right away  and
713       screen  stores  the  last  line  of  output. If a new line gets printed
714       screen will automatically refresh the hardstatus or the captions.
715       The second form of the command deletes the backtick  command  with  the
716       numerical id id.
717
718       bce [on|off]
719
720       Change background-color-erase setting. If "bce" is set to on, all char‐
721       acters cleared by an erase/insert/scroll/clear operation will  be  dis‐
722       played  in  the  current  background color. Otherwise the default back‐
723       ground color is used.
724
725       bell_msg [message]
726
727       When a bell character is sent to a background window, screen displays a
728       notification  in the message line.  The notification message can be re-
729       defined by this command.  Each occurrence of `%' in message is replaced
730       by  the  number  of  the window to which a bell has been sent, and each
731       occurrence of `^G' is replaced by the definition for bell in your term‐
732       cap (usually an audible bell).  The default message is
733
734                   'Bell in window %n'
735
736       An  empty message can be supplied to the "bell_msg" command to suppress
737       output of a message line (bell_msg "").  Without parameter, the current
738       message is shown.
739
740       bind [-c class] key [command [args]]
741
742       Bind  a command to a key.  By default, most of the commands provided by
743       screen are bound to one or more keys as indicated in the  "DEFAULT  KEY
744       BINDINGS"  section, e.g. the command to create a new window is bound to
745       "C-c" and "c".  The "bind" command can be  used  to  redefine  the  key
746       bindings and to define new bindings.  The key argument is either a sin‐
747       gle character, a two-character sequence of the form "^x"  (meaning  "C-
748       x"), a backslash followed by an octal number (specifying the ASCII code
749       of the character), or a backslash followed by a second character,  such
750       as  "\^" or "\\".  The argument can also be quoted, if you like.  If no
751       further argument is given, any previously established binding for  this
752       key is removed.  The command argument can be any command listed in this
753       section.
754
755       If a command class is specified via the "-c" option, the key  is  bound
756       for the specified class. Use the "command" command to activate a class.
757       Command classes can be used to create multiple command keys  or  multi-
758       character bindings.
759
760       Some examples:
761
762                   bind ' ' windows
763                   bind ^k
764                   bind k
765                   bind K kill
766                   bind ^f screen telnet foobar
767                   bind \033 screen -ln -t root -h 1000 9 su
768
769       would bind the space key to the command that displays a list of windows
770       (so that the command usually invoked by "C-a C-w" would also be  avail‐
771       able  as  "C-a  space").  The  next three lines remove the default kill
772       binding from "C-a C-k" and "C-a k".  "C-a K" is then bound to the  kill
773       command.  Then  it  binds  "C-f" to the command "create a window with a
774       TELNET connection to foobar", and bind "escape"  to  the  command  that
775       creates an non-login window with a.k.a. "root" in slot #9, with a supe‐
776       ruser shell and a scrollback buffer of 1000 lines.
777
778                   bind -c demo1 0 select 10
779                   bind -c demo1 1 select 11
780                   bind -c demo1 2 select 12
781                   bindkey "^B" command -c demo1
782
783       makes "C-b 0" select window 10, "C-b 1" window 11, etc.
784
785                   bind -c demo2 0 select 10
786                   bind -c demo2 1 select 11
787                   bind -c demo2 2 select 12
788                   bind - command -c demo2
789
790       makes "C-a - 0" select window 10, "C-a - 1" window 11, etc.
791
792       bindkey [-d] [-m] [-a] [[-k|-t] string [cmd args]]
793
794       This command manages screen's input translation tables. Every entry  in
795       one  of  the  tables tells screen how to react if a certain sequence of
796       characters is encountered. There are three tables: one that should con‐
797       tain  actions  programmed by the user, one for the default actions used
798       for terminal emulation and one for screen's  copy  mode  to  do  cursor
799       movement.  See  section  "INPUT  TRANSLATION" for a list of default key
800       bindings.
801       If the -d option is given,  bindkey  modifies  the  default  table,  -m
802       changes  the  copy mode table and with neither option the user table is
803       selected.  The argument string is the sequence of characters  to  which
804       an action is bound. This can either be a fixed string or a termcap key‐
805       board capability name (selectable with the -k option).
806       Some keys on a VT100 terminal can send a different string  if  applica‐
807       tion  mode  is  turned  on  (e.g  the cursor keys).  Such keys have two
808       entries in the translation table. You can select the  application  mode
809       entry by specifying the -a option.
810       The -t option tells screen not to do inter-character timing. One cannot
811       turn off the timing if a termcap capability is used.
812       Cmd can be any of screen's commands with an arbitrary number  of  args.
813       If cmd is omitted the key-binding is removed from the table.
814       Here are some examples of keyboard bindings:
815
816               bindkey -d
817       Show  all of the default key bindings. The application mode entries are
818       marked with [A].
819
820               bindkey -k k1 select 1
821       Make the "F1" key switch to window one.
822
823               bindkey -t foo stuff barfoo
824       Make "foo" an abbreviation of the word "barfoo". Timeout is disabled so
825       that users can type slowly.
826
827               bindkey "\024" mapdefault
828       This  key-binding  makes  "^T" an escape character for key-bindings. If
829       you did the above "stuff barfoo" binding, you can enter the word  "foo"
830       by  typing  "^Tfoo". If you want to insert a "^T" you have to press the
831       key twice (i.e., escape the escape binding).
832
833               bindkey -k F1 command
834       Make the F11 (not F1!) key an alternative screen escape (besides ^A).
835
836       break [duration]
837
838       Send a break signal for duration*0.25 seconds to this window.  For non-
839       Posix  systems  the  time  interval  may be rounded up to full seconds.
840       Most useful if a character device is attached to the window rather than
841       a shell process (See also chapter "WINDOW TYPES"). The maximum duration
842       of a break signal is limited to 15 seconds.
843
844       blanker
845
846       Activate the screen blanker. First the screen is cleared. If no blanker
847       program is defined, the cursor is turned off, otherwise, the program is
848       started and it's output is written to the screen.  The  screen  blanker
849       is killed with the first keypress, the read key is discarded.
850       This command is normally used together with the "idle" command.
851
852       blankerprg [program args]
853
854       Defines  a  blanker  program.  Disables the blanker program if an empty
855       argument is given. Shows the currently set blanker program if no  argu‐
856       ments are given.
857
858       breaktype [tcsendbreak|TIOCSBRK |TCSBRK]
859
860       Choose  one  of  the available methods of generating a break signal for
861       terminal devices. This command should affect the current  window  only.
862       But  it still behaves identical to "defbreaktype". This will be changed
863       in the future.  Calling "breaktype"  with  no  parameter  displays  the
864       break method for the current window.
865
866       bufferfile [exchange-file]
867
868       Change the filename used for reading and writing with the paste buffer.
869       If the optional argument to the "bufferfile" command  is  omitted,  the
870       default setting ("/tmp/screen-exchange") is reactivated.  The following
871       example will paste the system's password file into  the  screen  window
872       (using the paste buffer, where a copy remains):
873
874                   C-a : bufferfile /etc/passwd
875                   C-a < C-a ]
876                   C-a : bufferfile
877
878       c1 [on|off]
879
880       Change  c1  code  processing.  "C1  on" tells screen to treat the input
881       characters between 128 and 159 as control  functions.   Such  an  8-bit
882       code  is  normally  the same as ESC followed by the corresponding 7-bit
883       code. The default setting is to process c1 codes  and  can  be  changed
884       with the "defc1" command.  Users with fonts that have usable characters
885       in the c1 positions may want to turn this off.
886
887       caption always|splitonly [string]
888       caption string [string]
889
890       This command controls the display of the window  captions.  Normally  a
891       caption  is  only  used if more than one window is shown on the display
892       (split screen mode). But if the type is set to always  screen  shows  a
893       caption even if only one window is displayed. The default is splitonly.
894
895       The  second form changes the text used for the caption. You can use all
896       escapes from the "STRING ESCAPES" chapter. Screen  uses  a  default  of
897       `%3n %t'.
898
899       You can mix both forms by providing a string as an additional argument.
900
901       charset set
902
903       Change  the current character set slot designation and charset mapping.
904       The first four character of set  are  treated  as  charset  designators
905       while the fifth and sixth character must be in range '0' to '3' and set
906       the GL/GR charset mapping. On every position a '.' may be used to indi‐
907       cate  that the corresponding charset/mapping should not be changed (set
908       is padded to six characters internally by appending  '.'   chars).  New
909       windows  have  "BBBB02" as default charset, unless a "encoding" command
910       is active.
911       The current setting can be viewed with the "info" command.
912
913       chdir [directory]
914
915       Change the current directory of screen to the specified  directory  or,
916       if called without an argument, to your home directory (the value of the
917       environment variable $HOME).  All windows that are created by means  of
918       the  "screen"  command  from  within  ".screenrc" or by means of "C-a :
919       screen ..." or "C-a c" use this as their default directory.  Without  a
920       chdir  command,  this  would  be  the  directory  from which screen was
921       invoked.  Hardcopy and log files are always  written  to  the  window's
922       default  directory, not the current directory of the process running in
923       the window.  You can use this command multiple times in your  .screenrc
924       to start various windows in different default directories, but the last
925       chdir value will affect all the windows you create interactively.
926
927       clear
928
929       Clears the current window and saves its image to the scrollback buffer.
930
931       colon [prefix]
932
933       Allows you to enter ".screenrc" command lines.  Useful  for  on-the-fly
934       modification  of  key  bindings,  specific window creation and changing
935       settings. Note that the "set" keyword no longer  exists!  Usually  com‐
936       mands affect the current window rather than default settings for future
937       windows. Change defaults with commands starting with 'def...'.
938
939       If you consider this as the `Ex command mode' of screen, you may regard
940       "C-a esc" (copy mode) as its `Vi command mode'.
941
942       command [-c class]
943
944       This  command has the same effect as typing the screen escape character
945       (^A). It is probably only useful for key bindings.  If the "-c"  option
946       is  given,  select  the  specified  command class.  See also "bind" and
947       "bindkey".
948
949       compacthist [on|off]
950
951       This tells  screen  whether  to  suppress  trailing  blank  lines  when
952       scrolling up text into the history buffer.
953
954       console [on|off]
955
956       Grabs  or un-grabs the machines console output to a window.  Note: Only
957       the owner of /dev/console can grab the console output.  This command is
958       only available if the machine supports the ioctl TIOCCONS.
959
960       copy
961
962       Enter  copy/scrollback mode. This allows you to copy text from the cur‐
963       rent window and its history into the paste buffer. In this mode  a  vi-
964       like `full screen editor' is active:
965       Movement keys:
966         h, C-h, or left arrow move the cursor left.
967         j, C-n, or down arrow move the cursor down.
968         k, C-p, or up arrow move the cursor up.
969         l ('el') or right arrow move the cursor right.
970         0 (zero) or C-a move to the leftmost column.
971         + and - positions one line up and down.
972         H,  M and L move the cursor to the leftmost column of the top, center
973           or bottom line of the window.
974         | moves to the specified absolute column.
975         g or home moves to the beginning of the buffer.
976         G or end moves to the specified absolute line (default: end  of  buf‐
977           fer).
978         % jumps to the specified percentage of the buffer.
979         ^  or  $ move to the leftmost column, to the first or last non-white‐
980           space character on the line.
981         w, b, and e move the cursor word by word.
982         B, E move the cursor WORD by WORD (as in vi).
983         f/F, t/T move the cursor forward/backward to the  next  occurence  of
984           the  target.  (eg, '3fy' will move the cursor to the 3rd 'y' to the
985           right.)
986         ; and , Repeat the last f/F/t/T command in the  same/opposite  direc‐
987           tion.
988         C-e  and  C-y scroll the display up/down by one line while preserving
989           the cursor position.
990         C-u and C-d scroll the display up/down by  the  specified  amount  of
991           lines  while preserving the cursor position. (Default: half screen-
992           full).
993         C-b and C-f scroll the display up/down a full screen.
994
995       Note:
996           Emacs style movement keys can be customized by a .screenrc command.
997           (E.g.  markkeys  "h=^B:l=^F:$=^E")  There is no simple method for a
998           full emacs-style keymap, as this involves multi-character codes.
999
1000       Marking:
1001           The copy range is specified by setting two marks. The text  between
1002           these marks will be highlighted. Press:
1003         space  or  enter  to  set  the  first or second mark respectively. If
1004           mousetrack is set to `on', marks can also be set using  left  mouse
1005           click.
1006         Y and y used to mark one whole line or to mark from start of line.
1007         W marks exactly one word.
1008       Repeat count:
1009           Any of these commands can be prefixed with a repeat count number by
1010           pressing digits
1011         0..9 which is taken as a repeat count.
1012           Example: "C-a C-[ H 10 j 5 Y" will copy lines 11  to  15  into  the
1013           paste buffer.
1014       Searching:
1015         / Vi-like search forward.
1016         ? Vi-like search backward.
1017         C-a s Emacs style incremental search forward.
1018         C-r Emacs style reverse i-search.
1019         n Find next search pattern.
1020         N Find previous search pattern.
1021       Specials:
1022           There  are  however  some keys that act differently than in vi.  Vi
1023           does not allow one to yank rectangular blocks of text,  but  screen
1024           does. Press:
1025         c  or  C  to  set the left or right margin respectively. If no repeat
1026           count is given, both default to the current cursor position.
1027           Example: Try this on a rather full text screen: "C-a [ M 20 l SPACE
1028           c 10 l 5 j C SPACE".
1029
1030           This  moves  one to the middle line of the screen, moves in 20 col‐
1031           umns left, marks the beginning of the paste buffer, sets  the  left
1032           column, moves 5 columns down, sets the right column, and then marks
1033           the end of the paste buffer. Now try:
1034           "C-a [ M 20 l SPACE 10 l 5 j SPACE"
1035
1036           and notice the difference in the amount of text copied.
1037         J joins lines. It toggles between 4 modes: lines separated by a  new‐
1038           line  character  (012),  lines glued seamless, lines separated by a
1039           single whitespace and comma separated  lines.  Note  that  you  can
1040           prepend  the newline character with a carriage return character, by
1041           issuing a "crlf on".
1042         v or V is for all the vi users with ":set numbers" - it  toggles  the
1043           left margin between column 9 and 1. Press
1044         a  before the final space key to toggle in append mode. Thus the con‐
1045           tents of the paste buffer will not be overwritten, but is  appended
1046           to.
1047         A toggles in append mode and sets a (second) mark.
1048         >  sets the (second) mark and writes the contents of the paste buffer
1049           to the screen-exchange file (/tmp/screen-exchange per default) once
1050           copy-mode is finished.
1051           This  example  demonstrates how to dump the whole scrollback buffer
1052           to that file: "C-A [ g SPACE G $ >".
1053         C-g gives information about the current line and column.
1054         x or o exchanges the first mark and the current cursor position.  You
1055           can use this to adjust an already placed mark.
1056         C-l ('el') will redraw the screen.
1057         @ does nothing. Does not even exit copy mode.
1058         All keys not described here exit copy mode.
1059
1060       copy_reg [key]
1061
1062       No longer exists, use "readreg" instead.
1063
1064       crlf [on|off]
1065
1066       This  affects  the copying of text regions with the `C-a [' command. If
1067       it is set to `on',  lines  will  be  separated  by  the  two  character
1068       sequence  `CR' - `LF'.  Otherwise (default) only `LF' is used.  When no
1069       parameter is given, the state is toggled.
1070
1071       debug on|off
1072
1073       Turns runtime debugging on or off. If screen  has  been  compiled  with
1074       option  -DDEBUG  debugging available and is turned on per default. Note
1075       that this command only affects debugging output from the main  "SCREEN"
1076       process  correctly.  Debug  output  from attacher processes can only be
1077       turned off once and forever.
1078
1079       defc1 on|off
1080
1081       Same as the c1 command except that the default setting for new  windows
1082       is changed. Initial setting is `on'.
1083
1084       defautonuke on|off
1085
1086       Same  as  the  autonuke command except that the default setting for new
1087       displays is changed. Initial setting is `off'.  Note that you  can  use
1088       the  special  `AN' terminal capability if you want to have a dependency
1089       on the terminal type.
1090
1091       defbce on|off
1092
1093       Same as the bce command except that the default setting for new windows
1094       is changed. Initial setting is `off'.
1095
1096       defbreaktype [tcsendbreak|TIOCSBRK |TCSBRK]
1097
1098       Choose  one  of  the available methods of generating a break signal for
1099       terminal devices. The preferred methods are tcsendbreak  and  TIOCSBRK.
1100       The  third, TCSBRK, blocks the complete screen session for the duration
1101       of the break, but it may be the  only  way  to  generate  long  breaks.
1102       Tcsendbreak and TIOCSBRK may or may not produce long breaks with spikes
1103       (e.g. 4 per second). This is not only system-dependent, this also  dif‐
1104       fers  between  serial  board  drivers.   Calling "defbreaktype" with no
1105       parameter displays the current setting.
1106
1107       defcharset [set]
1108
1109       Like the charset command except that the default setting for  new  win‐
1110       dows is changed. Shows current default if called without argument.
1111
1112       defescape xy
1113
1114       Set  the default command characters. This is equivalent to the "escape"
1115       except that it is useful multiuser sessions only. In a  multiuser  ses‐
1116       sion  "escape" changes the command character of the calling user, where
1117       "defescape" changes the default command characters for users that  will
1118       be added later.
1119
1120       defflow on|off|auto [interrupt]
1121
1122       Same  as  the flow command except that the default setting for new win‐
1123       dows is changed. Initial setting is `auto'.  Specifying  "defflow  auto
1124       interrupt" is the same as the command-line options -fa and -i.
1125
1126       defgr on|off
1127
1128       Same  as the gr command except that the default setting for new windows
1129       is changed. Initial setting is `off'.
1130
1131       defhstatus [status]
1132
1133       The hardstatus line that all new windows will get  is  set  to  status.
1134       This  command  is useful to make the hardstatus of every window display
1135       the window number or title or the like.  Status may  contain  the  same
1136       directives  as in the window messages, but the directive escape charac‐
1137       ter is '^E' (octal 005) instead of '%'.  This was done to make a misin‐
1138       terpretation  of program generated hardstatus lines impossible.  If the
1139       parameter status is omitted, the current default string  is  displayed.
1140       Per default the hardstatus line of new windows is empty.
1141
1142       defencoding enc
1143
1144       Same  as  the  encoding command except that the default setting for new
1145       windows is changed. Initial setting is the encoding taken from the ter‐
1146       minal.
1147
1148       deflog on|off
1149
1150       Same as the log command except that the default setting for new windows
1151       is changed. Initial setting is `off'.
1152
1153       deflogin on|off
1154
1155       Same as the login command except that the default setting for new  win‐
1156       dows is changed. This is initialized with `on' as distributed (see con‐
1157       fig.h.in).
1158
1159       defmode mode
1160
1161       The mode of each newly allocated pseudo-tty is set to mode.  Mode is an
1162       octal number.  When no "defmode" command is given, mode 0622 is used.
1163
1164       defmonitor on|off
1165
1166       Same  as  the  monitor  command except that the default setting for new
1167       windows is changed. Initial setting is `off'.
1168
1169       defmousetrack on|off
1170
1171       Same as the mousetrack command except that the default setting for  new
1172       windows is changed. Initial setting is `off'.
1173
1174       defnonblock on|off|numsecs
1175
1176       Same  as  the nonblock command except that the default setting for dis‐
1177       plays is changed. Initial setting is `off'.
1178
1179       defobuflimit limit
1180
1181       Same as the obuflimit command except that the default setting  for  new
1182       displays  is  changed. Initial setting is 256 bytes.  Note that you can
1183       use the special 'OL' terminal capability if you want to have  a  depen‐
1184       dency on the terminal type.
1185
1186       defscrollback num
1187
1188       Same  as the scrollback command except that the default setting for new
1189       windows is changed. Initial setting is 100.
1190
1191       defshell command
1192
1193       Synonym to the shell command. See there.
1194
1195       defsilence on|off
1196
1197       Same as the silence command except that the  default  setting  for  new
1198       windows is changed. Initial setting is `off'.
1199
1200       defslowpaste msec"
1201
1202       Same  as  the slowpaste command except that the default setting for new
1203       windows is changed. Initial setting is 0 milliseconds, meaning `off'.
1204
1205       defutf8 on|off
1206
1207       Same as the utf8 command except that the default setting for  new  win‐
1208       dows  is  changed.  Initial  setting is `on' if screen was started with
1209       "-U", otherwise `off'.
1210
1211       defwrap on|off
1212
1213       Same as the wrap command except that the default setting for  new  win‐
1214       dows  is changed. Initially line-wrap is on and can be toggled with the
1215       "wrap" command ("C-a r") or by means of "C-a : wrap on|off".
1216
1217       defwritelock on|off|auto
1218
1219       Same as the writelock command except that the default setting  for  new
1220       windows is changed. Initially writelocks will off.
1221
1222       defzombie [keys]
1223
1224       Synonym  to the zombie command. Both currently change the default.  See
1225       there.
1226
1227       detach [-h]
1228
1229       Detach the screen session (disconnect it from the terminal and  put  it
1230       into  the background).  This returns you to the shell where you invoked
1231       screen.  A detached screen can be resumed by invoking screen  with  the
1232       -r  option  (see  also  section  "COMMAND-LINE OPTIONS"). The -h option
1233       tells screen to  immediately  close  the  connection  to  the  terminal
1234       ("hangup").
1235
1236       dinfo
1237
1238       Show what screen thinks about your terminal. Useful if you want to know
1239       why features like color or the alternate charset don't work.
1240
1241       displays
1242
1243       Shows a tabular listing of  all  currently  connected  user  front-ends
1244       (displays).  This is most useful for multiuser sessions.  The following
1245       keys can be used in displays list:
1246         k, C-p, or up Move up one line.
1247         j, C-n, or down Move down one line.
1248         C-a or home Move to the first line.
1249         C-e or end Move to the last line.
1250         C-u or C-d Move one half page up or down.
1251         C-b or C-f Move one full page up or down.
1252         mouseclick Move to the selected line. Available when "mousetrack"  is
1253           set to on.
1254         space Refresh the list
1255         d Detach that display
1256         D Power detach that display
1257         C-g, enter, or escape Exit the list
1258
1259       The following is an example of what "displays" could look like:
1260
1261              xterm 80x42 jnweiger@/dev/ttyp4     0(m11)   &rWx
1262              facit 80x24 mlschroe@/dev/ttyhf nb 11(tcsh)   rwx
1263              xterm 80x42 jnhollma@/dev/ttyp5     0(m11)   &R.x
1264               (A)   (B)     (C)     (D)     (E) (F)(G)   (H)(I)
1265
1266       The legend is as follows:
1267       (A) The terminal type known by screen for this display.
1268       (B) Displays geometry as width x height.
1269       (C) Username who is logged in at the display.
1270       (D) Device name of the display or the attached device
1271       (E) Display is in blocking or nonblocking mode. The available modes are
1272       "nb", "NB", "Z<", "Z>", and "BL".
1273       (F) Number of the window
1274       (G) Name/title of window
1275       (H) Whether the window is shared
1276       (I) Window permissions. Made up of three characters:
1277             (1st character)
1278                ‘-’ : no read
1279                ‘r’ : read
1280                ‘R’ : read only due to foreign wlock
1281             (2nd character)
1282                ‘-’ : no write
1283                ‘.’ : write suppressed by foreign wlock
1284                ‘w’ : write
1285                ‘W’ : own wlock
1286             (3rd character)
1287                ‘-’ : no execute
1288                ‘x’ : execute
1289
1290       "Displays" needs a region size of at least 10  characters  wide  and  5
1291       characters high in order to display.
1292
1293       digraph [preset[unicode-value]]
1294
1295       This  command  prompts  the  user  for a digraph sequence. The next two
1296       characters typed are looked up in a builtin  table  and  the  resulting
1297       character  is  inserted  in  the input stream. For example, if the user
1298       enters 'a"', an a-umlaut will  be  inserted.  If  the  first  character
1299       entered  is  a 0 (zero), screen will treat the following characters (up
1300       to three) as an octal number instead.  The optional argument preset  is
1301       treated  as user input, thus one can create an "umlaut" key.  For exam‐
1302       ple the command "bindkey ^K digraph '"'" enables the user  to  generate
1303       an a-umlaut by typing CTRL-K a.  When a non-zero unicode-value is spec‐
1304       ified, a new digraph is created with the specified preset. The  digraph
1305       is unset if a zero value is provided for the unicode-value.
1306
1307       dumptermcap
1308
1309       Write the termcap entry for the virtual terminal optimized for the cur‐
1310       rently  active  window  to  the   file   ".termcap"   in   the   user's
1311       "$HOME/.screen"  directory  (or wherever screen stores its sockets. See
1312       the "FILES" section below).  This termcap entry  is  identical  to  the
1313       value of the environment variable $TERMCAP that is set up by screen for
1314       each window. For terminfo based systems you will need  to  run  a  con‐
1315       verter like captoinfo and then compile the entry with tic.
1316
1317       echo [-n] message
1318
1319       The  echo  command may be used to annoy screen users with a 'message of
1320       the day'. Typically installed in a global  /etc/screenrc.   The  option
1321       "-n" may be used to suppress the line feed.  See also "sleep".  Echo is
1322       also useful for online checking of environment variables.
1323
1324       encoding enc [enc]
1325
1326       Tell screen how to interpret the input/output. The first argument  sets
1327       the encoding of the current window. Each window can emulate a different
1328       encoding. The optional second parameter overwrites the encoding of  the
1329       connected terminal. It should never be needed as screen uses the locale
1330       setting to detect the encoding.  There is also a way to select a termi‐
1331       nal  encoding  depending on the terminal type by using the "KJ" termcap
1332       entry.
1333
1334       Supported encodings are eucJP, SJIS, eucKR, eucCN, Big5,  GBK,  KOI8-R,
1335       CP1251,  UTF-8,  ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6,
1336       ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis.
1337
1338       See also "defencoding", which changes the default setting of a new win‐
1339       dow.
1340
1341       escape xy
1342
1343       Set  the  command character to x and the character generating a literal
1344       command character (by triggering the "meta" command) to y  (similar  to
1345       the  -e  option).   Each  argument is either a single character, a two-
1346       character sequence of the form "^x" (meaning "C-x"), a  backslash  fol‐
1347       lowed  by an octal number (specifying the ASCII code of the character),
1348       or a backslash followed by a second character, such as  "\^"  or  "\\".
1349       The default is "^Aa".
1350
1351       eval command1 [command2 ...]
1352
1353       Parses and executes each argument as separate command.
1354
1355       exec [[fdpat] newcommand [args ...]]
1356
1357       Run  a  unix subprocess (specified by an executable path newcommand and
1358       its optional arguments) in the current window. The flow of data between
1359       newcommands  stdin/stdout/stderr, the process originally started in the
1360       window (let us call it "application-process") and screen  itself  (win‐
1361       dow)  is controlled by the file descriptor pattern fdpat.  This pattern
1362       is basically a three character sequence representing stdin, stdout  and
1363       stderr of newcommand. A dot (.) connects the file descriptor to screen.
1364       An exclamation mark (!) causes the file descriptor to be  connected  to
1365       the application-process. A colon (:) combines both.  User input will go
1366       to newcommand unless newcommand receives the application-process'  out‐
1367       put  (fdpats  first  character  is  `!' or `:') or a pipe symbol (|) is
1368       added (as a fourth character) to the end of fdpat.
1369       Invoking `exec' without arguments shows name and arguments of the  cur‐
1370       rently  running  subprocess  in this window. Only one subprocess a time
1371       can be running in each window.
1372       When a subprocess is running the `kill' command will affect it  instead
1373       of the windows process.
1374       Refer  to  the postscript file `doc/fdpat.ps' for a confusing illustra‐
1375       tion of all 21 possible combinations. Each  drawing  shows  the  digits
1376       2,1,0  representing  the  three file descriptors of newcommand. The box
1377       marked `W' is the usual pty that has  the  application-process  on  its
1378       slave  side.   The  box  marked  `P'  is the secondary pty that now has
1379       screen at its master side.
1380
1381       Abbreviations:
1382       Whitespace between the word `exec' and fdpat and  the  command  can  be
1383       omitted. Trailing dots and a fdpat consisting only of dots can be omit‐
1384       ted. A simple `|' is synonymous for the pattern `!..|'; the  word  exec
1385       can be omitted here and can always be replaced by `!'.
1386
1387       Examples:
1388
1389              exec ... /bin/sh
1390              exec /bin/sh
1391              !/bin/sh
1392
1393       Creates  another  shell in the same window, while the original shell is
1394       still running. Output of both shells is displayed  and  user  input  is
1395       sent to the new /bin/sh.
1396
1397              exec !.. stty 19200
1398              exec ! stty 19200
1399              !!stty 19200
1400
1401       Set  the  speed  of  the window's tty. If your stty command operates on
1402       stdout, then add another `!'.
1403
1404              exec !..| less
1405              |less
1406
1407       This adds a pager to the window output. The special  character  `|'  is
1408       needed  to  give  the  user control over the pager although it gets its
1409       input from the window's process. This works, because  less  listens  on
1410       stderr  (a  behavior that screen would not expect without the `|') when
1411       its stdin is not a tty.  Less versions newer than  177  fail  miserably
1412       here; good old pg still works.
1413
1414              !:sed -n s/.*Error.*/\007/p
1415
1416       Sends  window  output  to  both,  the user and the sed command. The sed
1417       inserts an additional bell character (oct. 007) to  the  window  output
1418       seen  by screen.  This will cause "Bell in window x" messages, whenever
1419       the string "Error" appears in the window.
1420
1421       fit
1422
1423       Change the window size to the size of the current region. This  command
1424       is needed because screen doesn't adapt the window size automatically if
1425       the window is displayed more than once.
1426
1427       flow [on|off|auto]
1428
1429       Sets the flow-control mode for  this  window.   Without  parameters  it
1430       cycles  the  current  window's flow-control setting from "automatic" to
1431       "on" to "off".  See the discussion on "FLOW-CONTROL" later on  in  this
1432       document  for  full details and note, that this is subject to change in
1433       future releases.  Default is set by `defflow'.
1434
1435       focus [up|down|top|bottom]
1436
1437       Move the input focus to the next region. This is done in a  cyclic  way
1438       so  that the top region is selected after the bottom one. If no subcom‐
1439       mand is given it defaults to `down'. `up' cycles in the opposite order,
1440       `top' and `bottom' go to the top and bottom region respectively. Useful
1441       bindings are (j and k as in vi)
1442           bind j focus down
1443           bind k focus up
1444           bind t focus top
1445           bind b focus bottom
1446       Note that k is traditionally bound to the kill command.
1447
1448       focusminsize [ ( width|max|_ ) ( height|max|_ ) ]
1449
1450       This forces any currently selected region to be  automatically  resized
1451       at least a certain width and height. All other surrounding regions will
1452       be resized in order to accommodate.  This constraint follows  everytime
1453       the  "focus"  command  is  used.  The  "resize"  command can be used to
1454       increase either dimension of a region, but never below what is set with
1455       "focusminsize".  The  underscore  `_'  is  a synonym for max. Setting a
1456       width and height of `0 0' (zero zero) will  undo  any  constraints  and
1457       allow  for  manual resizing.  Without any parameters, the minimum width
1458       and height is shown.
1459
1460       gr [on|off]
1461
1462       Turn GR charset switching on/off. Whenever screen sees an input charac‐
1463       ter with the 8th bit set, it will use the charset stored in the GR slot
1464       and print the character with the 8th bit  stripped.  The  default  (see
1465       also  "defgr")  is  not  to  process GR switching because otherwise the
1466       ISO88591 charset would not work.
1467
1468       group [grouptitle]
1469
1470       Change or show the group the current window belongs to. Windows can  be
1471       moved  around  between  different  groups by specifying the name of the
1472       destination group. Without specifying a group, the title of the current
1473       group is displayed.
1474
1475       hardcopy [-h] [file]
1476
1477       Writes  out  the  currently displayed image to the file file, or, if no
1478       filename is specified, to hardcopy.n in the default directory, where  n
1479       is the number of the current window.  This either appends or overwrites
1480       the file if it exists. See below.  If the option -h is specified,  dump
1481       also the contents of the scrollback buffer.
1482
1483       hardcopy_append on|off
1484
1485       If set to "on", screen will append to the "hardcopy.n" files created by
1486       the command "C-a h", otherwise these files are overwritten  each  time.
1487       Default is `off'.
1488
1489       hardcopydir directory
1490
1491       Defines  a  directory  where  hardcopy  files will be placed. If unset,
1492       hardcopys are dumped in screen's current working directory.
1493
1494       hardstatus [on|off]
1495       hardstatus [always]lastline|message|ignore [string]
1496       hardstatus string [string]
1497
1498       This command configures the use and emulation of the  terminal's  hard‐
1499       status  line.  The first form toggles whether screen will use the hard‐
1500       ware status line to display messages. If the  flag  is  set  to  `off',
1501       these  messages are overlaid in reverse video mode at the display line.
1502       The default setting is `on'.
1503
1504       The second form tells screen what to do if the terminal doesn't have  a
1505       hardstatus  line  (i.e.  the  termcap/terminfo capabilities "hs", "ts",
1506       "fs" and "ds" are not set). If the type "lastline" is used, screen will
1507       reserve the last line of the display for the hardstatus. "message" uses
1508       screen's message mechanism and "ignore" tells screen never  to  display
1509       the  hardstatus.   If  you prepend the word "always" to the type (e.g.,
1510       "alwayslastline"), screen will use the type even if the  terminal  sup‐
1511       ports a hardstatus.
1512
1513       The  third form specifies the contents of the hardstatus line.  '%h' is
1514       used as default string, i.e., the stored hardstatus of the current win‐
1515       dow  (settable  via  "ESC]0;<string>^G"  or "ESC_<string>ESC\") is dis‐
1516       played.  You can customize this to any string you  like  including  the
1517       escapes  from  the "STRING ESCAPES" chapter. If you leave out the argu‐
1518       ment string, the current string is displayed.
1519
1520       You can mix the second and third form by providing the string as  addi‐
1521       tional argument.
1522
1523       height [-w|-d] [lines [cols]]
1524
1525       Set the display height to a specified number of lines. When no argument
1526       is given it toggles between 24 and 42 lines display. You can also spec‐
1527       ify  a  width  if  you want to change both values.  The -w option tells
1528       screen to leave the display size unchanged  and  just  set  the  window
1529       size, -d vice versa.
1530
1531       help [-c class]
1532
1533       Not  really  a  online help, but displays a help screen showing you all
1534       the key bindings.  The first pages list all the internal commands  fol‐
1535       lowed  by  their  current  bindings.  Subsequent pages will display the
1536       custom commands, one command per key.  Press  space  when  you're  done
1537       reading  each  page, or return to exit early.  All other characters are
1538       ignored. If the "-c" option is given, display all  bound  commands  for
1539       the specified command class.  See also "DEFAULT KEY BINDINGS" section.
1540
1541       history
1542
1543       Usually  users  work  with  a shell that allows easy access to previous
1544       commands.  For example csh has the command "!!" to repeat the last com‐
1545       mand executed.  Screen allows you to have a primitive way of re-calling
1546       "the command that started ...": You just type the first letter of  that
1547       command, then hit `C-a {' and screen tries to find a previous line that
1548       matches with the `prompt character' to the left  of  the  cursor.  This
1549       line  is  pasted into this window's input queue.  Thus you have a crude
1550       command history (made up by the visible window and its scrollback  buf‐
1551       fer).
1552
1553       hstatus status
1554
1555       Change the window's hardstatus line to the string status.
1556
1557       idle [timeout [cmd args]]
1558
1559       Sets  a command that is run after the specified number of seconds inac‐
1560       tivity is reached. This command will normally be the "blanker"  command
1561       to  create  a  screen blanker, but it can be any screen command.  If no
1562       command is specified, only the timeout is set. A timeout  of  zero  (or
1563       the  special  timeout  off)  disables  the  timer.  If no arguments are
1564       given, the current settings are displayed.
1565
1566       ignorecase [on|off]
1567
1568       Tell screen to ignore the case of characters in  searches.  Default  is
1569       `off'. Without any options, the state of ignorecase is toggled.
1570
1571       info
1572
1573       Uses  the  message  line  to display some information about the current
1574       window: the cursor position in the form  "(column,row)"  starting  with
1575       "(1,1)",  the terminal width and height plus the size of the scrollback
1576       buffer in lines, like in "(80,24)+50",  the  current  state  of  window
1577       XON/XOFF  flow  control  is shown like this (See also section FLOW CON‐
1578       TROL):
1579
1580         +flow     automatic flow control, currently on.
1581         -flow     automatic flow control, currently off.
1582         +(+)flow  flow control enabled. Agrees with automatic control.
1583         -(+)flow  flow control disabled. Disagrees with automatic control.
1584         +(-)flow  flow control enabled. Disagrees with automatic control.
1585         -(-)flow  flow control disabled. Agrees with automatic control.
1586
1587       The current line wrap setting (`+wrap' indicates enabled, `-wrap'  not)
1588       is  also  shown. The flags `ins', `org', `app', `log', `mon' or `nored'
1589       are displayed when the window is in insert mode, origin mode,  applica‐
1590       tion-keypad  mode,  has  output logging, activity monitoring or partial
1591       redraw enabled.
1592
1593       The currently active character set (G0, G1, G2, or G3)  and  in  square
1594       brackets  the  terminal character sets that are currently designated as
1595       G0 through G3 is shown. If the window is  in  UTF-8  mode,  the  string
1596       "UTF-8" is shown instead.
1597
1598       Additional  modes  depending on the type of the window are displayed at
1599       the end of the status line (See also chapter "WINDOW TYPES").
1600       If the state machine of the  terminal  emulator  is  in  a  non-default
1601       state,  the  info line is started with a string identifying the current
1602       state.
1603       For system information use the "time" command.
1604
1605       ins_reg [key]
1606
1607       No longer exists, use "paste" instead.
1608
1609       kill
1610
1611       Kill current window.
1612       If there is an `exec' command running then it is killed. Otherwise  the
1613       process  (shell) running in the window receives a HANGUP condition, the
1614       window structure is removed  and  screen  (your  display)  switches  to
1615       another  window.   When  the  last  window  is destroyed, screen exits.
1616       After a kill screen switches to the previously displayed window.
1617       Note: Emacs users should keep this command  in  mind,  when  killing  a
1618       line.   It  is recommended not to use "C-a" as the screen escape key or
1619       to rebind kill to "C-a K".
1620
1621       lastmsg
1622
1623       Redisplay the last contents of  the  message/status  line.   Useful  if
1624       you're  typing  when  a message appears, because  the message goes away
1625       when you press a key (unless your terminal has a hardware status line).
1626       Refer to the commands "msgwait" and "msgminwait" for fine tuning.
1627
1628       layout new [title]
1629
1630       Create  a new layout. The screen will change to one whole region and be
1631       switched to the blank window. From here, you build the regions and  the
1632       windows  they  show as you desire. The new layout will be numbered with
1633       the smallest available integer, starting with zero. You can  optionally
1634       give  a  title  to  your new layout.  Otherwise, it will have a default
1635       title of "layout". You can always change the title later by  using  the
1636       command layout title.
1637
1638       layout remove [n|title]
1639
1640       Remove, or in other words, delete the specified layout. Either the num‐
1641       ber or the title can be specified. Without either specification, screen
1642       will remove the current layout.
1643
1644       Removing a layout does not affect your set windows or regions.
1645
1646       layout next
1647
1648       Switch to the next layout available
1649
1650       layout prev
1651
1652       Switch to the previous layout available
1653
1654       layout select [n|title]
1655
1656       Select the desired layout. Either the number or the title can be speci‐
1657       fied. Without either specification, screen will prompt  and  ask  which
1658       screen  is  desired. To see which layouts are available, use the layout
1659       show command.
1660
1661       layout show
1662
1663       List on the message line the number(s) and title(s)  of  the  available
1664       layout(s). The current layout is flagged.
1665
1666       layout title [title]
1667
1668       Change  or display the title of the current layout. A string given will
1669       be used to name the layout. Without any options, the current title  and
1670       number is displayed on the message line.
1671
1672       layout number [n]
1673
1674       Change  or  display  the number of the current layout. An integer given
1675       will be used to number the layout. Without  any  options,  the  current
1676       number and title is displayed on the message line.
1677
1678       layout attach [title|:last]
1679
1680       Change  or  display  which  layout  to reattach back to. The default is
1681       :last, which tells screen to reattach back to the last used layout just
1682       before  detachment.  By  supplying  a title, You can instruct screen to
1683       reattach to a particular layout regardless which one was  used  at  the
1684       time of detachment. Without any options, the layout to reattach to will
1685       be shown in the message line.
1686
1687       layout save [n|title]
1688
1689       Remember the current arrangement of regions.  When  used,  screen  will
1690       remember  the arrangement of vertically and horizontally split regions.
1691       This arrangement is restored when a screen  session  is  reattached  or
1692       switched  back  from  a  different  layout.  If the session ends or the
1693       screen process dies, the layout arrangements are lost. The layout  dump
1694       command  should  help  in  this siutation. If a number or title is sup‐
1695       plied, screen will remember the arrangement of that particular  layout.
1696       Without any options, screen will remember the current layout.
1697
1698       Saving  your  regions  can  be  done  automatically by using the layout
1699       autosave command.
1700
1701       layout autosave [on|off]
1702
1703       Change or display  the  status  of  automatcally  saving  layouts.  The
1704       default  is on, meaning when screen is detached or changed to a differ‐
1705       ent layout, the arrangement of regions and windows will  be  remembered
1706       at  the time of change and restored upon return.  If autosave is set to
1707       off, that arrangement will only be restored to either to the last  man‐
1708       ual  save,  using layout save, or to when the layout was first created,
1709       to a single region with a single window. Without either an on  or  off,
1710       the current status is displayed on the message line.
1711
1712       layout dump [filename]
1713
1714       Write to a file the order of splits made in the current layout. This is
1715       useful to recreate the order of your regions used in your current  lay‐
1716       out.  Only  the  current  layout  is  recorded.  While the order of the
1717       regions are recorded, the sizes of those regions and which windows cor‐
1718       respond  to  which  regions  are  not. If no filename is specified, the
1719       default is layout-dump, saved in the directory that the screen  process
1720       was  started in. If the file already exists, layout dump will append to
1721       that file. As an example:
1722
1723                   C-a : layout dump /home/user/.screenrc
1724
1725       will save or append the layout to the user's .screenrc file.
1726
1727       license
1728
1729       Display the disclaimer page. This is done whenever  screen  is  started
1730       without   options,   which   should  be  often  enough.  See  also  the
1731       "startup_message" command.
1732
1733       lockscreen
1734
1735       Lock this  display.   Call  a  screenlock  program  (/local/bin/lck  or
1736       /usr/bin/lock  or  a builtin if no other is available). Screen does not
1737       accept any command keys until this program terminates.  Meanwhile  pro‐
1738       cesses  in  the  windows  may  continue,  as  the  windows  are  in the
1739       `detached' state. The screenlock program may  be  changed  through  the
1740       environment  variable  $LOCKPRG  (which  must  be set in the shell from
1741       which screen is started) and is executed with the user's uid and gid.
1742       Warning: When you leave other shells unlocked and you have no  password
1743       set  on  screen,  the  lock is void: One could easily re-attach from an
1744       unlocked shell. This feature should rather be called `lockterminal'.
1745
1746       log [on|off]
1747
1748       Start/stop writing output of the current window to a file "screenlog.n"
1749       in the window's default directory, where n is the number of the current
1750       window. This filename can be changed with the `logfile' command. If  no
1751       parameter is given, the state of logging is toggled. The session log is
1752       appended to the previous contents of the file if it already exists. The
1753       current  contents  and  the  contents of the scrollback history are not
1754       included in the session log.  Default is `off'.
1755
1756       logfile filename
1757       logfile flush secs
1758
1759       Defines the name the log files will get. The default is "screenlog.%n".
1760       The  second  form changes the number of seconds screen will wait before
1761       flushing the logfile buffer to the file-system. The default value is 10
1762       seconds.
1763
1764       login [on|off]
1765
1766       Adds  or  removes  the  entry in the utmp database file for the current
1767       window.  This controls if the window is `logged in'.  When no parameter
1768       is  given,  the  login state of the window is toggled.  Additionally to
1769       that toggle, it is convenient having a `log in' and a  `log  out'  key.
1770       E.g. `bind I login on' and `bind O login off' will map these keys to be
1771       C-a I and C-a O.  The default setting (in config.h.in) should  be  "on"
1772       for  a screen that runs under suid-root.  Use the "deflogin" command to
1773       change the default login state for new windows. Both commands are  only
1774       present when screen has been compiled with utmp support.
1775
1776       logtstamp [on|off]
1777       logtstamp after [secs]
1778       logtstamp string [string]
1779
1780       This command controls logfile time-stamp mechanism of screen.  If time-
1781       stamps are turned "on", screen adds a  string  containing  the  current
1782       time  to the logfile after two minutes of inactivity.  When output con‐
1783       tinues and more than another two minutes have passed,  a  second  time-
1784       stamp  is  added  to document the restart of the output. You can change
1785       this timeout with the second form of the command.  The  third  form  is
1786       used  for customizing the time-stamp string (`-- %n:%t -- time-stamp --
1787       %M/%d/%y %c:%s --\n' by default).
1788
1789       mapdefault
1790
1791       Tell screen that the next input character should only be looked  up  in
1792       the default bindkey table. See also "bindkey".
1793
1794       mapnotnext
1795
1796       Like mapdefault, but don't even look in the default bindkey table.
1797
1798       maptimeout [timeout]
1799
1800       Set the inter-character timer for input sequence detection to a timeout
1801       of timeout ms. The default timeout is 300ms. Maptimeout with  no  argu‐
1802       ments shows the current setting.  See also "bindkey".
1803
1804       markkeys string
1805
1806       This  is  a  method  of changing the keymap used for copy/history mode.
1807       The string is made up of oldchar=newchar pairs which are  separated  by
1808       `:'. Example: The string "B=^B:F=^F" will change the keys `C-b' and `C-
1809       f' to the vi style binding (scroll up/down fill page).  This happens to
1810       be  the  default  binding  for  `B'  and  `F'.   The  command "markkeys
1811       h=^B:l=^F:$=^E" would set the mode for an emacs-style binding.  If your
1812       terminal sends characters, that cause you to abort copy mode, then this
1813       command may help by binding these characters to do nothing.  The  no-op
1814       character  is `@' and is used like this: "markkeys @=L=H" if you do not
1815       want to use the `H' or `L' commands any longer.  As shown in this exam‐
1816       ple,  multiple  keys can be assigned to one function in a single state‐
1817       ment.
1818
1819       maxwin num
1820
1821       Set the maximum  window  number  screen  will  create.  Doesn't  affect
1822       already  existing  windows. The number can be increased only when there
1823       are no existing windows.
1824
1825       meta
1826
1827       Insert the command  character  (C-a)  in  the  current  window's  input
1828       stream.
1829
1830       monitor [on|off]
1831
1832       Toggles  activity  monitoring of windows.  When monitoring is turned on
1833       and an affected window  is  switched  into  the  background,  you  will
1834       receive  the  activity  notification  message in the status line at the
1835       first sign of output and the window will also be marked with an `@'  in
1836       the  window-status  display.   Monitoring is initially off for all win‐
1837       dows.
1838
1839       mousetrack [on|off]
1840
1841       This command determines whether screen will  watch  for  mouse  clicks.
1842       When  this  command is enabled, regions that have been split in various
1843       ways can be selected by pointing to them with a mouse and left-clicking
1844       them. Without specifying on or off, the current state is displayed. The
1845       default state is determined by the "defmousetrack" command.
1846
1847       msgminwait sec
1848
1849       Defines the time screen delays a new message when one message  is  cur‐
1850       rently displayed.  The default is 1 second.
1851
1852       msgwait sec
1853
1854       Defines  the  time a message is displayed if screen is not disturbed by
1855       other activity. The default is 5 seconds.
1856
1857       multiuser on|off
1858
1859       Switch between singleuser and multiuser mode. Standard screen operation
1860       is  singleuser.  In  multiuser  mode  the  commands `acladd', `aclchg',
1861       `aclgrp' and `acldel' can be used to enable (and disable)  other  users
1862       accessing this screen session.
1863
1864       nethack on|off
1865
1866       Changes the kind of error messages used by screen.  When you are famil‐
1867       iar with the game "nethack", you may enjoy the  nethack-style  messages
1868       which will often blur the facts a little, but are much funnier to read.
1869       Anyway, standard messages often tend to be unclear as well.
1870       This option is only available if screen was compiled with  the  NETHACK
1871       flag defined. The default setting is then determined by the presence of
1872       the environment variable $NETHACKOPTIONS and the file ~/.nethackrc - if
1873       either one is present, the default is on.
1874
1875       next
1876
1877       Switch  to  the  next  window.   This command can be used repeatedly to
1878       cycle through the list of windows.
1879
1880       nonblock [on|off|numsecs]
1881
1882       Tell screen how to deal with user interfaces (displays) that  cease  to
1883       accept output. This can happen if a user presses ^S or a TCP/modem con‐
1884       nection gets cut but no hangup is received. If nonblock is off (this is
1885       the default) screen waits until the display restarts to accept the out‐
1886       put. If nonblock is on, screen waits until the timeout is  reached  (on
1887       is  treated  as  1s).  If the display still doesn't receive characters,
1888       screen will consider it "blocked" and stop sending characters to it. If
1889       at  some time it restarts to accept characters, screen will unblock the
1890       display and redisplay the updated window contents.
1891
1892       number [[+|-]n]
1893
1894       Change the current window's number. If the given number  n  is  already
1895       used  by  another  window,  both  windows exchange their numbers. If no
1896       argument is specified, the current window number (and title) is  shown.
1897       Using `+' or `-' will change the window's number by the relative amount
1898       specified.
1899
1900       obuflimit [limit]
1901
1902       If the output buffer contains more bytes than the specified  limit,  no
1903       more  data  will be read from the windows. The default value is 256. If
1904       you have a fast display (like xterm), you can set  it  to  some  higher
1905       value. If no argument is specified, the current setting is displayed.
1906
1907       only
1908
1909       Kill all regions but the current one.
1910
1911       other
1912
1913       Switch  to  the  window  displayed  previously.  If this window does no
1914       longer exist, other has the same effect as next.
1915
1916       partial on|off
1917
1918       Defines whether the display should be  refreshed  (as  with  redisplay)
1919       after  switching  to  the current window. This command only affects the
1920       current window.  To immediately affect all windows use  the  allpartial
1921       command.  Default is `off', of course.  This default is fixed, as there
1922       is currently no defpartial command.
1923
1924       password [crypted_pw]
1925
1926       Present a crypted password in your ".screenrc" file and screen will ask
1927       for  it, whenever someone attempts to resume a detached. This is useful
1928       if you have privileged programs running under screen and  you  want  to
1929       protect  your session from reattach attempts by another user masquerad‐
1930       ing as your uid (i.e. any superuser.)  If no crypted password is speci‐
1931       fied, screen prompts twice for typing a password and places its encryp‐
1932       tion in the paste buffer.  Default is `none',  this  disables  password
1933       checking.
1934
1935       paste [registers [dest_reg]]
1936
1937       Write  the  (concatenated)  contents  of the specified registers to the
1938       stdin queue of the current window. The register '.' is treated  as  the
1939       paste  buffer. If no parameter is given the user is prompted for a sin‐
1940       gle register to paste.  The paste buffer can be filled with  the  copy,
1941       history  and  readbuf commands.  Other registers can be filled with the
1942       register, readreg and paste commands.  If paste is called with a second
1943       argument,  the  contents  of the specified registers is pasted into the
1944       named destination register rather than the window. If '.'  is  used  as
1945       the  second  argument,  the  displays  paste buffer is the destination.
1946       Note, that "paste" uses a wide variety of resources: Whenever a  second
1947       argument  is  specified  no  current  window is needed. When the source
1948       specification only contains registers (not the paste buffer) then there
1949       need not be a current display (terminal attached), as the registers are
1950       a global resource. The paste buffer exists once for every user.
1951
1952       pastefont [on|off]
1953
1954       Tell screen to include  font  information  in  the  paste  buffer.  The
1955       default  is  not  to do so. This command is especially useful for multi
1956       character fonts like kanji.
1957
1958       pow_break
1959
1960       Reopen the window's terminal line  and  send  a  break  condition.  See
1961       `break'.
1962
1963       pow_detach
1964
1965       Power  detach.  Mainly the same as detach, but also sends a HANGUP sig‐
1966       nal to the parent process of screen.  CAUTION: This will  result  in  a
1967       logout, when screen was started from your login shell.
1968
1969       pow_detach_msg [message]
1970
1971       The message specified here is output whenever a `Power detach' was per‐
1972       formed. It may be used as a replacement for  a  logout  message  or  to
1973       reset baud rate, etc.  Without parameter, the current message is shown.
1974
1975       prev
1976
1977       Switch  to  the window with the next lower number.  This command can be
1978       used repeatedly to cycle through the list of windows.
1979
1980       printcmd [cmd]
1981
1982       If cmd is not an empty string, screen will not use the  terminal  capa‐
1983       bilities  "po/pf"  if  it detects an ansi print sequence ESC [ 5 i, but
1984       pipe the output into cmd.  This should normally be a command like "lpr"
1985       or  "'cat  >  /tmp/scrprint'".  printcmd without a command displays the
1986       current setting.  The ansi sequence ESC \ ends printing and closes  the
1987       pipe.
1988       Warning:  Be careful with this command! If other user have write access
1989       to your terminal, they will be able to fire off print commands.
1990
1991       process [key]
1992
1993       Stuff the contents of the specified register into screen's input queue.
1994       If  no argument is given you are prompted for a register name. The text
1995       is parsed as if it had been typed in from  the  user's  keyboard.  This
1996       command can be used to bind multiple actions to a single key.
1997
1998       quit
1999
2000       Kill all windows and terminate screen.  Note that on VT100-style termi‐
2001       nals the keys C-4 and C-\ are identical.  This makes the default  bind‐
2002       ings  dangerous:  Be  careful not to type C-a C-4 when selecting window
2003       no. 4.  Use the empty bind command (as in "bind '^\'") to remove a  key
2004       binding.
2005
2006       readbuf [-e encoding] [filename]
2007
2008       Reads  the  contents  of the specified file into the paste buffer.  You
2009       can tell screen the encoding of the file via the -e option.  If no file
2010       is  specified, the screen-exchange filename is used.  See also "buffer‐
2011       file" command.
2012
2013       readreg [-e encoding] [register [filename]]
2014
2015       Does one of two things, dependent on number of arguments: with zero  or
2016       one  arguments it it duplicates the paste buffer contents into the reg‐
2017       ister specified or entered at the prompt. With two arguments  it  reads
2018       the contents of the named file into the register, just as readbuf reads
2019       the screen-exchange file into the paste buffer.  You  can  tell  screen
2020       the encoding of the file via the -e option.  The following example will
2021       paste the system's password file into the screen window (using register
2022       p, where a copy remains):
2023
2024                   C-a : readreg p /etc/passwd
2025                   C-a : paste p
2026
2027       redisplay
2028
2029       Redisplay  the  current  window. Needed to get a full redisplay when in
2030       partial redraw mode.
2031
2032       register [-e encoding] key string
2033
2034       Save the specified string to the register key.   The  encoding  of  the
2035       string  can  be specified via the -e option.  See also the "paste" com‐
2036       mand.
2037
2038       remove
2039
2040       Kill the current region. This is a no-op if there is only one region.
2041
2042       removebuf
2043
2044       Unlinks the screen-exchange file used by the  commands  "writebuf"  and
2045       "readbuf".
2046
2047       rendition bell | monitor | silence | so attr [color]
2048
2049       Change  the  way screen renders the titles of windows that have monitor
2050       or bell flags set in caption  or  hardstatus  or  windowlist.  See  the
2051       "STRING  ESCAPES" chapter for the syntax of the modifiers.  The default
2052       for monitor is currently "=b " (bold, active colors), for bell  "=ub  "
2053       (underline, bold and active colors), and "=u " for silence.
2054
2055       reset
2056
2057       Reset  the  virtual  terminal  to  its  "power-on"  values. Useful when
2058       strange settings (like scroll regions or graphics  character  set)  are
2059       left over from an application.
2060
2061       resize
2062
2063       Resize  the  current region. The space will be removed from or added to
2064       the region below or if there's not enough space from the region above.
2065
2066              resize +N   increase current region height by N
2067
2068              resize -N   decrease current region height by N
2069
2070              resize  N   set current region height to N
2071
2072              resize  =   make all windows equally high
2073
2074              resize  max maximize current region height
2075
2076              resize  min minimize current region height
2077
2078       screen [-opts] [n] [cmd [args]|//group]
2079
2080       Establish a new window.  The flow-control options (-f,  -fn  and  -fa),
2081       title  (a.k.a.) option (-t), login options (-l and -ln) , terminal type
2082       option (-T <term>), the all-capability-flag (-a) and scrollback  option
2083       (-h  <num>)  may be specified with each command.  The option (-M) turns
2084       monitoring on for this window.  The option (-L) turns output logging on
2085       for  this  window.  If an optional number n in the range 0..MAXWIN-1 is
2086       given, the window number n is assigned to the newly created window (or,
2087       if  this  number  is  already in-use, the next available number).  If a
2088       command is specified after "screen", this command (with the given argu‐
2089       ments)  is  started  in  the window; otherwise, a shell is created.  If
2090       //group is supplied, a container-type window is created in which  other
2091       windows may be created inside it.
2092
2093       Thus, if your ".screenrc" contains the lines
2094
2095                   # example for .screenrc:
2096                   screen 1
2097                   screen -fn -t foobar -L 2 telnet foobar
2098
2099       screen creates a shell window (in window #1) and a window with a TELNET
2100       connection to the machine foobar (with no flow-control using the  title
2101       "foobar"  in window #2) and will write a logfile ("screenlog.2") of the
2102       telnet session.  Note, that unlike previous versions of screen no addi‐
2103       tional default window is created when "screen" commands are included in
2104       your ".screenrc" file. When the  initialization  is  completed,  screen
2105       switches  to  the  last  window specified in your .screenrc file or, if
2106       none, opens a default window #0.
2107       Screen has built in some functionality of "cu" and "telnet".  See  also
2108       chapter "WINDOW TYPES".
2109
2110       scrollback num
2111
2112       Set  the  size  of the scrollback buffer for the current windows to num
2113       lines. The default scrollback is 100 lines.  See also  the  "defscroll‐
2114       back" command and use "info" to view the current setting. To access and
2115       use the contents in the scrollback buffer, use the "copy" command.
2116
2117       select [WindowID]
2118
2119       Switch to the window identified by WindowID.  This can be a prefix of a
2120       window title (alphanumeric window name) or a window number.  The param‐
2121       eter is optional and if omitted, you get prompted  for  an  identifier.
2122       When  a  new  window  is  established,  the  first  available number is
2123       assigned to this window.  Thus, the first window can  be  activated  by
2124       "select  0".   The  number of windows is limited at compile-time by the
2125       MAXWIN configuration parameter (which defaults to 40).  There  are  two
2126       special  WindowIDs,  "-"  selects  the  internal  blank  window and "."
2127       selects the current window. The latter is useful if used with  screen's
2128       "-X" option.
2129
2130       sessionname [name]
2131
2132       Rename  the  current  session.  Note,  that for "screen -list" the name
2133       shows up with the process-id prepended. If the argument "name" is omit‐
2134       ted,  the name of this session is displayed. Caution: The $STY environ‐
2135       ment variables will still reflect the old name in pre-existing  shells.
2136       This may result in confusion. Use of this command is generally discour‐
2137       aged. Use the "-S" command-line option if you want to name a  new  ses‐
2138       sion.  The default is constructed from the tty and host names.
2139
2140       setenv [var [string]]
2141
2142       Set the environment variable var to value string.  If only var is spec‐
2143       ified, the user will be prompted to enter a value.   If  no  parameters
2144       are  specified,  the user will be prompted for both variable and value.
2145       The environment is inherited by all subsequently forked shells.
2146
2147       setsid [on|off]
2148
2149       Normally screen uses different sessions and process groups for the win‐
2150       dows. If setsid is turned off, this is not done anymore and all windows
2151       will be in the same process group as the screen backend  process.  This
2152       also  breaks job-control, so be careful.  The default is on, of course.
2153       This command is probably useful only in rare circumstances.
2154
2155       shell command
2156
2157       Set the command to be used to create a new shell.  This  overrides  the
2158       value of the environment variable $SHELL.  This is useful if you'd like
2159       to run a tty-enhancer which is expecting to execute the program  speci‐
2160       fied  in  $SHELL. If the command begins with a '-' character, the shell
2161       will be started as a login-shell.
2162
2163       shelltitle title
2164
2165       Set the title for all shells created during startup or by the  C-A  C-c
2166       command.   For  details about what a title is, see the discussion enti‐
2167       tled "TITLES (naming windows)".
2168
2169       silence [on|off|sec]
2170
2171       Toggles silence monitoring of windows.  When silence is turned  on  and
2172       an  affected  window  is switched into the background, you will receive
2173       the silence notification message in the status line after  a  specified
2174       period of inactivity (silence). The default timeout can be changed with
2175       the `silencewait' command or by specifying a number of seconds  instead
2176       of `on' or `off'.  Silence is initially off for all windows.
2177
2178       silencewait sec
2179
2180       Define  the  time  that  all  windows monitored for silence should wait
2181       before displaying a message. Default 30 seconds.
2182
2183       sleep num
2184
2185       This command will pause the execution of a .screenrc file for num  sec‐
2186       onds.   Keyboard  activity  will end the sleep.  It may be used to give
2187       users a chance to read the messages output by "echo".
2188
2189       slowpaste msec
2190
2191       Define the speed at which text is inserted into the current  window  by
2192       the paste ("C-a ]") command.  If the slowpaste value is nonzero text is
2193       written character by character.  screen will make a pause of msec  mil‐
2194       liseconds after each single character write to allow the application to
2195       process its input. Only use slowpaste if your underlying system exposes
2196       flow control problems while pasting large amounts of text.
2197
2198       source file
2199
2200       Read and execute commands from file file. Source commands may be nested
2201       to a maximum recursion level of ten. If file is not  an  absolute  path
2202       and screen is already processing a source command, the parent directory
2203       of the running source command file is used to search for the  new  com‐
2204       mand file before screen's current directory.
2205
2206       Note  that  termcap/terminfo/termcapinfo  commands only work at startup
2207       and reattach time, so they must be reached  via  the  default  screenrc
2208       files to have an effect.
2209
2210       sorendition [attr [color]]
2211
2212       This command is deprecated. See "rendition so" instead.
2213
2214       split [-v]
2215
2216       Split  the current region into two new ones. All regions on the display
2217       are resized to make room for the new region. The blank window  is  dis‐
2218       played  on  the  new  region. Splits are made horizontally unless -v is
2219       used. Use the "remove" or the "only" command  to  delete  regions.  Use
2220       "focus" to toggle between regions.
2221
2222       startup_message on|off
2223
2224       Select  whether  you  want  to see the copyright notice during startup.
2225       Default is `on', as you probably noticed.
2226
2227       stuff [string]
2228
2229       Stuff the string string in the input  buffer  of  the  current  window.
2230       This  is like the "paste" command but with much less overhead.  Without
2231       a paramter, screen will prompt for a string to stuff.  You cannot paste
2232       large buffers with the "stuff" command. It is most useful for key bind‐
2233       ings. See also "bindkey".
2234
2235       su [username [password [password2]]]
2236
2237       Substitute the user of a display. The command prompts for  all  parame‐
2238       ters  that  are omitted. If passwords are specified as parameters, they
2239       have to be specified un-crypted. The first password is matched  against
2240       the systems passwd database, the second password is matched against the
2241       screen password as set with the commands "acladd" or "password".   "Su"
2242       may  be  useful  for the screen administrator to test multiuser setups.
2243       When the identification fails, the user  has  access  to  the  commands
2244       available  for  user nobody.  These are "detach", "license", "version",
2245       "help" and "displays".
2246
2247       suspend
2248
2249       Suspend screen.  The windows are in the `detached' state, while  screen
2250       is  suspended.  This  feature  relies on the shell being able to do job
2251       control.
2252
2253       term term
2254
2255       In each window's environment screen opens, the $TERM variable is set to
2256       "screen" by default.  But when no description for "screen" is installed
2257       in the local termcap or terminfo data base, you set $TERM to  -  say  -
2258       "vt100".  This  won't do much harm, as screen is VT100/ANSI compatible.
2259       The use of the "term" command is discouraged for  non-default  purpose.
2260       That  is,  one  may want to specify special $TERM settings (e.g. vt100)
2261       for the next "screen rlogin  othermachine"  command.  Use  the  command
2262       "screen -T vt100 rlogin othermachine" rather than setting and resetting
2263       the default.
2264
2265       termcap term terminal-tweaks [window-tweaks]
2266       terminfo term terminal-tweaks [window-tweaks]
2267       termcapinfo term terminal-tweaks [window-tweaks]
2268
2269       Use this command to modify your terminal's termcap entry without  going
2270       through  all  the  hassles involved in creating a custom termcap entry.
2271       Plus, you can optionally customize the termcap generated for  the  win‐
2272       dows.   You have to place these commands in one of the screenrc startup
2273       files, as they are meaningless once the terminal emulator is booted.
2274       If your system works uses the terminfo database  rather  than  termcap,
2275       screen  will  understand  the  `terminfo'  command,  which has the same
2276       effects as the `termcap' command.  Two separate commands are  provided,
2277       as there are subtle syntactic differences, e.g. when parameter interpo‐
2278       lation (using `%') is required. Note that termcap names of the capabil‐
2279       ities have to be used with the `terminfo' command.
2280       In many cases, where the arguments are valid in both terminfo and term‐
2281       cap syntax, you can use the command  `termcapinfo',  which  is  just  a
2282       shorthand  for a pair of `termcap' and `terminfo' commands with identi‐
2283       cal arguments.
2284
2285       The first argument specifies which terminal(s) should  be  affected  by
2286       this definition.  You can specify multiple terminal names by separating
2287       them with `|'s.  Use `*' to match all terminals and `vt*' to match  all
2288       terminals that begin with "vt".
2289
2290       Each  tweak argument contains one or more termcap defines (separated by
2291       `:'s) to be inserted at the start of  the  appropriate  termcap  entry,
2292       enhancing  it  or overriding existing values.  The first tweak modifies
2293       your terminal's termcap, and contains definitions  that  your  terminal
2294       uses to perform certain functions.  Specify a null string to leave this
2295       unchanged (e.g. '').  The second (optional) tweak modifies all the win‐
2296       dow  termcaps,  and  should contain definitions that screen understands
2297       (see the "VIRTUAL TERMINAL" section).
2298
2299       Some examples:
2300
2301              termcap xterm*  LP:hs@
2302
2303       Informs screen that all terminals that begin  with  `xterm'  have  firm
2304       auto-margins  that  allow the last position on the screen to be updated
2305       (LP), but they don't really have a status line (no 'hs' - append `@' to
2306       turn  entries  off).   Note  that we assume `LP' for all terminal names
2307       that start with "vt", but only if you don't specify a  termcap  command
2308       for that terminal.
2309
2310              termcap vt*  LP
2311              termcap vt102|vt220  Z0=\E[?3h:Z1=\E[?3l
2312
2313       Specifies  the  firm-margined  `LP'  capability  for all terminals that
2314       begin with `vt', and the second line will also add the escape-sequences
2315       to switch into (Z0) and back out of (Z1) 132-character-per-line mode if
2316       this is a VT102 or VT220.  (You must specify Z0 and Z1 in your  termcap
2317       to use the width-changing commands.)
2318
2319              termcap vt100  ""  l0=PF1:l1=PF2:l2=PF3:l3=PF4
2320
2321       This  leaves  your vt100 termcap alone and adds the function key labels
2322       to each window's termcap entry.
2323
2324              termcap h19|z19  am@:im=\E@:ei=\EO  dc=\E[P
2325
2326       Takes a h19 or z19 termcap and turns off auto-margins (am@) and enables
2327       the  insert  mode (im) and end-insert (ei) capabilities (the `@' in the
2328       `im' string is after the `=', so it is part of the string).  Having the
2329       `im'  and  `ei' definitions put into your terminal's termcap will cause
2330       screen to automatically advertise the  character-insert  capability  in
2331       each  window's termcap.  Each window will also get the delete-character
2332       capability (dc) added to its termcap, which screen will translate  into
2333       a  line-update  for  the  terminal (we're pretending it doesn't support
2334       character deletion).
2335
2336       If you would like to fully specify each  window's  termcap  entry,  you
2337       should  instead  set  the  $SCREENCAP variable prior to running screen.
2338       See the discussion on the "VIRTUAL TERMINAL" in this  manual,  and  the
2339       termcap(5) man page for more information on termcap definitions.
2340
2341       time [string]
2342
2343       Uses  the  message  line to display the time of day, the host name, and
2344       the load averages over 1, 5, and 15 minutes (if this  is  available  on
2345       your system).  For window specific information, use "info".
2346
2347       If a string is specified, it changes the format of the time report like
2348       it is described in the "STRING ESCAPES" chapter. Screen uses a  default
2349       of "%c:%s %M %d %H%? %l%?".
2350
2351       title [windowtitle]
2352
2353       Set the name of the current window to windowtitle. If no name is speci‐
2354       fied, screen prompts for one. This command was known as `aka' in previ‐
2355       ous releases.
2356
2357       unbindall
2358
2359       Unbind  all the bindings. This can be useful when screen is used solely
2360       for its detaching abilities, such as when letting a console application
2361       run  as a daemon. If, for some reason, it is necessary to bind commands
2362       after this, use 'screen -X'.
2363
2364       unsetenv var
2365
2366       Unset an environment variable.
2367
2368       utf8 [on|off [on|off]]
2369
2370       Change the encoding used in the current window. If utf8 is enabled, the
2371       strings  sent to the window will be UTF-8 encoded and vice versa. Omit‐
2372       ting the parameter toggles the setting. If a second parameter is given,
2373       the display's encoding is also changed (this should rather be done with
2374       screen's "-U" option).  See also "defutf8", which changes  the  default
2375       setting of a new window.
2376
2377       vbell [on|off]
2378
2379       Sets  the  visual  bell setting for this window. Omitting the parameter
2380       toggles the setting. If vbell is switched on, but  your  terminal  does
2381       not support a visual bell, a `vbell-message' is displayed in the status
2382       line when the bell character (^G) is received.  Visual bell support  of
2383       a terminal is defined by the termcap variable `vb' (terminfo: 'flash').
2384       Per  default,  vbell  is  off, thus the audible bell is used.  See also
2385       `bell_msg'.
2386
2387       vbell_msg [message]
2388
2389       Sets the visual bell message. message is printed to the status line  if
2390       the  window  receives  a bell character (^G), vbell is set to "on", but
2391       the terminal does not support a visual bell.  The  default  message  is
2392       "Wuff, Wuff!!".  Without a parameter, the current message is shown.
2393
2394       vbellwait sec
2395
2396       Define  a  delay  in seconds after each display of screen's visual bell
2397       message. The default is 1 second.
2398
2399       verbose [on|off]
2400
2401       If verbose is switched on, the command name is echoed, whenever a  win‐
2402       dow  is  created  (or  resurrected  from zombie state). Default is off.
2403       Without a parameter, the current setting is shown.
2404
2405       version
2406
2407       Print the current version and the compile date in the status line.
2408
2409       wall message
2410
2411       Write a message to all displays. The message will appear in the  termi‐
2412       nal's status line.
2413
2414       width [-w|-d] [cols [lines]]
2415
2416       Toggle  the  window  width between 80 and 132 columns or set it to cols
2417       columns if an argument is specified.  This requires a capable  terminal
2418       and  the  termcap entries "Z0" and "Z1".  See the "termcap" command for
2419       more information. You can also specify a new  height  if  you  want  to
2420       change  both  values.   The -w option tells screen to leave the display
2421       size unchanged and just set the window size, -d vice versa.
2422
2423       windowlist [-b] [-m] [-g]
2424       windowlist string [string]
2425       windowlist title [title]
2426
2427       Display all windows in a table for visual window selection.  If  screen
2428       was  in a window group, screen will back out of the group and then dis‐
2429       play the windows in that group.  If the -b option is given, screen will
2430       switch to the blank window before presenting the list, so that the cur‐
2431       rent window is also selectable.  The -m option changes the order of the
2432       windows,  instead of sorting by window numbers screen uses its internal
2433       most-recently-used list.  The -g option will show  the  windows  inside
2434       any groups in that level and downwards.
2435
2436       The following keys are used to navigate in "windowlist":
2437         k, C-p, or up Move up one line.
2438         j, C-n, or down Move down one line.
2439         C-g or escape Exit windowlist.
2440         C-a or home Move to the first line.
2441         C-e or end Move to the last line.
2442         C-u or C-d Move one half page up or down.
2443         C-b or C-f Move one full page up or down.
2444         0..9 Using the number keys, move to the selected line.
2445         mouseclick  Move to the selected line. Available when "mousetrack" is
2446           set to "on"
2447         / Search.
2448         n Repeat search in the forward direction.
2449         N Repeat search in the backward direction.
2450         m Toggle MRU.
2451         g Toggle group nesting.
2452         a All window view.
2453         C-h or backspace Back out the group.
2454         , Switch numbers with the previous window.
2455         . Switch numbers with the next window.
2456         K Kill that window.
2457         space or enter Select that window.
2458
2459       The table format can be changed with the string and title  option,  the
2460       title  is displayed as table heading, while the lines are made by using
2461       the string setting. The default setting is "Num  Name%=Flags"  for  the
2462       title and "%3n %t%=%f" for the lines.  See the "STRING ESCAPES" chapter
2463       for more codes (e.g. color settings).
2464
2465       "Windowlist" needs a region size of at least 10 characters wide  and  6
2466       characters high in order to display.
2467
2468       windows
2469
2470       Uses  the message line to display a list of all the windows.  Each win‐
2471       dow is listed by number with the name of process that has been  started
2472       in  the window (or its title); the current window is marked with a `*';
2473       the previous window is marked with a `-';  all  the  windows  that  are
2474       "logged  in"  are  marked  with  a  `$';  a  background window that has
2475       received a bell is marked with a `!'; a background window that is being
2476       monitored  and  has  had activity occur is marked with an `@'; a window
2477       which has output logging turned on is marked with `(L)'; windows  occu‐
2478       pied  by  other  users are marked with `&'; windows in the zombie state
2479       are marked with `Z'.  If this list is too long to fit on the terminal's
2480       status line only the portion around the current window is displayed.
2481
2482       wrap [on|off]
2483
2484       Sets  the  line-wrap setting for the current window.  When line-wrap is
2485       on, the second consecutive printable character output at the last  col‐
2486       umn  of  a  line  will  wrap to the start of the following line.  As an
2487       added feature, backspace (^H) will also wrap through the left margin to
2488       the  previous line.  Default is `on'. Without any options, the state of
2489       wrap is toggled.
2490
2491       writebuf [-e encoding] [filename]
2492
2493       Writes the contents of the paste buffer to the specified file,  or  the
2494       public accessible screen-exchange file if no filename is given. This is
2495       thought of as a primitive means of communication between  screen  users
2496       on  the  same  host.  If  an  encoding is specified the paste buffer is
2497       recoded on the fly to match the encoding.  The filename can be set with
2498       the bufferfile command and defaults to "/tmp/screen-exchange".
2499
2500       writelock [on|off|auto]
2501
2502       In addition to access control lists, not all users may be able to write
2503       to the same window at once. Per default, writelock is  in  `auto'  mode
2504       and  grants  exclusive input permission to the user who is the first to
2505       switch to the particular window. When he leaves the window, other users
2506       may  obtain the writelock (automatically). The writelock of the current
2507       window is disabled by the command "writelock off". If the  user  issues
2508       the  command  "writelock  on"  he  keeps the exclusive write permission
2509       while switching to other windows.
2510
2511       xoff
2512       xon
2513
2514       Insert a CTRL-s / CTRL-q character to the stdin queue  of  the  current
2515       window.
2516
2517       zmodem [off|auto|catch|pass]
2518       zmodem sendcmd [string]
2519       zmodem recvcmd [string]
2520
2521       Define  zmodem  support  for  screen.  Screen understands two different
2522       modes when it detects a zmodem request: "pass"  and  "catch".   If  the
2523       mode is set to "pass", screen will relay all data to the attacher until
2524       the end of the transmission is reached.  In "catch" mode screen acts as
2525       a  zmodem  endpoint and starts the corresponding rz/sz commands. If the
2526       mode is set to "auto", screen will use "catch" if the window is  a  tty
2527       (e.g. a serial line), otherwise it will use "pass".
2528       You can define the templates screen uses in "catch" mode via the second
2529       and the third form.
2530       Note also that this is an experimental feature.
2531
2532       zombie [keys[onerror]]
2533       defzombie [keys]
2534
2535       Per default screen windows are removed from the window list as soon  as
2536       the  windows  process  (e.g. shell) exits. When a string of two keys is
2537       specified to the zombie command, `dead'  windows  will  remain  in  the
2538       list.   The  kill command may be used to remove such a window. Pressing
2539       the first key in the dead window has the same effect. When pressing the
2540       second  key,  screen  will attempt to resurrect the window. The process
2541       that was initially running in the window will be launched again.  Call‐
2542       ing  zombie without parameters will clear the zombie setting, thus mak‐
2543       ing windows disappear when their process exits.
2544
2545       As the zombie-setting is manipulated globally  for  all  windows,  this
2546       command  should  only  be called defzombie. Until we need this as a per
2547       window setting, the commands zombie and defzombie are synonymous.
2548
2549       Optionally you can put the word "onerror" after  the  keys.  This  will
2550       cause  screen to monitor exit status of the process running in the win‐
2551       dow. If it exits normally ('0'), the window disappears. Any other  exit
2552       value causes the window to become a zombie.
2553
2554

THE MESSAGE LINE

2556       Screen  displays informational messages and other diagnostics in a mes‐
2557       sage line.  While this line is distributed to appear at the  bottom  of
2558       the screen, it can be defined to appear at the top of the screen during
2559       compilation.  If your terminal has a status line defined in  its  term‐
2560       cap, screen will use this for displaying its messages, otherwise a line
2561       of the current screen will be temporarily overwritten and  output  will
2562       be  momentarily  interrupted. The message line is automatically removed
2563       after a few seconds delay, but it can also be removed early (on  termi‐
2564       nals without a status line) by beginning to type.
2565
2566       The  message line facility can be used by an application running in the
2567       current window by means of the ANSI Privacy message  control  sequence.
2568       For instance, from within the shell, try something like:
2569
2570              echo '<esc>^Hello world from window '$WINDOW'<esc>\\'
2571
2572       where  '<esc>'  is an escape, '^' is a literal up-arrow, and '\\' turns
2573       into a single backslash.
2574
2575

WINDOW TYPES

2577       Screen provides three different window types. New windows  are  created
2578       with screen's screen command (see also the entry in chapter "CUSTOMIZA‐
2579       TION"). The first parameter to the screen command defines which type of
2580       window  is created. The different window types are all special cases of
2581       the normal type. They have been added in order to allow  screen  to  be
2582       used efficiently as a console multiplexer with 100 or more windows.
2583
2584
2585       ·  The  normal  window  contains  a  shell (default, if no parameter is
2586          given) or any other system command that could  be  executed  from  a
2587          shell (e.g.  slogin, etc...)
2588
2589
2590       ·  If a tty (character special device) name (e.g. "/dev/ttya") is spec‐
2591          ified as the first parameter, then the window is directly  connected
2592          to  this  device.   This  window  type  is  similar to "screen cu -l
2593          /dev/ttya".  Read and write access is required on the  device  node,
2594          an  exclusive  open  is attempted on the node to mark the connection
2595          line as busy.  An optional parameter  is  allowed  consisting  of  a
2596          comma separated list of flags in the notation used by stty(1):
2597
2598          <baud_rate>
2599                 Usually  300,  1200, 9600 or 19200. This affects transmission
2600                 as well as receive speed.
2601
2602          cs8 or cs7
2603                 Specify the transmission of eight (or seven) bits per byte.
2604
2605          ixon or -ixon
2606                 Enables (or disables) software  flow-control  (CTRL-S/CTRL-Q)
2607                 for sending data.
2608
2609          ixoff or -ixoff
2610                 Enables  (or  disables)  software  flow-control for receiving
2611                 data.
2612
2613          istrip or -istrip
2614                 Clear (or keep) the eight bit in each received byte.
2615
2616          You may want to specify as many  of  these  options  as  applicable.
2617          Unspecified options cause the terminal driver to make up the parame‐
2618          ter values of the connection.  These values are system dependent and
2619          may be in defaults or values saved from a previous connection.
2620
2621          For  tty  windows,  the info command shows some of the modem control
2622          lines in the status line. These may  include  `RTS',  `CTS',  'DTR',
2623          `DSR',  `CD'  and more.  This depends on the available ioctl()'s and
2624          system header files as well as the on the physical  capabilities  of
2625          the  serial  board.   Signals  that  are logical low (inactive) have
2626          their name preceded by an exclamation mark (!), otherwise the signal
2627          is logical high (active).  Signals not supported by the hardware but
2628          available to the ioctl() interface are usually shown low.
2629
2630          When the CLOCAL status bit is true, the whole set of  modem  signals
2631          is  placed inside curly braces ({ and }).  When the CRTSCTS or TIOC‐
2632          SOFTCAR bit is set, the signals `CTS' or `CD' are shown in parenthe‐
2633          sis, respectively.
2634
2635          For tty windows, the command break causes the Data transmission line
2636          (TxD) to go low for a specified period of time. This is expected  to
2637          be  interpreted  as break signal on the other side.  No data is sent
2638          and no modem control line is changed when a break is issued.
2639
2640
2641       ·  If the first  parameter  is  "//telnet",  the  second  parameter  is
2642          expected  to  be  a  host  name, and an optional third parameter may
2643          specify a TCP port number (default decimal 23).  Screen will connect
2644          to a server listening on the remote host and use the telnet protocol
2645          to communicate with that server.
2646          For telnet windows, the command info shows details about the connec‐
2647          tion in square brackets ([ and ]) at the end of the status line.
2648
2649          b      BINARY. The connection is in binary mode.
2650
2651          e      ECHO. Local echo is disabled.
2652
2653          c      SGA.  The  connection  is in `character mode' (default: `line
2654                 mode').
2655
2656          t      TTYPE. The terminal type has been  requested  by  the  remote
2657                 host.   Screen sends the name "screen" unless instructed oth‐
2658                 erwise (see also the command `term').
2659
2660          w      NAWS. The remote site is notified about window size changes.
2661
2662          f      LFLOW. The remote host will send  flow  control  information.
2663                 (Ignored at the moment.)
2664
2665          Additional  flags for debugging are x, t and n (XDISPLOC, TSPEED and
2666          NEWENV).
2667
2668          For telnet windows, the command break  sends  the  telnet  code  IAC
2669          BREAK (decimal 243) to the remote host.
2670
2671
2672          This  window  type is only available if screen was compiled with the
2673          BUILTIN_TELNET option defined.
2674
2675
2676

STRING ESCAPES

2678       Screen provides an escape mechanism to insert information like the cur‐
2679       rent time into messages or file names. The escape character is '%' with
2680       one exception: inside of a window's  hardstatus  '^%'  ('^E')  is  used
2681       instead.
2682
2683       Here is the full list of supported escapes:
2684
2685       %      the escape character itself
2686
2687       a      either 'am' or 'pm'
2688
2689       A      either 'AM' or 'PM'
2690
2691       c      current time HH:MM in 24h format
2692
2693       C      current time HH:MM in 12h format
2694
2695       d      day number
2696
2697       D      weekday name
2698
2699       f      flags  of  the window, see "windows" for meanings of the various
2700              flags
2701
2702       F      sets %? to true if the window has the focus
2703
2704       h      hardstatus of the window
2705
2706       H      hostname of the system
2707
2708       l      current load of the system
2709
2710       m      month number
2711
2712       M      month name
2713
2714       n      window number
2715
2716       P      sets %? to true if the current region is in copy/paste mode
2717
2718       S      session name
2719
2720       s      seconds
2721
2722       t      window title
2723
2724       u      all other users on this window
2725
2726       w      all window numbers and names. With '-' qualifier: up to the cur‐
2727              rent  window; with '+' qualifier: starting with the window after
2728              the current one.
2729
2730       W      all window numbers and names except the current one
2731
2732       y      last two digits of the year number
2733
2734       Y      full year number
2735
2736       ?      the part to the next '%?' is displayed  only  if  a  '%'  escape
2737              inside the part expands to a non-empty string
2738
2739       :      else part of '%?'
2740
2741       =      pad  the  string to the display's width (like TeX's hfill). If a
2742              number is specified, pad  to  the  percentage  of  the  window's
2743              width.   A  '0'  qualifier  tells  screen to treat the number as
2744              absolute position.  You can specify to pad relative to the  last
2745              absolute  pad position by adding a '+' qualifier or to pad rela‐
2746              tive to the right margin by using '-'. The padding truncates the
2747              string  if  the specified position lies before the current posi‐
2748              tion. Add the 'L' qualifier to change this.
2749
2750       <      same as '%=' but just do truncation, do not fill with spaces
2751
2752       >      mark the current text position for  the  next  truncation.  When
2753              screen  needs  to do truncation, it tries to do it in a way that
2754              the marked position gets moved to the  specified  percentage  of
2755              the  output  area.  (The  area starts from the last absolute pad
2756              position and ends with the position specified by the  truncation
2757              operator.)  The 'L' qualifier tells screen to mark the truncated
2758              parts with '...'.
2759
2760       {      attribute/color modifier string terminated by the next "}"
2761
2762       `      Substitute with the output of a 'backtick' command.  The  length
2763              qualifier is misused to identify one of the commands.
2764
2765       The  'c'  and 'C' escape may be qualified with a '0' to make screen use
2766       zero instead of space as fill character. The '0' qualifier  also  makes
2767       the  '='  escape use absolute positions. The 'n' and '=' escapes under‐
2768       stand a length qualifier (e.g. '%3n'), 'D' and 'M' can be prefixed with
2769       'L'  to  generate long names, 'w' and 'W' also show the window flags if
2770       'L' is given.
2771
2772       An attribute/color modifier is is used to change the attributes or  the
2773       color  settings.  Its  format  is "[attribute modifier] [color descrip‐
2774       tion]". The attribute modifier must be prefixed by a change type  indi‐
2775       cator  if  it  can  be confused with a color description. The following
2776       change types are known:
2777
2778       +      add the specified set to the current attributes
2779
2780       -      remove the set from the current attributes
2781
2782       !      invert the set in the current attributes
2783
2784       =      change the current attributes to the specified set
2785
2786       The attribute set can either be specified as a hexadecimal number or  a
2787       combination of the following letters:
2788
2789       d      dim
2790       u      underline
2791       b      bold
2792       r      reverse
2793       s      standout
2794       B      blinking
2795
2796       Colors are coded either as a hexadecimal number or two letters specify‐
2797       ing the desired background and foreground color (in  that  order).  The
2798       following colors are known:
2799
2800       k      black
2801       r      red
2802       g      green
2803       y      yellow
2804       b      blue
2805       m      magenta
2806       c      cyan
2807       w      white
2808       d      default color
2809       .      leave color unchanged
2810
2811       The  capitalized  versions of the letter specify bright colors. You can
2812       also use the pseudo-color 'i' to set just the brightness and leave  the
2813       color unchanged.
2814       A  one digit/letter color description is treated as foreground or back‐
2815       ground color dependent on the current attributes: if  reverse  mode  is
2816       set,  the  background color is changed instead of the foreground color.
2817       If you don't like this, prefix the color with a ".". If  you  want  the
2818       same  behavior for two-letter color descriptions, also prefix them with
2819       a ".".
2820       As a special case, "%{-}" restores the attributes and colors that  were
2821       set before the last change was made (i.e., pops one level of the color-
2822       change stack).
2823
2824       Examples:
2825
2826       "G"    set color to bright green
2827
2828       "+b r" use bold red
2829
2830       "= yd" clear all attributes, write in default  color  on  yellow  back‐
2831              ground.
2832
2833       %-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<
2834              The  available  windows centered at the current window and trun‐
2835              cated to the available width. The current  window  is  displayed
2836              white  on  blue.   This can be used with "hardstatus alwayslast‐
2837              line".
2838
2839       %?%F%{.R.}%?%3n %t%? [%h]%?
2840              The window number and title and the window's hardstatus, if  one
2841              is  set.  Also use a red background if this is the active focus.
2842              Useful for "caption string".
2843

FLOW-CONTROL

2845       Each window has a flow-control setting that determines how screen deals
2846       with the XON and XOFF characters (and perhaps the interrupt character).
2847       When flow-control is turned off, screen ignores the XON and XOFF  char‐
2848       acters,  which  allows  the user to send them to the current program by
2849       simply typing them (useful for the emacs editor,  for  instance).   The
2850       trade-off  is  that it will take longer for output from a "normal" pro‐
2851       gram to pause in response to an XOFF.  With flow-control turned on, XON
2852       and  XOFF  characters  are  used to immediately pause the output of the
2853       current window.  You can still send these  characters  to  the  current
2854       program, but you must use the appropriate two-character screen commands
2855       (typically "C-a q" (xon) and "C-a s" (xoff)).   The  xon/xoff  commands
2856       are  also useful for typing C-s and C-q past a terminal that intercepts
2857       these characters.
2858
2859       Each window has an initial flow-control value set with  either  the  -f
2860       option  or the "defflow" .screenrc command. Per default the windows are
2861       set to automatic flow-switching.  It can then be  toggled  between  the
2862       three states 'fixed on', 'fixed off' and 'automatic' interactively with
2863       the "flow" command bound to "C-a f".
2864
2865       The automatic flow-switching mode deals with  flow  control  using  the
2866       TIOCPKT  mode  (like "rlogin" does). If the tty driver does not support
2867       TIOCPKT, screen tries to find out the right mode based on  the  current
2868       setting of the application keypad - when it is enabled, flow-control is
2869       turned off and visa versa.  Of course, you can still  manipulate  flow-
2870       control manually when needed.
2871
2872       If  you're running with flow-control enabled and find that pressing the
2873       interrupt key (usually  C-c)  does  not  interrupt  the  display  until
2874       another 6-8 lines have scrolled by, try running screen with the "inter‐
2875       rupt" option (add the "interrupt" flag to the "flow"  command  in  your
2876       .screenrc,  or use the -i command-line option).  This causes the output
2877       that screen has accumulated from the interrupted program to be flushed.
2878       One  disadvantage  is  that  the virtual terminal's memory contains the
2879       non-flushed version of the output, which in rare cases can cause  minor
2880       inaccuracies  in  the  output.   For example, if you switch screens and
2881       return, or update the screen with "C-a l" you would see the version  of
2882       the  output  you would have gotten without "interrupt" being on.  Also,
2883       you might need to turn off flow-control (or use auto-flow mode to  turn
2884       it  off  automatically) when running a program that expects you to type
2885       the interrupt character as input, as it is possible  to  interrupt  the
2886       output of the virtual terminal to your physical terminal when flow-con‐
2887       trol is enabled.  If this happens, a simple refresh of the screen  with
2888       "C-a  l" will restore it.  Give each mode a try, and use whichever mode
2889       you find more comfortable.
2890
2891
2892

TITLES (naming windows)

2894       You can customize each window's name in the window display (viewed with
2895       the "windows" command (C-a w)) by setting it with one of the title com‐
2896       mands.  Normally the name displayed is the actual command name  of  the
2897       program created in the window.  However, it is sometimes useful to dis‐
2898       tinguish various programs of the same name or to change  the  name  on-
2899       the-fly to reflect the current state of the window.
2900
2901       The default name for all shell windows can be set with the "shelltitle"
2902       command in the .screenrc file, while all other windows are created with
2903       a "screen" command and thus can have their name set with the -t option.
2904       Interactively,    there    is    the    title-string    escape-sequence
2905       (<esc>kname<esc>\)  and the "title" command (C-a A).  The former can be
2906       output from an application to control the window's name under  software
2907       control,  and  the  latter  will prompt for a name when typed.  You can
2908       also bind pre-defined names to keys with the  "title"  command  to  set
2909       things quickly without prompting.
2910
2911       Finally,  screen has a shell-specific heuristic that is enabled by set‐
2912       ting the window's name to "search|name" and arranging to  have  a  null
2913       title escape-sequence output as a part of your prompt.  The search por‐
2914       tion specifies an end-of-prompt search string, while the  name  portion
2915       specifies the default shell name for the window.  If the name ends in a
2916       `:' screen will add what it believes to be the current command  running
2917       in  the window to the end of the window's shell name (e.g. "name:cmd").
2918       Otherwise the current command name supersedes the shell name  while  it
2919       is running.
2920
2921       Here's  how  it  works:   you must modify your shell prompt to output a
2922       null title-escape-sequence (<esc>k<esc>\) as a  part  of  your  prompt.
2923       The  last part of your prompt must be the same as the string you speci‐
2924       fied for the search portion of the title.  Once this is set up,  screen
2925       will  use  the title-escape-sequence to clear the previous command name
2926       and get ready for the next command.  Then, when a newline  is  received
2927       from  the shell, a search is made for the end of the prompt.  If found,
2928       it will grab the first word after the matched string and use it as  the
2929       command  name.  If the command name begins with either '!', '%', or '^'
2930       screen will use the first word on the  following  line  (if  found)  in
2931       preference  to  the  just-found  name.  This helps csh users get better
2932       command names when using job control or history recall commands.
2933
2934       Here's some .screenrc examples:
2935
2936              screen -t top 2 nice top
2937
2938       Adding this line to your .screenrc would start a nice-d version of  the
2939       "top" command in window 2 named "top" rather than "nice".
2940
2941                   shelltitle '> |csh'
2942                   screen 1
2943
2944       These  commands  would  start  a  shell with the given shelltitle.  The
2945       title specified is an auto-title that would expect the prompt  and  the
2946       typed command to look something like the following:
2947
2948              /usr/joe/src/dir> trn
2949
2950       (it  looks  after  the  '>  ' for the command name).  The window status
2951       would show the name "trn" while the command was running, and revert  to
2952       "csh" upon completion.
2953
2954              bind R screen -t '% |root:' su
2955
2956       Having  this command in your .screenrc would bind the key sequence "C-a
2957       R" to the "su" command and give it an auto-title name of "root:".   For
2958       this auto-title to work, the screen could look something like this:
2959
2960                   % !em
2961                   emacs file.c
2962
2963       Here  the user typed the csh history command "!em" which ran the previ‐
2964       ously  entered  "emacs"  command.   The  window   status   would   show
2965       "root:emacs"  during the execution of the command, and revert to simply
2966       "root:" at its completion.
2967
2968                   bind o title
2969                   bind E title ""
2970                   bind u title (unknown)
2971
2972       The first binding doesn't have any arguments, so it  would  prompt  you
2973       for  a title. when you type "C-a o".  The second binding would clear an
2974       auto-title's current setting (C-a E).  The third binding would set  the
2975       current window's title to "(unknown)" (C-a u).
2976
2977       One  thing  to keep in mind when adding a null title-escape-sequence to
2978       your prompt is that some shells (like the csh) count all  the  non-con‐
2979       trol  characters  as  part  of the prompt's length.  If these invisible
2980       characters aren't a multiple of 8 then  backspacing  over  a  tab  will
2981       result in an incorrect display.  One way to get around this is to use a
2982       prompt like this:
2983
2984              set prompt='^[[0000m^[k^[\% '
2985
2986       The escape-sequence "<esc>[0000m" not  only  normalizes  the  character
2987       attributes, but all the zeros round the length of the invisible charac‐
2988       ters up to 8.  Bash  users  will  probably  want  to  echo  the  escape
2989       sequence in the PROMPT_COMMAND:
2990
2991              PROMPT_COMMAND='printf "\033k\033\134"'
2992
2993       (I used "134" to output a `\' because of a bug in bash v1.04).
2994
2995
2996

THE VIRTUAL TERMINAL

2998       Each  window  in  a screen session emulates a VT100 terminal, with some
2999       extra functions added. The VT100 emulator is hard-coded, no other  ter‐
3000       minal types can be emulated.
3001       Usually  screen  tries to emulate as much of the VT100/ANSI standard as
3002       possible. But if your terminal lacks certain capabilities,  the  emula‐
3003       tion  may not be complete. In these cases screen has to tell the appli‐
3004       cations that some of the features are missing. This is  no  problem  on
3005       machines using termcap, because screen can use the $TERMCAP variable to
3006       customize the standard screen termcap.
3007
3008       But if you do a rlogin on another machine or your machine supports only
3009       terminfo  this  method  fails.  Because of this, screen offers a way to
3010       deal with these cases.  Here is how it works:
3011
3012       When screen tries to figure out a terminal name for  itself,  it  first
3013       looks  for an entry named "screen.<term>", where <term> is the contents
3014       of your $TERM variable.  If no such entry exists, screen tries "screen"
3015       (or  "screen-w"  if  the terminal is wide (132 cols or more)).  If even
3016       this entry cannot be found, "vt100" is used as a substitute.
3017
3018       The idea is that if you have a terminal which doesn't support an impor‐
3019       tant  feature  (e.g.  delete  char or clear to EOS) you can build a new
3020       termcap/terminfo entry for screen (named "screen.<dumbterm>") in  which
3021       this  capability  has been disabled. If this entry is installed on your
3022       machines you are able to do a rlogin and still keep the  correct  term‐
3023       cap/terminfo  entry.  The terminal name is put in the $TERM variable of
3024       all new windows.  Screen also sets the $TERMCAP variable reflecting the
3025       capabilities of the virtual terminal emulated. Notice that, however, on
3026       machines using the terminfo database this variable has no effect.  Fur‐
3027       thermore, the variable $WINDOW is set to the window number of each win‐
3028       dow.
3029
3030       The actual set  of  capabilities  supported  by  the  virtual  terminal
3031       depends  on  the  capabilities supported by the physical terminal.  If,
3032       for instance, the physical terminal does not support  underscore  mode,
3033       screen  does  not  put the `us' and `ue' capabilities into the window's
3034       $TERMCAP variable, accordingly.  However, a minimum number of capabili‐
3035       ties  must  be  supported  by a terminal in order to run screen; namely
3036       scrolling, clear screen, and direct  cursor  addressing  (in  addition,
3037       screen  does  not  run on hardcopy terminals or on terminals that over-
3038       strike).
3039
3040       Also, you can customize the $TERMCAP value used by screen by using  the
3041       "termcap"  .screenrc  command,  or  by defining the variable $SCREENCAP
3042       prior to startup.  When the is latter defined, its value will be copied
3043       verbatim  into each window's $TERMCAP variable.  This can either be the
3044       full terminal definition, or a filename  where  the  terminal  "screen"
3045       (and/or "screen-w") is defined.
3046
3047       Note  that screen honors the "terminfo" .screenrc command if the system
3048       uses the terminfo database rather than termcap.
3049
3050       When the boolean `G0' capability is present in the  termcap  entry  for
3051       the terminal on which screen has been called, the terminal emulation of
3052       screen supports multiple character sets.  This allows an application to
3053       make use of, for instance, the VT100 graphics character set or national
3054       character sets.  The following control functions from ISO 2022 are sup‐
3055       ported:  lock  shift  G0  (SI), lock shift G1 (SO), lock shift G2, lock
3056       shift G3, single shift G2, and single shift G3.  When a virtual  termi‐
3057       nal  is  created  or reset, the ASCII character set is designated as G0
3058       through G3.  When the `G0' capability is present, screen evaluates  the
3059       capabilities  `S0', `E0', and `C0' if present. `S0' is the sequence the
3060       terminal uses to enable and start the  graphics  character  set  rather
3061       than  SI.   `E0'  is the corresponding replacement for SO. `C0' gives a
3062       character by character translation string that  is  used  during  semi-
3063       graphics  mode.  This string is built like the `acsc' terminfo capabil‐
3064       ity.
3065
3066       When the `po' and `pf' capabilities are present in the terminal's term‐
3067       cap  entry,  applications running in a screen window can send output to
3068       the printer port of the terminal.  This allows a user to have an appli‐
3069       cation  in one window sending output to a printer connected to the ter‐
3070       minal, while all other windows are still active (the  printer  port  is
3071       enabled  and  disabled  again  for  each  chunk of output).  As a side-
3072       effect, programs running in different windows can send  output  to  the
3073       printer  simultaneously.   Data sent to the printer is not displayed in
3074       the window.  The info command displays a line starting `PRIN' while the
3075       printer is active.
3076
3077       Screen  maintains  a hardstatus line for every window. If a window gets
3078       selected, the display's hardstatus will be updated to  match  the  win‐
3079       dow's  hardstatus  line. If the display has no hardstatus the line will
3080       be displayed as a standard screen message.  The hardstatus line can  be
3081       changed    with   the   ANSI   Application   Program   Command   (APC):
3082       "ESC_<string>ESC\". As a  convenience  for  xterm  users  the  sequence
3083       "ESC]0..2;<string>^G" is also accepted.
3084
3085       Some  capabilities  are only put into the $TERMCAP variable of the vir‐
3086       tual terminal if they can be efficiently implemented  by  the  physical
3087       terminal.  For instance, `dl' (delete line) is only put into the $TERM‐
3088       CAP variable if the terminal supports  either  delete  line  itself  or
3089       scrolling  regions. Note that this may provoke confusion, when the ses‐
3090       sion is reattached on a different terminal, as the  value  of  $TERMCAP
3091       cannot be modified by parent processes.
3092
3093       The  "alternate  screen" capability is not enabled by default.  Set the
3094       altscreen .screenrc command to enable it.
3095
3096       The following is a list of  control  sequences  recognized  by  screen.
3097       "(V)" and "(A)" indicate VT100-specific and ANSI- or ISO-specific func‐
3098       tions, respectively.
3099
3100       ESC E                      Next Line
3101
3102       ESC D                      Index
3103
3104       ESC M                      Reverse Index
3105
3106       ESC H                      Horizontal Tab Set
3107
3108       ESC Z                      Send VT100 Identification String
3109
3110       ESC 7                 (V)  Save Cursor and Attributes
3111
3112       ESC 8                 (V)  Restore Cursor and Attributes
3113
3114       ESC [s                (A)  Save Cursor and Attributes
3115
3116       ESC [u                (A)  Restore Cursor and Attributes
3117
3118       ESC c                      Reset to Initial State
3119
3120       ESC g                      Visual Bell
3121
3122       ESC Pn p                   Cursor Visibility (97801)
3123
3124           Pn = 6                 Invisible
3125
3126                7                 Visible
3127
3128       ESC =                 (V)  Application Keypad Mode
3129
3130       ESC >                 (V)  Numeric Keypad Mode
3131
3132       ESC # 8               (V)  Fill Screen with E's
3133
3134       ESC \                 (A)  String Terminator
3135
3136       ESC ^                 (A)  Privacy Message String (Message Line)
3137
3138       ESC !                      Global Message String (Message Line)
3139
3140       ESC k                      A.k.a. Definition String
3141
3142       ESC P                 (A)  Device Control  String.   Outputs  a  string
3143                                  directly to the host terminal without inter‐
3144                                  pretation.
3145
3146       ESC _                 (A)  Application Program Command (Hardstatus)
3147
3148       ESC ] 0 ; string ^G   (A)  Operating System Command (Hardstatus,  xterm
3149                                  title hack)
3150
3151       ESC ] 83 ; cmd ^G     (A)  Execute  screen  command. This only works if
3152                                  multi-user support is compiled into  screen.
3153                                  The  pseudo-user ":window:" is used to check
3154                                  the access control list. Use  "addacl  :win‐
3155                                  dow:  -rwx  #?"  to  create  a  user with no
3156                                  rights and allow only the needed commands.
3157
3158       Control-N             (A)  Lock Shift G1 (SO)
3159
3160       Control-O             (A)  Lock Shift G0 (SI)
3161
3162       ESC n                 (A)  Lock Shift G2
3163
3164       ESC o                 (A)  Lock Shift G3
3165
3166       ESC N                 (A)  Single Shift G2
3167
3168       ESC O                 (A)  Single Shift G3
3169
3170       ESC ( Pcs             (A)  Designate character set as G0
3171
3172       ESC ) Pcs             (A)  Designate character set as G1
3173
3174       ESC * Pcs             (A)  Designate character set as G2
3175
3176       ESC + Pcs             (A)  Designate character set as G3
3177
3178       ESC [ Pn ; Pn H            Direct Cursor Addressing
3179
3180       ESC [ Pn ; Pn f            same as above
3181
3182       ESC [ Pn J                 Erase in Display
3183
3184             Pn = None or 0       From Cursor to End of Screen
3185
3186                  1               From Beginning of Screen to Cursor
3187
3188                  2               Entire Screen
3189
3190       ESC [ Pn K                 Erase in Line
3191
3192             Pn = None or 0       From Cursor to End of Line
3193
3194                  1               From Beginning of Line to Cursor
3195
3196                  2               Entire Line
3197
3198       ESC [ Pn X                 Erase character
3199
3200       ESC [ Pn A                 Cursor Up
3201
3202       ESC [ Pn B                 Cursor Down
3203
3204       ESC [ Pn C                 Cursor Right
3205
3206       ESC [ Pn D                 Cursor Left
3207
3208       ESC [ Pn E                 Cursor next line
3209
3210       ESC [ Pn F                 Cursor previous line
3211
3212       ESC [ Pn G                 Cursor horizontal position
3213
3214       ESC [ Pn `                 same as above
3215
3216       ESC [ Pn d                 Cursor vertical position
3217
3218       ESC [ Ps ;...; Ps m        Select Graphic Rendition
3219
3220             Ps = None or 0       Default Rendition
3221
3222                  1               Bold
3223
3224                  2          (A)  Faint
3225
3226                  3          (A)  Standout Mode (ANSI: Italicized)
3227
3228                  4               Underlined
3229
3230                  5               Blinking
3231
3232                  7               Negative Image
3233
3234                  22         (A)  Normal Intensity
3235
3236                  23         (A)  Standout Mode off (ANSI: Italicized off)
3237
3238                  24         (A)  Not Underlined
3239
3240                  25         (A)  Not Blinking
3241
3242                  27         (A)  Positive Image
3243
3244                  30         (A)  Foreground Black
3245
3246                  31         (A)  Foreground Red
3247
3248                  32         (A)  Foreground Green
3249
3250                  33         (A)  Foreground Yellow
3251
3252                  34         (A)  Foreground Blue
3253
3254                  35         (A)  Foreground Magenta
3255
3256                  36         (A)  Foreground Cyan
3257
3258                  37         (A)  Foreground White
3259
3260                  39         (A)  Foreground Default
3261
3262                  40         (A)  Background Black
3263
3264                  ...
3265
3266                  49         (A)  Background Default
3267
3268       ESC [ Pn g                 Tab Clear
3269
3270             Pn = None or 0       Clear Tab at Current Position
3271
3272                  3               Clear All Tabs
3273
3274       ESC [ Pn ; Pn r       (V)  Set Scrolling Region
3275
3276       ESC [ Pn I            (A)  Horizontal Tab
3277
3278       ESC [ Pn Z            (A)  Backward Tab
3279
3280       ESC [ Pn L            (A)  Insert Line
3281
3282       ESC [ Pn M            (A)  Delete Line
3283
3284       ESC [ Pn @            (A)  Insert Character
3285
3286       ESC [ Pn P            (A)  Delete Character
3287
3288       ESC [ Pn S                 Scroll Scrolling Region Up
3289
3290       ESC [ Pn T                 Scroll Scrolling Region Down
3291
3292       ESC [ Pn ^                 same as above
3293
3294       ESC [ Ps ;...; Ps h        Set Mode
3295
3296       ESC [ Ps ;...; Ps l        Reset Mode
3297
3298             Ps = 4          (A)  Insert Mode
3299
3300                  20         (A)  Automatic Linefeed Mode
3301
3302                  34              Normal Cursor Visibility
3303
3304                  ?1         (V)  Application Cursor Keys
3305
3306                  ?3         (V)  Change Terminal Width to 132 columns
3307
3308                  ?5         (V)  Reverse Video
3309
3310                  ?6         (V)  Origin Mode
3311
3312                  ?7         (V)  Wrap Mode
3313
3314                  ?9              X10 mouse tracking
3315
3316                  ?25        (V)  Visible Cursor
3317
3318                  ?47             Alternate Screen (old xterm code)
3319
3320                  ?1000      (V)  VT200 mouse tracking
3321
3322                  ?1047           Alternate Screen (new xterm code)
3323
3324                  ?1049           Alternate Screen (new xterm code)
3325
3326       ESC [ 5 i             (A)  Start relay to printer (ANSI Media Copy)
3327
3328       ESC [ 4 i             (A)  Stop relay to printer (ANSI Media Copy)
3329
3330       ESC [ 8 ; Ph ; Pw t        Resize the window to  `Ph'  lines  and  `Pw'
3331                                  columns (SunView special)
3332
3333       ESC [ c                    Send VT100 Identification String
3334
3335       ESC [ x                    Send Terminal Parameter Report
3336
3337       ESC [ > c                  Send   VT220   Secondary  Device  Attributes
3338                                  String
3339
3340       ESC [ 6 n                  Send Cursor Position Report
3341
3342
3343

INPUT TRANSLATION

3345       In order to do a full VT100 emulation  screen  has  to  detect  that  a
3346       sequence  of characters in the input stream was generated by a keypress
3347       on the user's keyboard and insert  the  VT100  style  escape  sequence.
3348       Screen  has  a very flexible way of doing this by making it possible to
3349       map arbitrary commands on arbitrary sequences of characters. For  stan‐
3350       dard  VT100  emulation  the  command will always insert a string in the
3351       input buffer of the window (see also command stuff in the  command  ta‐
3352       ble).  Because the sequences generated by a keypress can change after a
3353       reattach from a different terminal type, it is possible  to  bind  com‐
3354       mands  to the termcap name of the keys.  Screen will insert the correct
3355       binding after each  reattach.  See  the  bindkey  command  for  further
3356       details on the syntax and examples.
3357
3358       Here  is the table of the default key bindings. (A) means that the com‐
3359       mand is executed if the keyboard is switched into application mode.
3360
3361       Key name          Termcap name    Command
3362       ______________________________________________________
3363       Cursor up             ku          stuff \033[A
3364                                         stuff \033OA    (A)
3365       Cursor down           kd          stuff \033[B
3366                                         stuff \033OB    (A)
3367       Cursor right          kr          stuff \033[C
3368                                         stuff \033OC    (A)
3369       Cursor left           kl          stuff \033[D
3370                                         stuff \033OD    (A)
3371       Function key 0        k0          stuff \033[10~
3372       Function key 1        k1          stuff \033OP
3373       Function key 2        k2          stuff \033OQ
3374       Function key 3        k3          stuff \033OR
3375       Function key 4        k4          stuff \033OS
3376       Function key 5        k5          stuff \033[15~
3377       Function key 6        k6          stuff \033[17~
3378       Function key 7        k7          stuff \033[18~
3379       Function key 8        k8          stuff \033[19~
3380       Function key 9        k9          stuff \033[20~
3381       Function key 10       k;          stuff \033[21~
3382       Function key 11       F1          stuff \033[23~
3383       Function key 12       F2          stuff \033[24~
3384       Home                  kh          stuff \033[1~
3385       End                   kH          stuff \033[4~
3386       Insert                kI          stuff \033[2~
3387       Delete                kD          stuff \033[3~
3388       Page up               kP          stuff \033[5~
3389       Page down             kN          stuff \033[6~
3390       Keypad 0              f0          stuff 0
3391                                         stuff \033Op    (A)
3392       Keypad 1              f1          stuff 1
3393                                         stuff \033Oq    (A)
3394       Keypad 2              f2          stuff 2
3395                                         stuff \033Or    (A)
3396       Keypad 3              f3          stuff 3
3397                                         stuff \033Os    (A)
3398       Keypad 4              f4          stuff 4
3399                                         stuff \033Ot    (A)
3400       Keypad 5              f5          stuff 5
3401                                         stuff \033Ou    (A)
3402       Keypad 6              f6          stuff 6
3403                                         stuff \033Ov    (A)
3404       Keypad 7              f7          stuff 7
3405                                         stuff \033Ow    (A)
3406       Keypad 8              f8          stuff 8
3407                                         stuff \033Ox    (A)
3408       Keypad 9              f9          stuff 9
3409                                         stuff \033Oy    (A)
3410       Keypad +              f+          stuff +
3411                                         stuff \033Ok    (A)
3412       Keypad -              f-          stuff -
3413                                         stuff \033Om    (A)
3414       Keypad *              f*          stuff *
3415                                         stuff \033Oj    (A)
3416       Keypad /              f/          stuff /
3417                                         stuff \033Oo    (A)
3418       Keypad =              fq          stuff =
3419                                         stuff \033OX    (A)
3420       Keypad .              f.          stuff .
3421                                         stuff \033On    (A)
3422       Keypad ,              f,          stuff ,
3423                                         stuff \033Ol    (A)
3424       Keypad enter          fe          stuff \015
3425                                         stuff \033OM    (A)
3426
3427
3428

SPECIAL TERMINAL CAPABILITIES

3430       The following table describes all terminal capabilities that are recog‐
3431       nized  by  screen  and are not in the termcap(5) manual.  You can place
3432       these capabilities in your termcap entries (in `/etc/termcap')  or  use
3433       them  with the commands `termcap', `terminfo' and `termcapinfo' in your
3434       screenrc files. It is often not possible to place these capabilities in
3435       the terminfo database.
3436
3437       LP   (bool)  Terminal  has  VT100 style margins (`magic margins'). Note
3438                    that this capability is obsolete because screen  uses  the
3439                    standard 'xn' instead.
3440
3441       Z0   (str)   Change width to 132 columns.
3442
3443       Z1   (str)   Change width to 80 columns.
3444
3445       WS   (str)   Resize  display. This capability has the desired width and
3446                    height as arguments. SunView(tm) example: '\E[8;%d;%dt'.
3447
3448       NF   (bool)  Terminal doesn't need flow control. Send ^S and ^Q  direct
3449                    to  the  application.  Same as 'flow off'. The opposite of
3450                    this capability is 'nx'.
3451
3452       G0   (bool)  Terminal can deal with ISO 2022 font selection sequences.
3453
3454       S0   (str)   Switch charset 'G0' to the specified charset.  Default  is
3455                    '\E(%.'.
3456
3457       E0   (str)   Switch  charset  'G0' back to standard charset. Default is
3458                    '\E(B'.
3459
3460       C0   (str)   Use the string as a conversion table for font '0'. See the
3461                    'ac' capability for more details.
3462
3463       CS   (str)   Switch cursor-keys to application mode.
3464
3465       CE   (str)   Switch cursor-keys back to normal mode.
3466
3467       AN   (bool)  Turn  on  autonuke.  See  the  'autonuke' command for more
3468                    details.
3469
3470       OL   (num)   Set the output buffer limit. See the  'obuflimit'  command
3471                    for more details.
3472
3473       KJ   (str)   Set  the encoding of the terminal. See the 'encoding' com‐
3474                    mand for valid encodings.
3475
3476       AF   (str)   Change character foreground color in an ANSI conform  way.
3477                    This  capability  will  almost  always be set to '\E[3%dm'
3478                    ('\E[3%p1%dm' on terminfo machines).
3479
3480       AB   (str)   Same as 'AF', but change background color.
3481
3482       AX   (bool)  Does understand ANSI set default  fg/bg  color  (\E[39m  /
3483                    \E[49m).
3484
3485       XC   (str)   Describe  a translation of characters to strings depending
3486                    on the current font. More details follow in the next  sec‐
3487                    tion.
3488
3489       XT   (bool)  Terminal  understands  special xterm sequences (OSC, mouse
3490                    tracking).
3491
3492       C8   (bool)  Terminal needs bold to display high-intensity colors (e.g.
3493                    Eterm).
3494
3495       TF   (bool)  Add  missing  capabilities to the termcap/info entry. (Set
3496                    by default).
3497
3498

CHARACTER TRANSLATION

3500       Screen has a powerful mechanism to translate  characters  to  arbitrary
3501       strings depending on the current font and terminal type.  Use this fea‐
3502       ture if you want to work with a  common  standard  character  set  (say
3503       ISO8851-latin1) even on terminals that scatter the more unusual charac‐
3504       ters over several national language font pages.
3505
3506       Syntax:
3507           XC=<charset-mapping>{,,<charset-mapping>}
3508           <charset-mapping> := <designator><template>{,<mapping>}
3509           <mapping> := <char-to-be-mapped><template-arg>
3510
3511       The things in braces may be repeated any number of times.
3512
3513       A <charset-mapping> tells screen how to map characters in font  <desig‐
3514       nator>  ('B':  Ascii,  'A':  UK,  'K': German, etc.)  to strings. Every
3515       <mapping> describes to what string a single character  will  be  trans‐
3516       lated. A template mechanism is used, as most of the time the codes have
3517       a lot in common (for example strings to  switch  to  and  from  another
3518       charset).  Each  occurrence  of '%' in <template> gets substituted with
3519       the <template-arg> specified  together  with  the  character.  If  your
3520       strings  are  not  similar at all, then use '%' as a template and place
3521       the full string in <template-arg>. A quoting  mechanism  was  added  to
3522       make  it  possible to use a real '%'. The '\' character quotes the spe‐
3523       cial characters '\', '%', and ','.
3524
3525       Here is an example:
3526
3527           termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'
3528
3529       This tells screen how to translate ISOlatin1 (charset 'B')  upper  case
3530       umlaut characters on a hp700 terminal that has a German charset. '\304'
3531       gets translated to '\E(K[\E(B' and so on.  Note  that  this  line  gets
3532       parsed  *three* times before the internal lookup table is built, there‐
3533       fore a lot of quoting is needed to create a single '\'.
3534
3535       Another extension was added to  allow  more  emulation:  If  a  mapping
3536       translates the unquoted '%' char, it will be sent to the terminal when‐
3537       ever screen switches to the corresponding <designator>. In this special
3538       case  the template is assumed to be just '%' because the charset switch
3539       sequence and the character mappings normally haven't much in common.
3540
3541       This example shows one use of the extension:
3542
3543           termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'
3544
3545       Here, a part of the German ('K') charset is emulated on an  xterm.   If
3546       screen  has  to  change  to the 'K' charset, '\E(B' will be sent to the
3547       terminal, i.e. the ASCII charset is used instead. The template is  just
3548       '%',  so  the mapping is straightforward: '[' to '\304', '\' to '\326',
3549       and ']' to '\334'.
3550
3551

ENVIRONMENT

3553       COLUMNS        Number of columns on  the  terminal  (overrides  termcap
3554                      entry).
3555       HOME           Directory in which to look for .screenrc.
3556       LINES          Number  of  lines  on  the  terminal  (overrides termcap
3557                      entry).
3558       LOCKPRG        Screen lock program.
3559       NETHACKOPTIONS Turns on nethack option.
3560       PATH           Used for locating programs to run.
3561       SCREENCAP      For customizing a terminal's TERMCAP value.
3562       SCREENDIR      Alternate socket directory.
3563       SCREENRC       Alternate user screenrc file.
3564       SHELL          Default  shell  program  for  opening  windows  (default
3565                      "/bin/sh").
3566       STY            Alternate socket name.
3567       SYSSCREENRC    Alternate system screenrc file.
3568       TERM           Terminal name.
3569       TERMCAP        Terminal description.
3570       WINDOW         Window number of a window (at creation time).
3571

FILES

3573       .../screen-4.?.??/etc/screenrc
3574       .../screen-4.?.??/etc/etcscreenrc Examples  in  the screen distribution
3575                                         package for private and  global  ini‐
3576                                         tialization files.
3577       $SYSSCREENRC
3578       /etc/screenrc                     screen initialization commands
3579       $SCREENRC
3580       $HOME/.screenrc                   Read in after /etc/screenrc
3581       $SCREENDIR/S-<login>
3582       /local/screens/S-<login>          Socket directories (default)
3583       /usr/tmp/screens/S-<login>        Alternate socket directories.
3584       <socket directory>/.termcap       Written by the "termcap" output func‐
3585                                         tion
3586       /usr/tmp/screens/screen-exchange  or
3587       /tmp/screen-exchange              screen  `interprocess   communication
3588                                         buffer'
3589       hardcopy.[0-9]                    Screen images created by the hardcopy
3590                                         function
3591       screenlog.[0-9]                   Output log files created by  the  log
3592                                         function
3593       /usr/lib/terminfo/?/*             or
3594       /etc/termcap                      Terminal capability databases
3595       /etc/utmp                         Login records
3596       $LOCKPRG                          Program that locks a terminal.
3597
3598

SEE ALSO

3600       termcap(5), utmp(5), vi(1), captoinfo(1), tic(1)
3601
3602

AUTHORS

3604       Originally  created by Oliver Laumann, this latest version was produced
3605       by Juergen Weigert, Michael Schroeder, Micah  Cowan  and  Sadrul  Habib
3606       Chowdhury.
3607

COPYLEFT

3609       Copyright (c) 2010
3610            Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
3611            Sadrul Habib Chowdhury (sadrul@users.sourceforge.net)
3612       Copyright (c) 2008, 2009
3613            Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
3614            Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
3615            Micah Cowan (micah@cowan.name)
3616            Sadrul Habib Chowdhury (sadrul@users.sourceforge.net)
3617       Copyright (C) 1993-2003
3618            Juergen Weigert (jnweiger@immd4.informatik.uni-erlangen.de)
3619            Michael Schroeder (mlschroe@immd4.informatik.uni-erlangen.de)
3620       Copyright (C) 1987 Oliver Laumann
3621       This program is free software; you can redistribute it and/or modify it
3622       under the terms of the GNU General Public License as published  by  the
3623       Free  Software  Foundation;  either  version 3, or (at your option) any
3624       later version.
3625       This program is distributed in the hope that it  will  be  useful,  but
3626       WITHOUT  ANY  WARRANTY;  without  even  the  implied  warranty  of MER‐
3627       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  General
3628       Public License for more details.
3629       You should have received a copy of the GNU General Public License along
3630       with this program (see the file COPYING); if not,  write  to  the  Free
3631       Software  Foundation,  Inc.,  59  Temple  Place - Suite 330, Boston, MA
3632       02111-1307, USA
3633

CONTRIBUTORS

3635       Ken Beal (kbeal@amber.ssd.csd.harris.com),
3636       Rudolf Koenig (rfkoenig@immd4.informatik.uni-erlangen.de),
3637       Toerless Eckert (eckert@immd4.informatik.uni-erlangen.de),
3638       Wayne Davison (davison@borland.com),
3639       Patrick Wolfe (pat@kai.com, kailand!pat),
3640       Bart Schaefer (schaefer@cse.ogi.edu),
3641       Nathan Glasser (nathan@brokaw.lcs.mit.edu),
3642       Larry W. Virden (lvirden@cas.org),
3643       Howard Chu (hyc@hanauma.jpl.nasa.gov),
3644       Tim MacKenzie (tym@dibbler.cs.monash.edu.au),
3645       Markku Jarvinen (mta@{cc,cs,ee}.tut.fi),
3646       Marc Boucher (marc@CAM.ORG),
3647       Doug Siebert (dsiebert@isca.uiowa.edu),
3648       Ken Stillson (stillson@tsfsrv.mitre.org),
3649       Ian Frechett (frechett@spot.Colorado.EDU),
3650       Brian Koehmstedt (bpk@gnu.ai.mit.edu),
3651       Don Smith (djs6015@ultb.isc.rit.edu),
3652       Frank van der Linden (vdlinden@fwi.uva.nl),
3653       Martin Schweikert (schweik@cpp.ob.open.de),
3654       David Vrona (dave@sashimi.lcu.com),
3655       E. Tye McQueen (tye%spillman.UUCP@uunet.uu.net),
3656       Matthew Green (mrg@eterna.com.au),
3657       Christopher Williams (cgw@pobox.com),
3658       Matt Mosley (mattm@access.digex.net),
3659       Gregory Neil Shapiro (gshapiro@wpi.WPI.EDU),
3660       Johannes Zellner (johannes@zellner.org),
3661       Pablo Averbuj (pablo@averbuj.com).
3662
3663

VERSION

3665       This is version 4.1.0. Its roots are a merge of a custom version 2.3PR7
3666       by  Wayne  Davison and several enhancements to Oliver Laumann's version
3667       2.0. Note that all versions numbered 2.x are copyright by  Oliver  Lau‐
3668       mann.
3669

AVAILABILITY

3671       The  latest official release of screen available via anonymous ftp from
3672       gnudist.gnu.org, nic.funet.fi or any other GNU distribution  site.  The
3673       home site of screen is ftp.uni-erlangen.de, in the directory pub/utili‐
3674       ties/screen. The subdirectory `private' contains the latest beta  test‐
3675       ing  release.  If  you  want  to help, send a note to screen@uni-erlan‐
3676       gen.de.
3677

BUGS

3679       ·  `dm' (delete mode) and `xs' are  not  handled  correctly  (they  are
3680          ignored). `xn' is treated as a magic-margin indicator.
3681
3682       ·  Screen has no clue about double-high or double-wide characters.  But
3683          this is the only area where vttest is allowed to fail.
3684
3685       ·  It is not possible to change the environment variable $TERMCAP  when
3686          reattaching under a different terminal type.
3687
3688       ·  The  support of terminfo based systems is very limited. Adding extra
3689          capabilities to $TERMCAP may not have any effects.
3690
3691       ·  Screen does not make use of hardware tabs.
3692
3693       ·  Screen must be installed as set-uid with owner root on most  systems
3694          in  order to be able to correctly change the owner of the tty device
3695          file for each window.  Special permission may also  be  required  to
3696          write the file "/etc/utmp".
3697
3698       ·  Entries  in  "/etc/utmp"  are not removed when screen is killed with
3699          SIGKILL.  This will cause some programs  (like  "w"  or  "rwho")  to
3700          advertise that a user is logged on who really isn't.
3701
3702       ·  Screen may give a strange warning when your tty has no utmp entry.
3703
3704       ·  When the modem line was hung up, screen may not automatically detach
3705          (or quit) unless the device driver is configured to  send  a  HANGUP
3706          signal.   To  detach  a screen session use the -D or -d command line
3707          option.
3708
3709       ·  If a password is set, the command  line  options  -d  and  -D  still
3710          detach a session without asking.
3711
3712       ·  Both  "breaktype"  and  "defbreaktype"  change  the break generating
3713          method used by all terminal devices. The first should change a  win‐
3714          dow  specific  setting,  where  the  latter  should  change only the
3715          default for new windows.
3716
3717       ·  When attaching to a multiuser session, the user's .screenrc file  is
3718          not  sourced.  Each  user's personal settings have to be included in
3719          the .screenrc file from which the session is booted, or have  to  be
3720          changed manually.
3721
3722       ·  A weird imagination is most useful to gain full advantage of all the
3723          features.
3724
3725       ·  Send bug-reports, fixes, enhancements, t-shirts, money, beer & pizza
3726          to screen@uni-erlangen.de.
3727
3728
3729
3730
37314th Berkeley Distribution          Aug 2003                          SCREEN(1)
Impressum