man pages section 1: User Commands

Exit Print View

Updated: July 2014

screen (1)


screen - screen manager with VT100/ANSI terminal emulation


screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]


User Commands                                           SCREEN(1)

     screen - screen manager with VT100/ANSI terminal emulation

     screen [ -options ] [ cmd [ args ] ]
     screen -r [[pid.]tty[.host]]
     screen -r sessionowner/[[pid.]tty[.host]]

     Screen  is  a  full-screen window manager that multiplexes a
     physical  terminal  between  several  processes   (typically
     interactive  shells).   Each  virtual  terminal provides the
     functions of a DEC VT100 terminal and, in addition,  several
     control  functions  from  the ISO 6429 (ECMA 48, ANSI X3.64)
     and ISO 2022 standards (e.g. insert/delete line and  support
     for multiple character sets).  There is a scrollback history
     buffer for each virtual terminal and a copy-and-paste mecha-
     nism that allows moving text regions between windows.

     When  screen  is  called,  it creates a single window with a
     shell in it (or the specified command) and then gets out  of
     your  way  so  that  you can use the program as you normally
     would.  Then, at any time, you can create new  (full-screen)
     windows with other programs in them (including more shells),
     kill existing windows, view a list of windows,  turn  output
     logging  on  and  off,  copy-and-paste text between windows,
     view the scrollback history, switch between windows in what-
     ever  manner  you  wish, etc. All windows run their programs
     completely independent of each other. Programs  continue  to
     run when their window is currently not visible and even when
     the whole screen session is detached from the user's  termi-
     nal.   When a program terminates, screen (per default) kills
     the window that contained it.  If this  window  was  in  the
     foreground,  the display switches to the previous window; if
     none are left, screen exits.

     Everything you type is sent to the program  running  in  the
     current  window.  The only exception to this is the one key-
     stroke that is used to initiate a command to the window man-
     ager.   By  default,  each  command  begins with a control-a
     (abbreviated C-a from now on), and is followed by one  other
     keystroke.   The  command character and all the key bindings
     can be fully customized to be anything you like, though they
     are always two characters in length.

     Screen  does not understand the prefix "C-" to mean control.
     Please use the caret notation ("^A"  instead  of  "C-a")  as
     arguments  to  e.g.  the  escape  command  or the -e option.

SunOS 5.11            Last change: Aug 2003                     1

User Commands                                           SCREEN(1)

     Screen will also print out control characters in caret nota-

     The  standard way to create a new window is to type "C-a c".
     This creates a new window running a shell  and  switches  to
     that  window  immediately,  regardless  of  the state of the
     process running in the current window.  Similarly,  you  can
     create  a  new  window  with a custom command in it by first
     binding the command to a keystroke (in your  .screenrc  file
     or  at the "C-a :" command line) and then using it just like
     the "C-a c" command.  In addition, new windows can  be  cre-
     ated by running a command like:

          screen emacs prog.c

     from  a  shell  prompt  within  a previously created window.
     This will not run another copy of screen, but  will  instead
     supply the command name and its arguments to the window man-
     ager (specified in the $STY environment variable)  who  will
     use  it  to  create the new window.  The above example would
     start the emacs editor (editing prog.c) and  switch  to  its

     If  "/etc/utmp" is writable by screen, an appropriate record
     will be written to this file for each  window,  and  removed
     when  the  window is terminated.  This is useful for working
     with "talk", "script", "shutdown", "rsend", "sccs" and other
     similar programs that use the utmp file to determine who you
     are. As long as screen is active on your terminal, the  ter-
     minal's  own  record is removed from the utmp file. See also
     "C-a L".

     Before you begin to use screen you'll need to make sure  you
     have  correctly  selected  your  terminal  type, just as you
     would for any other termcap/terminfo program.  (You  can  do
     this by using tset for example.)

     If  you're impatient and want to get started without doing a
     lot more reading, you should remember this one command:  "C-
     a  ?".   Typing  these two characters will display a list of
     the available screen commands and their bindings. Each  key-
     stroke  is  discussed in the section "DEFAULT KEY BINDINGS".
     The manual section "CUSTOMIZATION" deals with  the  contents
     of your .screenrc.

     If  your  terminal  is  a  "true"  auto-margin  terminal (it
     doesn't allow the last position on the screen to be  updated
     without  scrolling  the  screen) consider using a version of
     your terminal's termcap that has  automatic  margins  turned

SunOS 5.11            Last change: Aug 2003                     2

User Commands                                           SCREEN(1)

     off.  This will ensure an accurate and optimal update of the
     screen in all circumstances. Most  terminals  nowadays  have
     "magic" margins (automatic margins plus usable last column).
     This is the  VT100  style  type  and  perfectly  suited  for
     screen.   If all you've got is a "true" auto-margin terminal
     screen will be content to use it, but updating  a  character
     put into the last position on the screen may not be possible
     until the screen scrolls or the character is  moved  into  a
     safe position in some other way. This delay can be shortened
     by using a terminal with insert-character capability.

     Screen has the following command-line options:

     -a   include all capabilities (with some  minor  exceptions)
          in  each  window's  termcap, even if screen must redraw
          parts of the display in order to implement a  function.

     -A   Adapt  the sizes of all windows to the size of the cur-
          rent terminal.  By default, screen tries to restore its
          old  window sizes when attaching to resizable terminals
          (those with "WS" in its  description,  e.g.  suncmd  or
          some xterm).

     -c file
          override    the   default   configuration   file   from
          "$HOME/.screenrc" to file.

     -d|-D []
          does not start screen, but detaches the elsewhere  run-
          ning  screen  session. It has the same effect as typing
          "C-a d" from screen's controlling terminal. -D  is  the
          equivalent  to the power detach key.  If no session can
          be detached, this option  is  ignored.  In  combination
          with  the  -r/-R  option  more  powerful effects can be

     -d -r   Reattach a session and if necessary detach it first.

     -d -R   Reattach  a  session and if necessary detach or even
             create it first.

     -d -RR  Reattach a session and if necessary detach or create
             it.  Use  the first session if more than one session
             is available.

     -D -r   Reattach a session. If necessary detach  and  logout
             remotely first.

     -D -R   Attach  here  and  now.  In  detail this means: If a

SunOS 5.11            Last change: Aug 2003                     3

User Commands                                           SCREEN(1)

             session is  running,  then  reattach.  If  necessary
             detach  and  logout  remotely  first.  If it was not
             running create it and notify the user. This  is  the
             author's favorite.

     -D -RR  Attach  here  and  now. Whatever that means, just do

          Note: It is always a good idea to check the  status  of
          your sessions by means of "screen -list".

     -e xy
          specifies the command character to be x and the charac-
          ter generating a literal command character to  y  (when
          typed after the command character).  The default is "C-
          a" and `a', which can be specified  as  "-e^Aa".   When
          creating a screen session, this option sets the default
          command character. In a  multiuser  session  all  users
          added  will  start off with this command character. But
          when attaching to  an  already  running  session,  this
          option  changes  only  the  command  character  of  the
          attaching user.  This option is  equivalent  to  either
          the commands "defescape" or "escape" respectively.

     -f, -fn, and -fa
          turns  flow-control  on,  off,  or "automatic switching
          mode".  This can also be defined through the  "defflow"
          .screenrc command.

     -h num
          Specifies the history scrollback buffer to be num lines

     -i   will cause the interrupt key (usually C-c) to interrupt
          the  display  immediately when flow-control is on.  See
          the "defflow" .screenrc command for details.   The  use
          of this option is discouraged.

     -l and -ln
          turns  login  mode  on or off (for /etc/utmp updating).
          This  can  also  be  defined  through  the   "deflogin"
          .screenrc command.

     -ls and -list
          does   not   start   screen,   but  prints  a  list  of
 strings identifying your screen  sessions.
          Sessions  marked `detached' can be resumed with "screen
          -r". Those marked `attached' are  running  and  have  a
          controlling  terminal. If the session runs in multiuser
          mode,  it  is  marked  `multi'.  Sessions   marked   as
          `unreachable'  either  live  on a different host or are
          `dead'.  An unreachable  session  is  considered  dead,

SunOS 5.11            Last change: Aug 2003                     4

User Commands                                           SCREEN(1)

          when  its  name  matches  either  the name of the local
          host, or the specified parameter, if any.  See  the  -r
          flag  for a description how to construct matches.  Ses-
          sions marked as `dead' should be thoroughly checked and
          removed.   Ask your system administrator if you are not
          sure. Remove sessions with the -wipe option.

     -L   tells screen to turn on automatic  output  logging  for
          the windows.

     -m   causes  screen to ignore the $STY environment variable.
          With "screen -m" creation of a new session is enforced,
          regardless whether screen is called from within another
          screen session or not. This flag has a special  meaning
          in connection with the `-d' option:

     -d -m   Start  screen in "detached" mode. This creates a new
             session but doesn't attach to it. This is useful for
             system startup scripts.

     -D -m   This  also  starts  screen  in  "detached" mode, but
             doesn't fork a new process. The command exits if the
             session terminates.

     -O   selects  a  more  optimal output mode for your terminal
          rather than true VT100 emulation  (only  affects  auto-
          margin  terminals  without `LP').  This can also be set
          in your .screenrc by specifying  `OP'  in  a  "termcap"

     -p number_or_name
          Preselect  a  window.  This is usefull when you want to
          reattach to a specific windor or you  want  to  send  a
          command  via  the  "-X" option to a specific window. As
          with screen's select commant,  "-"  selects  the  blank
          window.  As  a special case for reattach, "=" brings up
          the windowlist on the blank window.

     -q   Suppress printing of  error  messages.  In  combination
          with  "-ls" the exit value is as follows: 9 indicates a
          directory without sessions. 10  indicates  a  directory
          with  running but not attachable sessions. 11 (or more)
          indicates 1 (or more) usable sessions.  In  combination
          with  "-r"  the  exit value is as follows: 10 indicates
          that there is no session to resume. 12 (or more)  indi-
          cates that there are 2 (or more) sessions to resume and
          you should specify which one to choose.  In  all  other
          cases "-q" has no effect.

     -r []
     -r sessionowner/[]
          resumes  a  detached  screen session.  No other options

SunOS 5.11            Last change: Aug 2003                     5

User Commands                                           SCREEN(1)

          (except combinations  with  -d/-D)  may  be  specified,
          though  an  optional  prefix  of  [pid.] may be
          needed to distinguish between multiple detached  screen
          sessions.   The  second  form  is  used  to  connect to
          another user's screen session which runs  in  multiuser
          mode.  This  indicates that screen should look for ses-
          sions  in  another  user's  directory.  This   requires

     -R   attempts to resume the first detached screen session it
          finds.  If successful, all other  command-line  options
          are  ignored.   If no detached session exists, starts a
          new session using the specified options, just as if  -R
          had not been specified. The option is set by default if
          screen is run as a login-shell  (actually  screen  uses
          "-xRR"  in that case).  For combinations with the -d/-D
          option see there.

     -s   sets  the  default  shell  to  the  program  specified,
          instead of the value in the environment variable $SHELL
          (or "/bin/sh"  if  not  defined).   This  can  also  be
          defined through the "shell" .screenrc command.

     -S sessionname
          When creating a new session, this option can be used to
          specify a meaningful name for the  session.  This  name
          identifies  the  session for "screen -list" and "screen
          -r" actions. It substitutes the default [] suf-

     -t name
          sets the title (a.k.a.) for the default shell or speci-
          fied program.  See also the "shelltitle" .screenrc com-

     -U   Run screen in UTF-8 mode. This option tells screen that
          your terminal sends and understands UTF-8 encoded char-
          acters.  It also sets the default encoding for new win-
          dows to `utf8'.

     -v   Print version number.

     -wipe [match]
          does the same as "screen -ls",  but  removes  destroyed
          sessions   instead  of  marking  them  as  `dead'.   An
          unreachable session is considered dead, when  its  name
          matches  either  the  name  of  the  local host, or the
          explicitly given parameter, if any.  See  the  -r  flag
          for a description how to construct matches.

     -x   Attach to a not detached screen session. (Multi display

SunOS 5.11            Last change: Aug 2003                     6

User Commands                                           SCREEN(1)

     -X   Send the specified command to a running screen session.
          You  can use the -d or -r option to tell screen to look
          only for attached or  detached  screen  sessions.  Note
          that  this command doesn't work if the session is pass-
          word protected.

     As mentioned, each screen command consists of a  "C-a"  fol-
     lowed  by  one  other  character.  For your convenience, all
     commands that are bound to lower-case letters are also bound
     to  their control character counterparts (with the exception
     of "C-a a"; see below), thus, "C-a c" as well as  "C-a  C-c"
     can  be used to create a window. See section "CUSTOMIZATION"
     for a description of the command.

     The following table shows the default key bindings:

     C-a '       (select)      Prompt for a window name or number
                               to switch to.

     C-a "       (windowlist -b)
                               Present  a list of all windows for

     C-a 0       (select 0)
      ...           ...
     C-a 9       (select 9)
     C-a -       (select -)    Switch to window number 0 - 9,  or
                               to the blank window.

     C-a tab     (focus)       Switch the input focus to the next

     C-a C-a     (other)       Toggle  to  the  window  displayed
                               previously.   Note that this bind-
                               ing defaults to the command  char-
                               acter typed twice, unless overrid-
                               den.  For instance, if you use the
                               option    "-e]x",   this   command
                               becomes "]]".

     C-a a       (meta)        Send the command  character  (C-a)
                               to window. See escape command.

     C-a A       (title)       Allow the user to enter a name for
                               the current window.

     C-a b
     C-a C-b     (break)       Send a break to window.

SunOS 5.11            Last change: Aug 2003                     7

User Commands                                           SCREEN(1)

     C-a B       (pow_break)   Reopen the terminal line and  send
                               a break.

     C-a c
     C-a C-c     (screen)      Create  a  new window with a shell
                               and switch to that window.

     C-a C       (clear)       Clear the screen.

     C-a d
     C-a C-d     (detach)      Detach screen from this  terminal.

     C-a D D     (pow_detach)  Detach and logout.

     C-a f
     C-a C-f     (flow)        Toggle flow on, off or auto.

     C-a F       (fit)         Resize  the  window to the current
                               region size.

     C-a C-g     (vbell)       Toggles screen's visual bell mode.

     C-a h       (hardcopy)    Write  a  hardcopy  of the current
                               window to the file "hardcopy.n".

     C-a H       (log)         Begins/ends logging of the current
                               window  to the file "screenlog.n".

     C-a i
     C-a C-i     (info)        Show info about this window.

     C-a k
     C-a C-k     (kill)        Destroy current window.

     C-a l
     C-a C-l     (redisplay)   Fully refresh current window.

     C-a L       (login)       Toggle this  windows  login  slot.
                               Available  only  if screen is con-
                               figured to update the  utmp  data-

     C-a m
     C-a C-m     (lastmsg)     Repeat  the last message displayed
                               in the message line.

     C-a M       (monitor)     Toggles monitoring of the  current

     C-a space
     C-a n
     C-a C-n     (next)        Switch to the next window.

SunOS 5.11            Last change: Aug 2003                     8

User Commands                                           SCREEN(1)

     C-a N       (number)      Show the number (and title) of the
                               current window.

     C-a backspace
     C-a h
     C-a p
     C-a C-p     (prev)        Switch  to  the  previous   window
                               (opposite of C-a n).

     C-a q
     C-a C-q     (xon)         Send  a  control-q  to the current

     C-a Q       (only)        Delete all regions but the current

     C-a r
     C-a C-r     (wrap)        Toggle  the current window's line-
                               wrap  setting  (turn  the  current
                               window's  automatic margins on and

     C-a s
     C-a C-s     (xoff)        Send a control-s  to  the  current

     C-a S       (split)       Split  the current region into two
                               new ones.

     C-a t
     C-a C-t     (time)        Show system information.

     C-a v       (version)     Display the version  and  compila-
                               tion date.

     C-a C-v     (digraph)     Enter digraph.

     C-a w
     C-a C-w     (windows)     Show a list of window.

     C-a W       (width)       Toggle 80/132 columns.

     C-a x
     C-a C-x     (lockscreen)  Lock this terminal.

     C-a X       (remove)      Kill the current region.

     C-a z
     C-a C-z     (suspend)     Suspend  screen.  Your system must
                               support BSD-style job-control.

     C-a Z       (reset)       Reset the virtual terminal to  its

SunOS 5.11            Last change: Aug 2003                     9

User Commands                                           SCREEN(1)

                               "power-on" values.

     C-a .       (dumptermcap) Write out a ".termcap" file.

     C-a ?       (help)        Show key bindings.

     C-a C-\     (quit)        Kill  all  windows  and  terminate

     C-a :       (colon)       Enter command line mode.

     C-a [
     C-a C-[
     C-a esc     (copy)        Enter copy/scrollback mode.

     C-a ]       (paste .)     Write the contents  of  the  paste
                               buffer  to  the stdin queue of the
                               current window.

     C-a {
     C-a }       (history)     Copy and paste  a  previous  (com-
                               mand) line.

     C-a >       (writebuf)    Write paste buffer to a file.

     C-a <       (readbuf)     Reads   the  screen-exchange  file
                               into the paste buffer.

     C-a =       (removebuf)   Removes the file used by C-a < and
                               C-a >.

     C-a ,       (license)     Shows  where  screen  comes  from,
                               where it went to and why  you  can
                               use it.

     C-a _       (silence)     Start/stop  monitoring the current
                               window for inactivity.

     C-a *       (displays)    Show a listing  of  all  currently
                               attached displays.

     The  "socket  directory" defaults either to $HOME/.screen or
     simply to /tmp/screens or preferably  to  /usr/local/screens
     chosen  at compile-time. If screen is installed setuid-root,
     then the administrator should compile screen  with  an  ade-
     quate  (not  NFS mounted) socket directory. If screen is not
     running setuid-root, the  user  can  specify  any  mode  700
     directory in the environment variable $SCREENDIR.

SunOS 5.11            Last change: Aug 2003                    10

User Commands                                           SCREEN(1)

     When  screen is invoked, it executes initialization commands
     from the files "/usr/local/etc/screenrc" and ".screenrc"  in
     the  user's  home  directory.  These  are  the "programmer's
     defaults" that can be overridden in the following ways:  for
     the global screenrc file screen searches for the environment
     variable $SYSSCREENRC (this override feature may be disabled
     at   compile-time).  The  user  specific  screenrc  file  is
     searched in $SCREENRC, then  $HOME/.screenrc.   The  command
     line option -c takes precedence over the above user screenrc

     Commands in these files are used to set options, bind  func-
     tions  to  keys,  and to automatically establish one or more
     windows at the beginning of your screen  session.   Commands
     are  listed one per line, with empty lines being ignored.  A
     command's arguments are separated by tabs or spaces, and may
     be  surrounded  by single or double quotes.  A `#' turns the
     rest of the line into a comment, except in quotes.  Unintel-
     ligible  lines  are  warned about and ignored.  Commands may
     contain references to environment variables. The  syntax  is
     the  shell-like  "$VAR  " or "${VAR}". Note that this causes
     incompatibility with previous screen versions,  as  now  the
     '$'-character  has  to  be protected with '\' if no variable
     substitution shall be performed. A string  in  single-quotes
     is also protected from variable substitution.

     Two  configuration  files  are shipped as examples with your
     screen distribution: "etc/screenrc"  and  "etc/etcscreenrc".
     They  contain  a  number of useful examples for various com-

     Customization can also be done 'on-line'. To enter the  com-
     mand  mode  type  `C-a  :'. Note that commands starting with
     "def" change default values,  while  others  change  current

     The following commands are available:

     acladd usernames [crypted-pw]
     addacl usernames

     Enable  users to fully access this screen session. Usernames
     can be one user or a comma separated  list  of  users.  This
     command enables to attach to the screen session and performs
     the equivalent of `aclchg usernames +rwx  "#?"'.   executed.
     To  add a user with restricted access, use the `aclchg' com-
     mand below.  If an optional second parameter is supplied, it
     should be a crypted password for the named user(s). `Addacl'
     is a synonym to `acladd'.  Multi user mode only.

SunOS 5.11            Last change: Aug 2003                    11

User Commands                                           SCREEN(1)

     aclchg usernames permbits list
     chacl usernames permbits list

     Change permissions for a comma separated list of users. Per-
     mission  bits are represented as `r', `w' and `x'. Prefixing
     `+' grants the permission, `-' removes it. The third parame-
     ter  is  a  comma  separated list of commands and/or windows
     (specified either by number or title). The special list  `#'
     refers  to  all  windows,  `?' to all commands. if usernames
     consists of a single `*', all known users are  affected.   A
     command  can  be  executed when the user has the `x' bit for
     it.  The user can type input to a window when he has its `w'
     bit  set and no other user obtains a writelock for this win-
     dow.  Other bits are currently  ignored.   To  withdraw  the
     writelock  from  another  user in window 2: `aclchg username
     -w+w 2'.  To allow read-only access to the session:  `aclchg
     username  -w  "#"'.  As  soon  as  a user's name is known to
     screen he can attach to the session and  (per  default)  has
     full permissions for all command and windows. Execution per-
     mission for the acl commands, `at' and others should also be
     removed  or the user may be able to regain write permission.
     Rights of the special username nobody cannot be changed (see
     the "su" command).  `Chacl' is a synonym to `aclchg'.  Multi
     user mode only.

     acldel username

     Remove a user from screen's access  control  list.  If  cur-
     rently  attached,  all the user's displays are detached from
     the session. He cannot attach again.  Multi user mode  only.

     aclgrp username [groupname]

     Creates groups of users that share common access rights. The
     name of the group is the username of the group leader.  Each
     member  of  the  group  inherits  the  permissions  that are
     granted to the group leader. That means, if a user fails  an
     access check, another check is made for the group leader.  A
     user is removed from all groups the special value "none"  is
     used  for groupname.  If the second parameter is omitted all
     groups the user is in are listed.

     aclumask [[users]+bits |[users]-bits .... ]
     umask [[users]+bits |[users]-bits .... ]

     This specifies the access other users have to  windows  that
     will  be created by the caller of the command.  Users may be
     no, one or a comma separated list of known usernames. If  no
     users  are specified, a list of all currently known users is
     assumed.  Bits is any combination  of  access  control  bits
     allowed defined with the "aclchg" command. The special user-
     name "?" predefines the access that not yet known users will

SunOS 5.11            Last change: Aug 2003                    12

User Commands                                           SCREEN(1)

     be  granted  to  any window initially.  The special username
     "??" predefines the access that  not  yet  known  users  are
     granted  to  any  command.   Rights  of the special username
     nobody cannot be changed (see the "su" command).  `Umask' is
     a synonym to `aclumask'.

     activity message

     When  any  activity  occurs  in  a background window that is
     being monitored, screen displays a notification in the  mes-
     sage  line.   The  notification message can be re-defined by
     means of the "activity" command.  Each occurrence of `%'  in
     message  is  replaced  by  the number of the window in which
     activity has  occurred,  and  each  occurrence  of  `^G'  is
     replaced by the definition for bell in your termcap (usually
     an audible bell).  The default message is

                 'Activity in window %n'

     Note that monitoring is off for all windows by default,  but
     can be altered by use of the "monitor" command (C-a M).

     allpartial on|off

     If  set  to on, only the current cursor line is refreshed on
     window change.  This affects all windows and is  useful  for
     slow  terminal  lines.  The previous setting of full/partial
     refresh for each window is restored with  "allpartial  off".
     This  is  a global flag that immediately takes effect on all
     windows overriding  the  "partial"  settings.  It  does  not
     change the default redraw behavior of newly created windows.

     altscreen on|off

     If set to on, "alternate screen" support is enabled in  vir-
     tual  terminals,  just  like  in  xterm.  Initial setting is

     at [identifier][#|*|%] command [args ... ]

     Execute a command at other displays or windows as if it  had
     been  entered there.  "At" changes the context (the `current
     window' or `current display' setting) of the command. If the
     first  parameter describes a non-unique context, the command
     will be executed multiple times. If the first  parameter  is
     of the form `identifier*' then identifier is matched against
     user names.  The command is executed once for  each  display
     of  the  selected  user(s). If the first parameter is of the
     form `identifier%' identifier is matched  against  displays.
     Displays  are  named  after the ttys they attach. The prefix
     `/dev/' or `/dev/tty' may be omitted  from  the  identifier.
     If  identifier  has  a `#' or nothing appended it is matched

SunOS 5.11            Last change: Aug 2003                    13

User Commands                                           SCREEN(1)

     against window numbers and titles. Omitting an identifier in
     front  of  the  `#', `*' or `%'-character selects all users,
     displays or windows because  a  prefix-match  is  performed.
     Note  that  on  the affected display(s) a short message will
     describe what happened. Permission is checked for  initiator
     of the "at" command, not for the owners of the affected dis-
     play(s).  Note that the '#' character  works  as  a  comment
     introducer  when  it  is preceded by whitespace. This can be
     escaped by prefixing a '\'.  Permission is checked  for  the
     initiator  of  the  "at"  command, not for the owners of the
     affected display(s).
     Caveat: When matching against windows, the command  is  exe-
     cuted  at  least  once  per window. Commands that change the
     internal arrangement of windows (like "other") may be called
     again.  In  shared  windows the command will be repeated for
     each attached display. Beware, when issuing toggle  commands
     like "login"!  Some commands (e.g. "process") require that a
     display is associated with the target windows.   These  com-
     mands  may  not  work correctly under "at" looping over win-

     attrcolor attrib [attribute/color-modifier]

     This command can be used to highlight attributes by changing
     the  color  of  the text. If the attribute attrib is in use,
     the specified attribute/color modifier is also  applied.  If
     no  modifier  is  given, the current one is deleted. See the
     "STRING ESCAPES" chapter for the  syntax  of  the  modifier.
     Screen  understands  two  pseudo-attributes,  "i" stands for
     high-intensity foreground color and "I"  for  high-intensity
     background color.


          attrcolor b "R"

     Change  the  color  to  bright  red  if  bold  text is to be

          attrcolor u "-u b"

     Use blue text instead of underline.

          attrcolor b ".I"

     Use bright colors for bold text. Most terminal emulators  do
     this already.

          attrcolor i "+b"

     Make bright colored text also bold.

SunOS 5.11            Last change: Aug 2003                    14

User Commands                                           SCREEN(1)

     autodetach on|off

     Sets  whether  screen will automatically detach upon hangup,
     which saves all your running programs until they are resumed
     with  a screen -r command.  When turned off, a hangup signal
     will terminate screen and all  the  processes  it  contains.
     Autodetach is on by default.

     autonuke on|off

     Sets  whether  a  clear  screen sequence should nuke all the
     output that has not been written to the terminal.  See  also

     backtick id lifespan autorefresh cmd args...
     backtick id

     Program  the backtick command with the numerical id id.  The
     output of such a command is used  for  substitution  of  the
     "%`"  string escape. The specified lifespan is the number of
     seconds the output is considered valid. After this time, the
     command  is  run  again  if a corresponding string escape is
     encountered.  The autorefresh parameter  triggers  an  auto-
     matic  refresh  for caption and hardstatus strings after the
     specified number of seconds. Only the last line of output is
     used for substitution.
     If  both  the  lifespan  and  the autorefresh parameters are
     zero, the backtick program is expected to stay in the  back-
     ground  and  generate output once in a while.  In this case,
     the command is executed right away  and  screen  stores  the
     last  line of output. If a new line gets printed screen will
     automatically refresh the hardstatus or the captions.
     The second form of the command deletes the backtick  command
     with the numerical id id.

     bce [on|off]

     Change  background-color-erase  setting.  If "bce" is set to
     on, all characters cleared by  an  erase/insert/scroll/clear
     operation will be displayed in the current background color.
     Otherwise the default background color is used.

     bell_msg [message]

     When a bell character is sent to a background window, screen
     displays  a notification in the message line.  The notifica-
     tion message can be re-defined by this command.  Each occur-
     rence  of  `%'  in  message is replaced by the number of the
     window to which a bell has been sent, and each occurrence of
     `^G'  is replaced by the definition for bell in your termcap
     (usually an audible bell).  The default message is

SunOS 5.11            Last change: Aug 2003                    15

User Commands                                           SCREEN(1)

                 'Bell in window %n'

     An empty message can be supplied to the  "bell_msg"  command
     to suppress output of a message line (bell_msg "").  Without
     parameter, the current message is shown.

     bind [-c class] key [command [args]]

     Bind a command to a key.  By default, most of  the  commands
     provided  by  screen  are bound to one or more keys as indi-
     cated in the "DEFAULT KEY BINDINGS" section, e.g.  the  com-
     mand  to create a new window is bound to "C-c" and "c".  The
     "bind" command can be used to redefine the key bindings  and
     to define new bindings.  The key argument is either a single
     character, a two-character sequence of the form "^x"  (mean-
     ing  "C-x"), a backslash followed by an octal number (speci-
     fying the ASCII code of the character), or a backslash  fol-
     lowed  by  a  second  character,  such as "\^" or "\\".  The
     argument can also be quoted, if you  like.   If  no  further
     argument  is  given,  any previously established binding for
     this key is removed.  The command argument can be  any  com-
     mand listed in this section.

     If a command class is specified via the "-c" option, the key
     is bound for the specified class. Use the "command"  command
     to  activate  a class. Command classes can be used to create
     multiple command keys or multi-character bindings.

     Some examples:

                 bind ' ' windows
                 bind ^k
                 bind k
                 bind K kill
                 bind ^f screen telnet foobar
                 bind \033 screen -ln -t root -h 1000 9 su

     would bind the space key to the command that displays a list
     of windows (so that the command usually invoked by "C-a C-w"
     would also be available as  "C-a  space").  The  next  three
     lines remove the default kill binding from "C-a C-k" and "C-
     a k".  "C-a K" is then bound to the kill  command.  Then  it
     binds  "C-f"  to  the command "create a window with a TELNET
     connection to foobar", and bind "escape" to the command that
     creates  an  non-login window with a.k.a. "root" in slot #9,
     with a superuser shell  and  a  scrollback  buffer  of  1000

                 bind -c demo1 0 select 10
                 bind -c demo1 1 select 11
                 bind -c demo1 2 select 12
                 bindkey "^B" command -c demo1

SunOS 5.11            Last change: Aug 2003                    16

User Commands                                           SCREEN(1)

     makes "C-b 0" select window 10, "C-b 1" window 11, etc.

                 bind -c demo2 0 select 10
                 bind -c demo2 1 select 11
                 bind -c demo2 2 select 12
                 bind - command -c demo2

     makes  "C-a - 0" select window 10, "C-a - 1" window 11, etc.

     bindkey [-d] [-m] [-a] [[-k|-t] string [cmd args]]

     This command  manages  screen's  input  translation  tables.
     Every  entry  in one of the tables tells screen how to react
     if a certain sequence of characters  is  encountered.  There
     are three tables: one that should contain actions programmed
     by the user, one for the default actions used  for  terminal
     emulation  and one for screen's copy mode to do cursor move-
     ment. See section "INPUT TRANSLATION" for a list of  default
     key bindings.
     If  the -d option is given, bindkey modifies the default ta-
     ble, -m changes the copy mode table and with neither  option
     the  user  table  is  selected.   The argument string is the
     sequence of characters to which an action is bound. This can
     either  be  a  fixed string or a termcap keyboard capability
     name (selectable with the -k option).
     Some keys on a VT100 terminal can send a different string if
     application  mode  is turned on (e.g the cursor keys).  Such
     keys have two entries in  the  translation  table.  You  can
     select  the  application  mode  entry  by  specifying the -a
     The -t option tells screen not to do inter-character timing.
     One  cannot  turn  off the timing if a termcap capability is
     Cmd can be any of screen's commands with an arbitrary number
     of  args.  If cmd is omitted the key-binding is removed from
     the table.
     Here are some examples of keyboard bindings:

             bindkey -d
     Show all of the default key bindings. The  application  mode
     entries are marked with [A].

             bindkey -k k1 select 1
     Make the "F1" key switch to window one.

             bindkey -t foo stuff barfoo
     Make  "foo" an abbreviation of the word "barfoo". Timeout is
     disabled so that users can type slowly.

             bindkey "\024" mapdefault
     This key-binding makes "^T" an  escape  character  for  key-
     bindings.  If  you did the above "stuff barfoo" binding, you

SunOS 5.11            Last change: Aug 2003                    17

User Commands                                           SCREEN(1)

     can enter the word "foo" by typing "^Tfoo". If you  want  to
     insert  a  "^T" you have to press the key twice (i.e. escape
     the escape binding).

             bindkey -k F1 command
     Make the F11 (not F1!)  key  an  alternative  screen  escape
     (besides ^A).

     break [duration]

     Send  a  break signal for duration*0.25 seconds to this win-
     dow.  For non-Posix systems the time interval may be rounded
     up  to  full  seconds.  Most useful if a character device is
     attached to the window rather than a shell process (See also
     chapter  "WINDOW  TYPES").  The  maximum duration of a break
     signal is limited to 15 seconds.


     Activate the screen blanker. First the screen is cleared. If
     no  blanker  program  is  defined, the cursor is turned off,
     otherwise, the program is started and it's output is written
     to  the screen.  The screen blanker is killed with the first
     keypress, the read key is discarded.
     This command is normally used together with the "idle"  com-

     blankerprg [program args]

     Defines  a  blanker program. Disables the blanker program if
     no arguments are given.

     breaktype [tcsendbreak|TIOCSBRK |TCSBRK]

     Choose one of the available methods of  generating  a  break
     signal  for terminal devices. This command should affect the
     current window only.  But  it  still  behaves  identical  to
     "defbreaktype". This will be changed in the future.  Calling
     "breaktype" with no parameter displays the break method  for
     the current window.

     bufferfile [exchange-file]

     Change  the  filename  used for reading and writing with the
     paste buffer.  If the optional argument to the  "bufferfile"
     command  is  omitted,  the  default  setting  ("/tmp/screen-
     exchange") is reactivated.  The following example will paste
     the system's password file into the screen window (using the
     paste buffer, where a copy remains):

                 C-a : bufferfile /etc/passwd
                 C-a < C-a ]

SunOS 5.11            Last change: Aug 2003                    18

User Commands                                           SCREEN(1)

                 C-a : bufferfile

     c1 [on|off]

     Change c1 code processing. "C1 on" tells screen to treat the
     input  characters  between 128 and 159 as control functions.
     Such an 8-bit code is normally the same as ESC  followed  by
     the  corresponding  7-bit  code.  The  default setting is to
     process c1 codes and can be changed with  the  "defc1"  com-
     mand.   Users  with fonts that have usable characters in the
     c1 positions may want to turn this off.

     caption always|splitonly [string]
     caption string [string]

     This command controls the display of  the  window  captions.
     Normally  a  caption is only used if more than one window is
     shown on the display (split screen mode). But if the type is
     set to always screen shows a caption even if only one window
     is displayed. The default is splitonly.

     The second form changes the text used for the  caption.  You
     can  use  all  escapes  from  the  "STRING ESCAPES" chapter.
     Screen uses a default of `%3n %t'.

     You can mix both forms by providing a  string  as  an  addi-
     tional argument.

     charset set

     Change  the  current  character  set  slot  designation  and
     charset mapping.   The  first  four  character  of  set  are
     treated  as  charset  designators  while the fifth and sixth
     character must be in range '0' to  '3'  and  set  the  GL/GR
     charset  mapping.  On  every  position  a '.' may be used to
     indicate that the corresponding charset/mapping  should  not
     be  changed  (set  is padded to six characters internally by
     appending '.'  chars). New windows have "BBBB02" as  default
     charset, unless a "encoding" command is active.
     The current setting can be viewed with the "info" command.

     chdir [directory]

     Change  the  current  directory  of  screen to the specified
     directory or, if called without an argument,  to  your  home
     directory  (the  value  of  the environment variable $HOME).
     All windows that are created by means of the  "screen"  com-
     mand  from  within  ".screenrc" or by means of "C-a : screen
     ..." or "C-a c" use this as their default directory.   With-
     out  a chdir command, this would be the directory from which
     screen was invoked.  Hardcopy and log files are always writ-
     ten  to  the  window's  default  directory,  not the current

SunOS 5.11            Last change: Aug 2003                    19

User Commands                                           SCREEN(1)

     directory of the process running in the window.  You can use
     this command multiple times in your .screenrc to start vari-
     ous windows in different default directories, but  the  last
     chdir  value will affect all the windows you create interac-


     Clears the current window and saves its image to the scroll-
     back buffer.

     colon [prefix]

     Allows  you  to  enter ".screenrc" command lines. Useful for
     on-the-fly modification of  key  bindings,  specific  window
     creation  and changing settings. Note that the "set" keyword
     no longer exists! Usually commands affect the current window
     rather  than  default  settings  for  future windows. Change
     defaults with commands starting with 'def...'.

     If you consider this as the `Ex command mode' of screen, you
     may regard "C-a esc" (copy mode) as its `Vi command mode'.

     command [-c class]

     This command has the same effect as typing the screen escape
     character (^A). It is probably only useful for key bindings.
     If  the  "-c"  option is given, select the specified command
     class.  See also "bind" and "bindkey".

     compacthist [on|off]

     This tells screen whether to suppress trailing  blank  lines
     when scrolling up text into the history buffer.

     console [on|off]

     Grabs  or  un-grabs the machines console output to a window.
     Note: Only the owner of /dev/console can  grab  the  console
     output.   This command is only available if the machine sup-
     ports the ioctl TIOCCONS.


     Enter copy/scrollback mode. This allows  you  to  copy  text
     from  the  current  window  and  its  history into the paste
     buffer. In this mode  a  vi-like  `full  screen  editor'  is
     Movement keys:
       h,  j, k, l move the cursor line by line or column by col-
       0, ^ and $ move to the leftmost column, to  the  first  or

SunOS 5.11            Last change: Aug 2003                    20

User Commands                                           SCREEN(1)

         last non-whitespace character on the line.
       H,  M  and L move the cursor to the leftmost column of the
         top, center or bottom line of the window.
       + and - positions one line up and down.
       G moves to the specified absolute line  (default:  end  of
       | moves to the specified absolute column.
       w, b, e move the cursor word by word.
       B, E move the cursor WORD by WORD (as in vi).
       C-u  and  C-d  scroll the display up/down by the specified
         amount of lines while preserving  the  cursor  position.
         (Default: half screen-full).
       C-b and C-f scroll the display up/down a full screen.
       g moves to the beginning of the buffer.
       % jumps to the specified percentage of the buffer.

         Emacs  style  movement  keys  can  be  customized  by  a
         .screenrc  command.   (E.g.  markkeys  "h=^B:l=^F:$=^E")
         There is no simple method for a full emacs-style keymap,
         as this involves multi-character codes.

         The copy range is specified by setting  two  marks.  The
         text between these marks will be highlighted. Press
       space to set the first or second mark respectively.
       Y  and y used to mark one whole line or to mark from start
         of line.
       W marks exactly one word.
     Repeat count:
         Any of these commands can  be  prefixed  with  a  repeat
         count number by pressing digits
       0..9 which is taken as a repeat count.
         Example:  "C-a  C-[ H 10 j 5 Y" will copy lines 11 to 15
         into the paste buffer.
       / Vi-like search forward.
       ? Vi-like search backward.
       C-a s Emacs style incremental search forward.
       C-r Emacs style reverse i-search.
         There are however some keys that act differently than in
         vi.  Vi does not allow one to yank rectangular blocks of
         text, but screen does. Press
       c or C to set the left or right margin respectively. If no
         repeat  count is given, both default to the current cur-
         sor position.
         Example: Try this on a rather full text screen: "C-a [ M
         20 l SPACE c 10 l 5 j C SPACE".

         This  moves  one to the middle line of the screen, moves
         in 20 columns left, marks the  beginning  of  the  paste

SunOS 5.11            Last change: Aug 2003                    21

User Commands                                           SCREEN(1)

         buffer, sets the left column, moves 5 columns down, sets
         the right column, and then marks the end  of  the  paste
         buffer. Now try:
         "C-a [ M 20 l SPACE 10 l 5 j SPACE"

         and  notice the difference in the amount of text copied.
       J joins lines. It toggles between 4 modes: lines separated
         by  a  newline  character  (012),  lines glued seamless,
         lines separated by a single whitespace and  comma  sepa-
         rated lines. Note that you can prepend the newline char-
         acter with a carriage return  character,  by  issuing  a
         "crlf on".
       v is for all the vi users with ":set numbers" - it toggles
         the left margin between column 9 and 1. Press
       a before the final space key to  toggle  in  append  mode.
         Thus  the contents of the paste buffer will not be over-
         written, but is appended to.
       A toggles in append mode and sets a (second) mark.
       > sets the (second) mark and writes the  contents  of  the
         paste  buffer  to the screen-exchange file (/tmp/screen-
         exchange per default) once copy-mode is finished.
         This example demonstrates how to dump the whole  scroll-
         back buffer to that file: "C-A [ g SPACE G $ >".
       C-g gives information about the current line and column.
       x  exchanges  the  first mark and the current cursor posi-
         tion. You can use this to adjust an already placed mark.
       @ does nothing. Does not even exit copy mode.
       All keys not described here exit copy mode.

     copy_reg [key]

     No longer exists, use "readreg" instead.

     crlf [on|off]

     This  affects  the  copying of text regions with the `C-a ['
     command. If it is set to `on', lines will  be  separated  by
     the two character sequence `CR' - `LF'.  Otherwise (default)
     only `LF' is used.  When no parameter is given, the state is

     debug on|off

     Turns  runtime  debugging on or off. If screen has been com-
     piled with option -DDEBUG debugging available and is  turned
     on  per  default. Note that this command only affects debug-
     ging output from the main "SCREEN" process correctly.  Debug
     output  from  attacher processes can only be turned off once
     and forever.

SunOS 5.11            Last change: Aug 2003                    22

User Commands                                           SCREEN(1)

     defc1 on|off

     Same as the c1 command except that the default  setting  for
     new windows is changed. Initial setting is `on'.

     defautonuke on|off

     Same as the autonuke command except that the default setting
     for new displays is changed. Initial setting is `off'.  Note
     that you can use the special `AN' terminal capability if you
     want to have a dependency on the terminal type.

     defbce on|off

     Same as the bce command except that the default setting  for
     new windows is changed. Initial setting is `off'.

     defbreaktype [tcsendbreak|TIOCSBRK |TCSBRK]

     Choose  one  of  the available methods of generating a break
     signal for  terminal  devices.  The  preferred  methods  are
     tcsendbreak  and  TIOCSBRK.   The  third, TCSBRK, blocks the
     complete screen session for the duration of the  break,  but
     it may be the only way to generate long breaks.  Tcsendbreak
     and TIOCSBRK may or may not produce long breaks with  spikes
     (e.g. 4 per second). This is not only system dependant, this
     also differs between serial board  drivers.   Calling  "def-
     breaktype" with no parameter displays the current setting.

     defcharset [set]

     Like the charset command except that the default setting for
     new windows is changed.  Shows  current  default  if  called
     without argument.

     defescape xy

     Set  the  default  command characters. This is equivalent to
     the "escape" except that it  is  useful  multiuser  sessions
     only.  In  a  multiuser session "escape" changes the command
     character of the calling user, where "defescape" changes the
     default  command  characters  for  users  that will be added

     defflow on|off|auto [interrupt]

     Same as the flow command except that the default setting for
     new windows is changed. Initial setting is `auto'.  Specify-
     ing "defflow auto interrupt" is the same as the command-line
     options -fa and -i.

SunOS 5.11            Last change: Aug 2003                    23

User Commands                                           SCREEN(1)

     defgr on|off

     Same  as  the gr command except that the default setting for
     new windows is changed. Initial setting is `off'.

     defhstatus [status]

     The hardstatus line that all new windows will get is set  to
     status.   This  command  is useful to make the hardstatus of
     every window display the window number or title or the like.
     Status may contain the same directives as in the window mes-
     sages, but the directive escape  character  is  '^E'  (octal
     005) instead of '%'.  This was done to make a misinterpreta-
     tion of program generated hardstatus lines  impossible.   If
     the  parameter status is omitted, the current default string
     is displayed.  Per default the hardstatus line of  new  win-
     dows is empty.

     defencoding enc

     Same as the encoding command except that the default setting
     for new windows is changed. Initial setting is the  encoding
     taken from the terminal.

     deflog on|off

     Same  as the log command except that the default setting for
     new windows is changed. Initial setting is `off'.

     deflogin on|off

     Same as the login command except that  the  default  setting
     for new windows is changed. This is initialized with `on' as
     distributed (see

     defmode mode

     The mode of each newly allocated pseudo-tty is set to  mode.
     Mode  is  an  octal  number.   When  no "defmode" command is
     given, mode 0622 is used.

     defmonitor on|off

     Same as the monitor command except that the default  setting
     for new windows is changed. Initial setting is `off'.

     defnonblock on|off|numsecs

     Same as the nonblock command except that the default setting
     for displays is changed. Initial setting is `off'.

SunOS 5.11            Last change: Aug 2003                    24

User Commands                                           SCREEN(1)

     defobuflimit limit

     Same as the obuflimit command except that the  default  set-
     ting  for  new  displays  is changed. Initial setting is 256
     bytes.  Note that you can  use  the  special  'OL'  terminal
     capability  if you want to have a dependency on the terminal

     defscrollback num

     Same as the scrollback command except that the default  set-
     ting for new windows is changed. Initial setting is 100.

     defshell command

     Synonym to the shell command. See there.

     defsilence on|off

     Same  as the silence command except that the default setting
     for new windows is changed. Initial setting is `off'.

     defslowpaste msec

     Same as the slowpaste command except that the  default  set-
     ting  for  new windows is changed. Initial setting is 0 mil-
     liseconds, meaning `off'.

     defutf8 on|off

     Same as the utf8 command except that the default setting for
     new  windows  is  changed. Initial setting is `on' if screen
     was started with "-U", otherwise `off'.

     defwrap on|off

     Same as the wrap command except that the default setting for
     new windows is changed. Initially line-wrap is on and can be
     toggled with the "wrap" command ("C-a r") or by means of "C-
     a : wrap on|off".

     defwritelock on|off|auto

     Same  as  the writelock command except that the default set-
     ting for new windows is changed. Initially  writelocks  will

     defzombie [keys]

     Synonym  to  the  zombie  command. Both currently change the
     default.  See there.

SunOS 5.11            Last change: Aug 2003                    25

User Commands                                           SCREEN(1)

     detach [-h]

     Detach the screen session (disconnect it from  the  terminal
     and  put  it  into the background).  This returns you to the
     shell where you invoked screen.  A detached  screen  can  be
     resumed by invoking screen with the -r option (see also sec-
     tion "COMMAND-LINE OPTIONS"). The -h option tells screen  to
     immediately close the connection to the terminal ("hangup").


     Show what screen thinks about your terminal. Useful  if  you
     want  to  know  why  features  like  color  or the alternate
     charset don't work.


     Shows a tabular listing  of  all  currently  connected  user
     front-ends  (displays).   This  is most useful for multiuser

     digraph [preset]

     This command prompts the user for a  digraph  sequence.  The
     next  two  characters typed are looked up in a builtin table
     and the resulting character is inserted in the input stream.
     For  example,  if  the user enters 'a"', an a-umlaut will be
     inserted. If the first character  entered  is  a  0  (zero),
     screen  will treat the following characters (up to three) as
     an octal number instead.  The optional  argument  preset  is
     treated  as user input, thus one can create an "umlaut" key.
     For example the command "bindkey ^K digraph '"'" enables the
     user to generate an a-umlaut by typing CTRL-K a.


     Write  the  termcap entry for the virtual terminal optimized
     for the currently active window to the  file  ".termcap"  in
     the  user's  "$HOME/.screen"  directory  (or wherever screen
     stores its sockets. See the "FILES"  section  below).   This
     termcap  entry  is identical to the value of the environment
     variable $TERMCAP that is set up by screen for each  window.
     For  terminfo based systems you will need to run a converter
     like captoinfo and then compile the entry with tic.

     echo [-n] message

     The echo command may be used to annoy screen  users  with  a
     'message  of  the  day'.  Typically  installed  in  a global
     /local/etc/screenrc.  The option "-n" may be  used  to  sup-
     press the line feed.  See also "sleep".  Echo is also useful
     for online checking of environment variables.

SunOS 5.11            Last change: Aug 2003                    26

User Commands                                           SCREEN(1)

     encoding enc [enc]

     Tell screen how to interpret  the  input/output.  The  first
     argument  sets the encoding of the current window. Each win-
     dow can emulate a different encoding.  The  optional  second
     parameter overwrites the encoding of the connected terminal.
     It should never be needed as screen uses the locale  setting
     to  detect  the  encoding.   There is also a way to select a
     terminal encoding depending on the terminal  type  by  using
     the "KJ" termcap entry.

     Supported  encodings  are  eucJP,  SJIS, eucKR, eucCN, Big5,
     GBK, KOI8-R, CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4,
     ISO8859-5,   ISO8859-6,   ISO8859-7,  ISO8859-8,  ISO8859-9,
     ISO8859-10, ISO8859-15, jis.

     See also "defencoding", which changes the default setting of
     a new window.

     escape xy

     Set  the command character to x and the character generating
     a literal command character (by triggering the  "meta"  com-
     mand)  to  y  (similar  to the -e option).  Each argument is
     either a single character, a two-character sequence  of  the
     form  "^x" (meaning "C-x"), a backslash followed by an octal
     number (specifying the ASCII code of the  character),  or  a
     backslash  followed  by  a second character, such as "\^" or
     "\\".  The default is "^Aa".

     eval command1 [command2 ...]

     Parses and executes each argument as separate command.

     exec [[fdpat] newcommand [args ...]]

     Run a unix subprocess (specified by an executable path  new-
     command  and  its optional arguments) in the current window.
     The flow of data  between  newcommands  stdin/stdout/stderr,
     the process originally started in the window (let us call it
     "application-process") and screen itself  (window)  is  con-
     trolled  by  the filedescriptor pattern fdpat.  This pattern
     is basically a three character sequence representing  stdin,
     stdout and stderr of newcommand. A dot (.) connects the file
     descriptor to screen.  An exclamation mark  (!)  causes  the
     file  descriptor to be connected to the application-process.
     A colon (:) combines both.  User input will go to newcommand
     unless  newcommand  receives the application-process' output
     (fdpats first character is `!' or `:') or a pipe symbol  (|)
     is added (as a fourth character) to the end of fdpat.
     Invoking  `exec'  without arguments shows name and arguments
     of the currently running subprocess in this window. Only one

SunOS 5.11            Last change: Aug 2003                    27

User Commands                                           SCREEN(1)

     subprocess a time can be running in each window.
     When  a subprocess is running the `kill' command will affect
     it instead of the windows process.
     Refer to the postscript file `doc/' for a  confusing
     illustration  of  all 21 possible combinations. Each drawing
     shows the digits 2,1,0 representing the three file  descrip-
     tors of newcommand. The box marked `W' is the usual pty that
     has the application-process on  its  slave  side.   The  box
     marked  `P'  is the secondary pty that now has screen at its
     master side.

     Whitespace between the word `exec' and fdpat and the command
     can be omitted. Trailing dots and a fdpat consisting only of
     dots can be omitted. A simple `|' is synonymous for the pat-
     tern  `!..|';  the  word  exec  can  be omitted here and can
     always be replaced by `!'.


          exec ... /bin/sh
          exec /bin/sh

     Creates another shell in the same window, while the original
     shell  is  still running. Output of both shells is displayed
     and user input is sent to the new /bin/sh.

          exec !.. stty 19200
          exec ! stty 19200
          !!stty 19200

     Set the speed of the window's  tty.  If  your  stty  command
     operates on stdout, then add another `!'.

          exec !..| less

     This  adds a pager to the window output. The special charac-
     ter `|' is needed to give the user control  over  the  pager
     although  it  gets its input from the window's process. This
     works, because less  listens  on  stderr  (a  behavior  that
     screen  would  not expect without the `|') when its stdin is
     not a tty.  Less versions  newer  than  177  fail  miserably
     here; good old pg still works.

          !:sed -n s/.*Error.*/\007/p

     Sends  window  output to both, the user and the sed command.
     The sed inserts an additional bell character (oct.  007)  to
     the  window output seen by screen.  This will cause "Bell in
     window x" messages, whenever the string "Error"  appears  in

SunOS 5.11            Last change: Aug 2003                    28

User Commands                                           SCREEN(1)

     the window.


     Change  the  window  size to the size of the current region.
     This command is needed because screen doesn't adapt the win-
     dow  size automatically if the window is displayed more than

     flow [on|off|auto]

     Sets the flow-control mode for this window.  Without parame-
     ters  it  cycles  the  current window's flow-control setting
     from "automatic" to "on" to "off".  See  the  discussion  on
     "FLOW-CONTROL"  later  on  in this document for full details
     and note, that this is subject to change in future releases.
     Default is set by `defflow'.

     focus [up|down|

     Move  the  input focus to the next region. This is done in a
     cyclic way so that the top region is selected after the bot-
     tom  one.  If  no subcommand is given it defaults to `down'.
     `up' cycles in the opposite order, `top' and `bottom' go  to
     the  top and bottom region respectively. Useful bindings are
     (j and k as in vi)
         bind j focus down
         bind k focus up
         bind t focus top
         bind b focus bottom

     gr [on|off]

     Turn GR charset switching on/off. Whenever  screen  sees  an
     input  character  with  the  8th  bit  set,  it will use the
     charset stored in the GR slot and print the  character  with
     the  8th bit stripped. The default (see also "defgr") is not
     to process  GR  switching  because  otherwise  the  ISO88591
     charset would not work.

     hardcopy [-h] [file]

     Writes  out  the currently displayed image to the file file,
     or, if no  filename  is  specified,  to  hardcopy.n  in  the
     default directory, where n is the number of the current win-
     dow.  This either appends  or  overwrites  the  file  if  it
     exists. See below.  If the option -h is specified, dump also
     the contents of the scrollback buffer.

     hardcopy_append on|off

SunOS 5.11            Last change: Aug 2003                    29

User Commands                                           SCREEN(1)

     If set to "on", screen will append to the "hardcopy.n" files
     created  by  the  command "C-a h", otherwise these files are
     overwritten each time.  Default is `off'.

     hardcopydir directory

     Defines a directory where hardcopy files will be placed.  If
     unset,  hardcopys  are  dumped  in  screen's current working

     hardstatus [on|off]
     hardstatus [always]lastline|message|ignore [string]
     hardstatus string [string]

     This command configures the use and emulation of the  termi-
     nal's hardstatus line. The first form toggles whether screen
     will use the hardware status line to  display  messages.  If
     the  flag  is  set  to `off', these messages are overlaid in
     reverse video mode at the display line. The default  setting
     is `on'.

     The  second  form  tells  screen  what to do if the terminal
     doesn't have a hardstatus line  (i.e.  the  termcap/terminfo
     capabilities  "hs", "ts", "fs" and "ds" are not set). If the
     type "lastline" is used, screen will reserve the  last  line
     of  the  display for the hardstatus. "message" uses screen's
     message mechanism and "ignore" tells screen never to display
     the  hardstatus.   If  you  prepend the word "always" to the
     type (e.g., "alwayslastline"), screen will use the type even
     if the terminal supports a hardstatus.

     The  third  form  specifies  the  contents of the hardstatus
     line.  '%h' is used as default string, i.e. the stored hard-
     status    of    the    current    window    (settable    via
     "ESC]0;<string>^G" or "ESC_<string>ESC\") is displayed.  You
     can  customize  this  to  any  string you like including the
     escapes from the "STRING ESCAPES" chapter. If you leave  out
     the argument string, the current string is displayed.

     You  can  mix  the  second  and  third form by providing the
     string as additional argument.

     height [-w|-d] [lines [cols]]

     Set the display height to a specified number of lines.  When
     no argument is given it toggles between 24 and 42 lines dis-
     play. You can also specify a width if  you  want  to  change
     both  values.   The -w option tells screen to leave the dis-
     play size unchanged and just set the window  size,  -d  vice

SunOS 5.11            Last change: Aug 2003                    30

User Commands                                           SCREEN(1)

     help [-c class]

     Not really a online help, but displays a help screen showing
     you all the key bindings.  The  first  pages  list  all  the
     internal  commands followed by their current bindings.  Sub-
     sequent pages will display the custom commands, one  command
     per key.  Press space when you're done reading each page, or
     return to exit early.  All other characters are ignored.  If
     the "-c" option is given, display all bound commands for the
     specified command class.  See also  "DEFAULT  KEY  BINDINGS"


     Usually  users  work with a shell that allows easy access to
     previous commands.  For example csh has the command "!!"  to
     repeat the last command executed.  Screen allows you to have
     a primitive way of  re-calling  "the  command  that  started
     ...":  You  just type the first letter of that command, then
     hit `C-a {' and screen tries to find a  previous  line  that
     matches  with the `prompt character' to the left of the cur-
     sor. This line is pasted into  this  window's  input  queue.
     Thus  you have a crude command history (made up by the visi-
     ble window and its scrollback buffer).

     hstatus status

     Change the window's hardstatus line to the string status.

     idle [timeout [cmd args]]

     Sets a command that is run after  the  specified  number  of
     seconds inactivity is reached. This command will normally be
     the "blanker" command to create a screen blanker, but it can
     be any screen command.  If no command is specified, only the
     timeout is set. A timeout of zero (ot  the  special  timeout
     off)  disables  the  timer.   If no arguments are given, the
     current settings are displayed.

     ignorecase [on|off]

     Tell screen to ignore the case of  characters  in  searches.
     Default is `off'.


     Uses  the message line to display some information about the
     current window: the  cursor  position  in  the  form  "(col-
     umn,row)"  starting  with  "(1,1)",  the  terminal width and
     height plus the size of the scrollback buffer in lines, like
     in  "(80,24)+50",  the current state of window XON/XOFF flow
     control is shown like this (See also section FLOW CONTROL):

SunOS 5.11            Last change: Aug 2003                    31

User Commands                                           SCREEN(1)

       +flow     automatic flow control, currently on.
       -flow     automatic flow control, currently off.
       +(+)flow  flow control enabled. Agrees with automatic control.
       -(+)flow  flow control disabled. Disagrees with automatic control.
       +(-)flow  flow control enabled. Disagrees with automatic control.
       -(-)flow  flow control disabled. Agrees with automatic control.

     The current line wrap setting  (`+wrap'  indicates  enabled,
     `-wrap'  not)  is also shown. The flags `ins', `org', `app',
     `log', `mon' or `nored' are displayed when the window is  in
     insert  mode, origin mode, application-keypad mode, has out-
     put logging, activity monitoring or partial redraw  enabled.

     The  currently  active character set (G0, G1, G2, or G3) and
     in square brackets the terminal character sets that are cur-
     rently  designated  as G0 through G3 is shown. If the window
     is in UTF-8 mode, the string "UTF-8" is shown instead.

     Additional modes depending on the type  of  the  window  are
     displayed  at  the  end of the status line (See also chapter
     If the state machine of the terminal emulator is in  a  non-
     default  state, the info line is started with a string iden-
     tifying the current state.
     For system information use the "time" command.

     ins_reg [key]

     No longer exists, use "paste" instead.


     Kill current window.
     If there is an `exec' command running  then  it  is  killed.
     Otherwise the process (shell) running in the window receives
     a HANGUP condition, the  window  structure  is  removed  and
     screen  (your display) switches to another window.  When the
     last window is destroyed, screen exits.  After a kill screen
     switches to the previously displayed window.
     Note:  Emacs  users  should  keep this command in mind, when
     killing a line.  It is recommended not to use "C-a"  as  the
     screen escape key or to rebind kill to "C-a K".


     Redisplay  the  last  contents  of  the message/status line.
     Useful if you're typing when a message appears, because  the
     message goes away when you press a key (unless your terminal
     has a hardware status line).  Refer to  the  commands  "msg-
     wait" and "msgminwait" for fine tuning.

SunOS 5.11            Last change: Aug 2003                    32

User Commands                                           SCREEN(1)


     Display the disclaimer page. This is done whenever screen is
     started without options, which should be often  enough.  See
     also the "startup_message" command.


     Lock    this    display.     Call   a   screenlock   program
     (/local/bin/lck or /usr/bin/lock or a builtin if no other is
     available).  Screen  does  not accept any command keys until
     this program terminates. Meanwhile processes in the  windows
     may  continue,  as  the windows are in the `detached' state.
     The screenlock program may be changed through  the  environ-
     ment  variable $LOCKPRG (which must be set in the shell from
     which screen is started) and is executed with the user's uid
     and gid.
     Warning:  When  you leave other shells unlocked and you have
     no password set on screen, the lock is void: One could  eas-
     ily  re-attach  from  an unlocked shell. This feature should
     rather be called `lockterminal'.

     log [on|off]

     Start/stop writing output of the current window  to  a  file
     "screenlog.n"  in the window's default directory, where n is
     the number of the  current  window.  This  filename  can  be
     changed  with  the  `logfile'  command.  If  no parameter is
     given, the state of logging is toggled. The session  log  is
     appended  to the previous contents of the file if it already
     exists. The current contents and the contents of the scroll-
     back  history  are not included in the session log.  Default
     is `off'.

     logfile filename
     logfile flush secs

     Defines the name the  logfiles  will  get.  The  default  is
     "screenlog.%n".  The  second form changes the number of sec-
     onds screen will wait before flushing the logfile buffer  to
     the file-system. The default value is 10 seconds.

     login [on|off]

     Adds  or removes the entry in the utmp database file for the
     current window.  This controls if the window is `logged in'.
     When no parameter is given, the login state of the window is
     toggled.  Additionally to that toggle, it is convenient hav-
     ing  a  `log in' and a `log out' key. E.g. `bind I login on'
     and `bind O login off' will map these keys to be C-a  I  and
     C-a  O.  The default setting (in should be "on"
     for a screen that runs under suid-root.  Use the  "deflogin"

SunOS 5.11            Last change: Aug 2003                    33

User Commands                                           SCREEN(1)

     command  to  change the default login state for new windows.
     Both commands are only present when screen has been compiled
     with utmp support.

     logtstamp [on|off]
     logtstamp after [secs]
     logtstamp string [string]

     This   command  controls  logfile  time-stamp  mechanism  of
     screen.  If time-stamps  are  turned  "on",  screen  adds  a
     string  containing the current time to the logfile after two
     minutes of inactivity.  When output continues and more  than
     another  two  minutes  have  passed,  a second time-stamp is
     added to document the restart of the output. You can  change
     this  timeout with the second form of the command. The third
     form is used for  customizing  the  time-stamp  string  (`--
     %n:%t -- time-stamp -- %M/%d/%y %c:%s --\n' by default).


     Tell  screen  that  the  next input character should only be
     looked up in the default bindkey table. See also  "bindkey".


     Like  mapdefault, but don't even look in the default bindkey

     maptimeout [timo]

     Set the inter-character timer for input  sequence  detection
     to  a timeout of timo ms. The default timeout is 300ms. Map-
     timeout with no arguments shows the  current  setting.   See
     also "bindkey".

     markkeys string

     This  is  a method of changing the keymap used for copy/his-
     tory mode.  The string is made up of  oldchar=newchar  pairs
     which  are separated by `:'. Example: The string "B=^B:F=^F"
     will change the keys `C-b' and `C-f' to the vi style binding
     (scroll  up/down fill page).  This happens to be the default
     binding  for   `B'   and   `F'.    The   command   "markkeys
     h=^B:l=^F:$=^E"  would set the mode for an emacs-style bind-
     ing.  If your terminal sends characters, that cause  you  to
     abort copy mode, then this command may help by binding these
     characters to do nothing.  The no-op character is `@' and is
     used  like  this: "markkeys @=L=H" if you do not want to use
     the `H' or `L' commands any longer.  As shown in this  exam-
     ple, multiple keys can be assigned to one function in a sin-
     gle statement.

SunOS 5.11            Last change: Aug 2003                    34

User Commands                                           SCREEN(1)

     maxwin num

     Set the maximum window number screen  will  create.  Doesn't
     affect  already  existing  windows.  The  number may only be


     Insert the command character (C-a) in the  current  window's
     input stream.

     monitor [on|off]

     Toggles  activity monitoring of windows.  When monitoring is
     turned on and an affected window is switched into the  back-
     ground,  you  will receive the activity notification message
     in the status line at the first sign of output and the  win-
     dow  will  also  be  marked with an `@' in the window-status
     display.  Monitoring is initially off for all windows.

     msgminwait sec

     Defines the time screen delays a new message when  one  mes-
     sage is currently displayed.  The default is 1 second.

     msgwait sec

     Defines  the  time  a  message is displayed if screen is not
     disturbed by other activity. The default is 5 seconds.

     multiuser on|off

     Switch  between  singleuser  and  multiuser  mode.  Standard
     screen  operation  is singleuser. In multiuser mode the com-
     mands `acladd', `aclchg', `aclgrp' and `acldel' can be  used
     to  enable  (and  disable) other users accessing this screen

     nethack on|off

     Changes the kind of error messages used by screen.  When you
     are  familiar  with  the  game  "nethack", you may enjoy the
     nethack-style messages which will often  blur  the  facts  a
     little,  but are much funnier to read. Anyway, standard mes-
     sages often tend to be unclear as well.
     This option is only available if screen  was  compiled  with
     the NETHACK flag defined. The default setting is then deter-
     mined by the presence of the environment variable  $NETHACK-

SunOS 5.11            Last change: Aug 2003                    35

User Commands                                           SCREEN(1)


     Switch to the next window.  This command can be used repeat-
     edly to cycle through the list of windows.

     nonblock [on|off|numsecs

     Tell screen how to deal with user interfaces (displays) that
     cease to accept output. This can happen if a user presses ^S
     or  a  TCP/modem  connection  gets  cut  but  no  hangup  is
     received.  If  nonblock  is off (this is the default) screen
     waits until the display restarts to accept  the  output.  If
     nonblock  is  on,  screen waits until the timeout is reached
     (on is treated as 1s). If the display still doesn't  receive
     characters, screen will consider it "blocked" and stop send-
     ing characters to it. If at some time it restarts to  accept
     characters,  screen  will  unblock the display and redisplay
     the updated window contents.

     number [n]

     Change the current windows number. If the given number n  is
     already  used by another window, both windows exchange their
     numbers. If no argument is  specified,  the  current  window
     number (and title) is shown.

     obuflimit [limit]

     If  the output buffer contains more bytes than the specified
     limit, no more data will  be  read  from  the  windows.  The
     default  value  is  256.  If  you  have a fast display (like
     xterm), you can set it to some higher value. If no  argument
     is specified, the current setting is displayed.


     Kill all regions but the current one.


     Switch  to  the  window displayed previously. If this window
     does no longer exist, other has the same effect as next.

     partial on|off

     Defines whether the display should  be  refreshed  (as  with
     redisplay)  after switching to the current window. This com-
     mand only affects the current window.  To immediately affect
     all  windows  use the allpartial command.  Default is `off',
     of course.  This default is fixed, as there is currently  no
     defpartial command.

SunOS 5.11            Last change: Aug 2003                    36

User Commands                                           SCREEN(1)

     password [crypted_pw]

     Present  a  crypted  password  in  your ".screenrc" file and
     screen will ask for it, whenever someone attempts to  resume
     a  detached.  This is useful if you have privileged programs
     running under screen and you want to  protect  your  session
     from  reattach attempts by another user masquerading as your
     uid (i.e. any superuser.)  If no crypted password is  speci-
     fied,  screen prompts twice for typing a password and places
     its encryption in the paste buffer.  Default is `none', this
     disables password checking.

     paste [registers [dest_reg]]

     Write the (concatenated) contents of the specified registers
     to the stdin queue of the current window. The  register  '.'
     is treated as the paste buffer. If no parameter is given the
     user is prompted for a single register to paste.  The  paste
     buffer can be filled with the copy, history and readbuf com-
     mands.  Other registers can be  filled  with  the  register,
     readreg  and paste commands.  If paste is called with a sec-
     ond argument, the contents of  the  specified  registers  is
     pasted  into  the named destination register rather than the
     window. If '.' is used as the second argument, the  displays
     paste  buffer is the destination.  Note, that "paste" uses a
     wide variety of resources: Whenever  a  second  argument  is
     specified no current window is needed. When the source spec-
     ification only contains registers  (not  the  paste  buffer)
     then   there   need  not  be  a  current  display  (terminal
     attached), as the registers are a global resource. The paste
     buffer exists once for every user.

     pastefont [on|off]

     Tell screen to include font information in the paste buffer.
     The default is not to do so. This command is especially use-
     ful for multi character fonts like kanji.


     Reopen  the  window's  terminal line and send a break condi-
     tion. See `break'.


     Power detach.  Mainly the same as detach, but also  sends  a
     HANGUP  signal  to  the  parent process of screen.  CAUTION:
     This will result in a logout, when screen was  started  from
     your login shell.

SunOS 5.11            Last change: Aug 2003                    37

User Commands                                           SCREEN(1)

     pow_detach_msg [message]

     The  message  specified  here  is  output  whenever a `Power
     detach' was performed. It may be used as a replacement for a
     logout  message or to reset baud rate, etc.  Without parame-
     ter, the current message is shown.


     Switch to the window with the next lower number.  This  com-
     mand  can  be  used  repeatedly to cycle through the list of

     printcmd [cmd]

     If cmd is not an empty string, screen will not use the  ter-
     minal  capabilities  "po/pf"  if  it  detects  an ansi print
     sequence ESC [ 5 i, but pipe  the  output  into  cmd.   This
     should normally be a command like "lpr" or "'cat > /tmp/scr-
     print'".  printcmd without a command  displays  the  current
     setting.   The  ansi sequence ESC \ ends printing and closes
     the pipe.
     Warning: Be careful with this command! If  other  user  have
     write access to your terminal, they will be able to fire off
     print commands.

     process [key]

     Stuff the contents of the specified register  into  screen's
     input  queue. If no argument is given you are prompted for a
     register name. The text is parsed as if it had been typed in
     from  the  user's keyboard. This command can be used to bind
     multiple actions to a single key.


     Kill  all  windows  and  terminate  screen.   Note  that  on
     VT100-style  terminals  the  keys C-4 and C-\ are identical.
     This makes the default bindings dangerous: Be careful not to
     type  C-a  C-4  when  selecting window no. 4.  Use the empty
     bind command (as in "bind '^\'") to remove a key binding.

     readbuf [-e encoding] [filename]

     Reads the contents of the  specified  file  into  the  paste
     buffer.   You  can  tell screen the encoding of the file via
     the -e option.  If no file is specified, the screen-exchange
     filename is used.  See also "bufferfile" command.

     readreg [-e encoding] [register [filename]]

SunOS 5.11            Last change: Aug 2003                    38

User Commands                                           SCREEN(1)

     Does  one  of  two things, dependent on number of arguments:
     with zero or one arguments it it duplicates the paste buffer
     contents  into  the  register  specified  or  entered at the
     prompt. With two arguments it  reads  the  contents  of  the
     named  file  into  the  register,  just as readbuf reads the
     screen-exchange file into the paste buffer.   You  can  tell
     screen the encoding of the file via the -e option.  The fol-
     lowing example will paste the system's  password  file  into
     the screen window (using register p, where a copy remains):

                 C-a : readreg p /etc/passwd
                 C-a : paste p


     Redisplay the current window. Needed to get a full redisplay
     when in partial redraw mode.

     register [-e encoding] key string

     Save the specified string to the register key.  The encoding
     of  the string can be specified via the -e option.  See also
     the "paste" command.


     Kill the current region. This is a no-op if  there  is  only
     one region.


     Unlinks  the  screen-exchange  file  used  by  the  commands
     "writebuf" and "readbuf".


     Reset the virtual terminal to its "power-on" values.  Useful
     when strange settings (like scroll regions or graphics char-
     acter set) are left over from an application.


     Resize the current region. The space will be removed from or
     added  to  the  region  below or if there's not enough space
     from the region above.

          resize +N   increase current region height by N

          resize -N   decrease current region height by N

          resize  N   set current region height to N

SunOS 5.11            Last change: Aug 2003                    39

User Commands                                           SCREEN(1)

          resize  =   make all windows equally high

          resize  max maximize current region height

          resize  min minimize current region height

     screen [-opts] [n] [cmd [args]]

     Establish a new window.  The flow-control options  (-f,  -fn
     and  -fa), title (a.k.a.) option (-t), login options (-l and
     -ln) , terminal type option (-T <term>), the all-capability-
     flag  (-a) and scrollback option (-h <num>) may be specified
     with each command.  The option (-M) turns monitoring on  for
     this  window.   The  option (-L) turns output logging on for
     this window.  If an optional number n in the range  0..9  is
     given,  the window number n is assigned to the newly created
     window (or, if this  number  is  already  in-use,  the  next
     available   number).    If  a  command  is  specified  after
     "screen", this command (with the given arguments) is started
     in the window; otherwise, a shell is created.  Thus, if your
     ".screenrc" contains the lines

                 # example for .screenrc:
                 screen 1
                 screen -fn -t foobar -L 2 telnet foobar

     screen creates a shell window (in window #1)  and  a  window
     with  a  TELNET  connection  to  the machine foobar (with no
     flow-control using the title "foobar" in window #2) and will
     write  a  logfile  ("screenlog.2")  of  the  telnet session.
     Note, that unlike previous versions of screen no  additional
     default   window  is  created  when  "screen"  commands  are
     included in your ".screenrc" file. When  the  initialization
     is  completed,  screen switches to the last window specified
     in your .screenrc file or, if none, opens a  default  window
     Screen has built in some functionality of "cu" and "telnet".
     See also chapter "WINDOW TYPES".

     scrollback num

     Set the size of the scrollback buffer for the  current  win-
     dows to num lines. The default scrollback is 100 lines.  See
     also the "defscrollback" command and use "C-a i" to view the
     current setting.

     select [WindowID]

     Switch  to the window identified by WindowID.  This can be a
     prefix of a window title (alphanumeric  window  name)  or  a
     window  number.   The  parameter is optional and if omitted,
     you get prompted for an identifier.  When a  new  window  is

SunOS 5.11            Last change: Aug 2003                    40

User Commands                                           SCREEN(1)

     established,  the first available number is assigned to this
     window.  Thus, the first window can be activated by  "select
     0".  The number of windows is limited at compile-time by the
     MAXWIN configuration parameter.  There are two special  Win-
     dowIDs,  "-"  selects  the  internal  blank  window  and "."
     selects the current window. The latter  is  useful  if  used
     with screen's "-X" option.

     sessionname [name]

     Rename  the  current  session. Note, that for "screen -list"
     the name shows up with  the  process-id  prepended.  If  the
     argument "name" is omitted, the name of this session is dis-
     played.  Caution:  The  $STY  environment  variables   still
     reflects  the  old  name. This may result in confusion.  The
     default is constructed from the tty and host names.

     setenv [var [string]]

     Set the environment variable var to value string.   If  only
     var  is  specified,  the  user  will  be prompted to enter a
     value.  If no parameters are specified,  the  user  will  be
     prompted  for  both  variable  and value. The environment is
     inherited by all subsequently forked shells.

     setsid [on|off]

     Normally screen uses different sessions and  process  groups
     for  the  windows. If setsid is turned off, this is not done
     anymore and all windows will be in the same process group as
     the screen backend process. This also breaks job-control, so
     be careful.  The default is on, of course. This  command  is
     probably useful only in rare circumstances.

     shell command

     Set  the  command  to  be  used to create a new shell.  This
     overrides the value  of  the  environment  variable  $SHELL.
     This  is useful if you'd like to run a tty-enhancer which is
     expecting to execute the program specified in $SHELL. If the
     command  begins  with  a  '-'  character,  the shell will be
     started as a login-shell.

     shelltitle title

     Set the title for all shells created during  startup  or  by
     the C-A C-c command.  For details about what a title is, see
     the discussion entitled "TITLES (naming windows)".

     silence [on|off|sec]

SunOS 5.11            Last change: Aug 2003                    41

User Commands                                           SCREEN(1)

     Toggles silence monitoring  of  windows.   When  silence  is
     turned  on and an affected window is switched into the back-
     ground, you will receive the silence notification message in
     the  status  line  after  a  specified  period of inactivity
     (silence). The default  timeout  can  be  changed  with  the
     `silencewait'  command  or by specifying a number of seconds
     instead of `on' or `off'.  Silence is initially off for  all

     silencewait sec

     Define  the  time  that  all  windows  monitored for silence
     should wait before displaying a message. Default 30 seconds.

     sleep num

     This  command  will  pause the execution of a .screenrc file
     for num seconds.  Keyboard activity will end the sleep.   It
     may be used to give users a chance to read the messages out-
     put by "echo".

     slowpaste msec

     Define the speed at which text is inserted into the  current
     window  by  the  paste  ("C-a ]") command.  If the slowpaste
     value is nonzero text is  written  character  by  character.
     screen  will  make  a  pause of msec milliseconds after each
     single character write to allow the application  to  process
     its  input.  Only  use  slowpaste  if your underlying system
     exposes flow control problems while pasting large amounts of

     source file

     Read  and  execute  commands from file file. Source commands
     may be nested to a maximum recursion level of ten.  If  file
     is  not  an absolute path and screen is already processing a
     source command, the parent directory of the  running  source
     command  file  is  used  to  search for the new command file
     before screen's current directory.

     Note that termcap/terminfo/termcapinfo commands only work at
     startup  and  reattach time, so they must be reached via the
     default screenrc files to have an effect.

     sorendition [attr [color]]

     Change the way screen does highlighting for text marking and
     printing messages.  See the "STRING ESCAPES" chapter for the
     syntax of the modifiers.  The default is currently  "=s  dd"
     (standout, default colors).

SunOS 5.11            Last change: Aug 2003                    42

User Commands                                           SCREEN(1)


     Split  the  current region into two new ones. All regions on
     the display are resized to make room for the new region. The
     blank  window  is  displayed  on  the  new  region.  Use the
     "remove" or the "only" command to delete regions.

     startup_message on|off

     Select whether you want to see the copyright  notice  during
     startup.  Default is `on', as you probably noticed.

     stuff string

     Stuff  the  string string in the input buffer of the current
     window.  This is like the "paste" command but with much less
     overhead.   You  cannot paste large buffers with the "stuff"
     command. It is most useful for key bindings. See also "bind-

     su [username [password [password2]]

     Substitute  the  user  of a display. The command prompts for
     all parameters that are omitted. If passwords are  specified
     as  parameters,  they  have  to be specified un-crypted. The
     first password is matched against the systems  passwd  data-
     base,  the  second  password  is  matched against the screen
     password as set with the commands  "acladd"  or  "password".
     "Su"  may  be  useful  for  the screen administrator to test
     multiuser setups.  When the identification fails,  the  user
     has access to the commands available for user nobody.  These
     are "detach", "license", "version", "help" and "displays".


     Suspend screen.  The windows are in  the  `detached'  state,
     while  screen is suspended. This feature relies on the shell
     being able to do job control.

     term term

     In each window's environment screen opens, the  $TERM  vari-
     able is set to "screen" by default.  But when no description
     for "screen" is installed in the local termcap  or  terminfo
     data  base,  you set $TERM to - say - "vt100". This won't do
     much harm, as screen is VT100/ANSI compatible.  The  use  of
     the  "term"  command is discouraged for non-default purpose.
     That is, one may want  to  specify  special  $TERM  settings
     (e.g.  vt100) for the next "screen rlogin othermachine" com-
     mand. Use the command "screen -T vt100 rlogin  othermachine"
     rather than setting and resetting the default.

SunOS 5.11            Last change: Aug 2003                    43

User Commands                                           SCREEN(1)

     termcap term terminal-tweaks [window-tweaks]
     terminfo term terminal-tweaks [window-tweaks]
     termcapinfo term terminal-tweaks [window-tweaks]

     Use  this  command  to  modify your terminal's termcap entry
     without going through all the hassles involved in creating a
     custom  termcap  entry.   Plus, you can optionally customize
     the termcap generated for the windows.  You  have  to  place
     these commands in one of the screenrc startup files, as they
     are meaningless once the terminal emulator is booted.
     If your system works uses the terminfo database rather  than
     termcap,  screen  will  understand  the  `terminfo' command,
     which has the same effects as the  `termcap'  command.   Two
     separate  commands are provided, as there are subtle syntac-
     tic differences, e.g. when  parameter  interpolation  (using
     `%')  is  required. Note that termcap names of the capabili-
     ties have to be used with the `terminfo' command.
     In many cases, where the arguments are valid  in  both  ter-
     minfo  and termcap syntax, you can use the command `termcap-
     info', which is just a shorthand for a pair of `termcap' and
     `terminfo' commands with identical arguments.

     The  first  argument  specifies  which terminal(s) should be
     affected by this definition.  You can specify multiple  ter-
     minal  names by separating them with `|'s.  Use `*' to match
     all terminals and `vt*' to match all  terminals  that  begin
     with "vt".

     Each  tweak  argument  contains  one or more termcap defines
     (separated by `:'s) to be  inserted  at  the  start  of  the
     appropriate termcap entry, enhancing it or overriding exist-
     ing values.  The first tweak modifies your terminal's  term-
     cap,  and  contains  definitions  that your terminal uses to
     perform certain functions.  Specify a null string  to  leave
     this unchanged (e.g. '').  The second (optional) tweak modi-
     fies all the window termcaps, and should contain definitions
     that  screen  understands  (see  the "VIRTUAL TERMINAL" sec-

     Some examples:

          termcap xterm*  LP:hs@

     Informs screen that all terminals that  begin  with  `xterm'
     have  firm  auto-margins that allow the last position on the
     screen to be updated (LP), but they don't really have a sta-
     tus  line  (no 'hs' - append `@' to turn entries off).  Note
     that we assume `LP' for all terminal names that  start  with
     "vt",  but  only  if you don't specify a termcap command for
     that terminal.

          termcap vt*  LP

SunOS 5.11            Last change: Aug 2003                    44

User Commands                                           SCREEN(1)

          termcap vt102|vt220  Z0=\E[?3h:Z1=\E[?3l

     Specifies the firm-margined `LP' capability for  all  termi-
     nals that begin with `vt', and the second line will also add
     the escape-sequences to switch into (Z0)  and  back  out  of
     (Z1)  132-character-per-line  mode  if  this  is  a VT102 or
     VT220.  (You must specify Z0 and Z1 in your termcap  to  use
     the width-changing commands.)

          termcap vt100  ""  l0=PF1:l1=PF2:l2=PF3:l3=PF4

     This  leaves  your vt100 termcap alone and adds the function
     key labels to each window's termcap entry.

          termcap h19|z19  am@:im=\E@:ei=\EO  dc=\E[P

     Takes a h19 or z19 termcap and turns off auto-margins  (am@)
     and  enables  the insert mode (im) and end-insert (ei) capa-
     bilities (the `@' in the `im' string is after the `=', so it
     is  part  of  the string).  Having the `im' and `ei' defini-
     tions put into your terminal's termcap will cause screen  to
     automatically  advertise  the character-insert capability in
     each window's  termcap.   Each  window  will  also  get  the
     delete-character capability (dc) added to its termcap, which
     screen will translate into a line-update  for  the  terminal
     (we're pretending it doesn't support character deletion).

     If  you  would  like  to fully specify each window's termcap
     entry, you should instead set the $SCREENCAP variable  prior
     to  running screen.  See the discussion on the "VIRTUAL TER-
     MINAL" in this manual, and the termcap(5) man page for  more
     information on termcap definitions.

     time [string]

     Uses  the  message line to display the time of day, the host
     name, and the load averages over 1, 5, and  15  minutes  (if
     this  is  available  on  your  system).  For window specific
     information use "info".

     If a string is specified, it changes the format of the  time
     report like it is described in the "STRING ESCAPES" chapter.
     Screen uses a default of "%c:%s %M %d %H%? %l%?".

     title [windowtitle]

     Set the name of the current window  to  windowtitle.  If  no
     name  is specified, screen prompts for one. This command was
     known as `aka' in previous releases.

SunOS 5.11            Last change: Aug 2003                    45

User Commands                                           SCREEN(1)

     unsetenv var

     Unset an environment variable.

     utf8 [on|off [on|off]]

     Change the encoding used in the current window. If  utf8  is
     enabled,  the  strings  sent  to  the  window  will be UTF-8
     encoded and vice versa. Omitting the parameter  toggles  the
     setting.  If  a  second  parameter  is  given, the display's
     encoding is also changed (this should rather  be  done  with
     screen's  "-U"  option).   See also "defutf8", which changes
     the default setting of a new window.

     vbell [on|off]

     Sets the visual bell setting for this window.  Omitting  the
     parameter  toggles the setting. If vbell is switched on, but
     your terminal does not support a visual bell, a  `vbell-mes-
     sage'  is displayed in the status line when the bell charac-
     ter (^G) is received.  Visual bell support of a terminal  is
     defined by the termcap variable `vb' (terminfo: 'flash').
     Per  default,  vbell  is off, thus the audible bell is used.
     See also `bell_msg'.

     vbell_msg [message]

     Sets the visual bell message. message is printed to the sta-
     tus line if the window receives a bell character (^G), vbell
     is set to "on", but the terminal does not support  a  visual
     bell.   The  default  message  is  "Wuff,  Wuff!!".  Without
     parameter, the current message is shown.

     vbellwait sec

     Define a delay in seconds after  each  display  of  screen's
     visual bell message. The default is 1 second.

     verbose [on|off]

     If verbose is switched on, the command name is echoed, when-
     ever a window is created (or resurrected from zombie state).
     Default  is  off.  Without parameter, the current setting is


     Print the current version and the compile date in the status

SunOS 5.11            Last change: Aug 2003                    46

User Commands                                           SCREEN(1)

     wall message

     Write  a message to all displays. The message will appear in
     the terminal's status line.

     width [-w|-d] [cols [lines]]

     Toggle the window width between 80 and 132 columns or set it
     to  cols columns if an argument is specified.  This requires
     a capable terminal and the termcap entries  "Z0"  and  "Z1".
     See the "termcap" command for more information. You can also
     specify a new height if you want to change both values.  The
     -w  option  tells screen to leave the display size unchanged
     and just set the window size, -d vice versa.

     windowlist [-b] [-m]
     windowlist string [string]
     windowlist title [title]

     Display all windows in a table for visual window  selection.
     The desired window can be selected via the standard movement
     keys (see the "copy" command) and activated via  the  return
     key.   If  the -b option is given, screen will switch to the
     blank window before presenting the list, so that the current
     window  is also selectable.  The -m option changes the order
     of the windows, instead of sorting by window numbers  screen
     uses its internal most-recently-used list.

     The  table  format  can be changed with the string and title
     option, the title is displayed as table heading,  while  the
     lines are made by using the string setting. The default set-
     ting is "Num Name%=Flags" for the title and "%3n %t%=%f" for
     the  lines.  See the "STRING ESCAPES" chapter for more codes
     (e.g. color settings).


     Uses the message line to display a list of all the  windows.
     Each  window  is  listed  by number with the name of process
     that has been started in the window (or its title); the cur-
     rent  window  is  marked  with a `*'; the previous window is
     marked with a `-'; all the windows that are "logged in"  are
     marked  with  a `$'; a background window that has received a
     bell is marked with a `!'; a background window that is being
     monitored  and has had activity occur is marked with an `@';
     a window which has output logging turned on is  marked  with
     `(L)';  windows occupied by other users are marked with `&';
     windows in the zombie state are marked with  `Z'.   If  this
     list  is  too long to fit on the terminal's status line only
     the portion around the current window is displayed.

SunOS 5.11            Last change: Aug 2003                    47

User Commands                                           SCREEN(1)

     wrap [on|off]

     Sets the line-wrap setting for  the  current  window.   When
     line-wrap  is on, the second consecutive printable character
     output at the last column of a line will wrap to  the  start
     of  the following line.  As an added feature, backspace (^H)
     will also wrap through the left margin to the previous line.
     Default is `on'.

     writebuf [-e encoding] [filename]

     Writes  the  contents  of  the paste buffer to the specified
     file, or the public accessible screen-exchange  file  if  no
     filename  is  given. This is thought of as a primitive means
     of communication between screen users on the same  host.  If
     an  encoding is specified the paste buffer is recoded on the
     fly to match the encoding.  The filename can be set with the
     bufferfile command and defaults to "/tmp/screen-exchange".

     writelock [on|off|auto]

     In  addition  to  access control lists, not all users may be
     able to write to the  same  window  at  once.  Per  default,
     writelock  is in `auto' mode and grants exclusive input per-
     mission to the user who is the first to switch to  the  par-
     ticular  window.  When he leaves the window, other users may
     obtain the writelock (automatically). The writelock  of  the
     current  window  is disabled by the command "writelock off".
     If the user issues the command "writelock on" he  keeps  the
     exclusive write permission while switching to other windows.


     Insert a CTRL-s / CTRL-q character to the stdin queue of the
     current window.

     zmodem [off|auto|catch|pass]
     zmodem sendcmd [string]
     zmodem recvcmd [string]

     Define  zmodem  support  for  screen. Screen understands two
     different modes when it detects a zmodem request: "pass" and
     "catch".   If  the  mode is set to "pass", screen will relay
     all data to the attacher until the end of  the  transmission
     is  reached.   In  "catch" mode screen acts as a zmodem end-
     point and starts the corresponding rz/sz  commands.  If  the
     mode is set to "auto", screen will use "catch" if the window
     is a tty (e.g. a serial line), otherwise it will use "pass".
     You can define the templates screen uses in "catch" mode via
     the second and the third form.
     Note also that this is an experimental feature.

SunOS 5.11            Last change: Aug 2003                    48

User Commands                                           SCREEN(1)

     zombie [keys]
     defzombie [keys]

     Per default screen windows are removed from the window  list
     as  soon  as  the windows process (e.g. shell) exits. When a
     string of two keys  is  specified  to  the  zombie  command,
     `dead'  windows  will  remain in the list.  The kill command
     may be used to remove such a window. Pressing the first  key
     in  the  dead  window has the same effect. When pressing the
     second key, screen will attempt to resurrect the window. The
     process  that  was  initially  running in the window will be
     launched again. Calling zombie without parameters will clear
     the zombie setting, thus making windows disappear when their
     process exits.

     As the zombie-setting is manipulated globally for  all  win-
     dows, this command should only be called defzombie. Until we
     need this as a per window setting, the commands  zombie  and
     defzombie are synonymous.

     Screen displays informational messages and other diagnostics
     in a message line.  While this line is distributed to appear
     at  the bottom of the screen, it can be defined to appear at
     the top of the screen during compilation.  If your  terminal
     has  a  status  line defined in its termcap, screen will use
     this for displaying its messages, otherwise a  line  of  the
     current  screen  will  be temporarily overwritten and output
     will be momentarily interrupted. The message line  is  auto-
     matically removed after a few seconds delay, but it can also
     be removed early (on terminals without  a  status  line)  by
     beginning to type.

     The message line facility can be used by an application run-
     ning in the current window by means of the ANSI Privacy mes-
     sage control sequence.  For instance, from within the shell,
     try something like:

          echo '<esc>^Hello world from window '$WINDOW'<esc>\\'

     where '<esc>' is an escape, '^' is a literal  up-arrow,  and
     '\\' turns into a single backslash.

     Screen  provides  three  different window types. New windows
     are created with screen's screen command (see also the entry
     in  chapter  "CUSTOMIZATION").  The  first  parameter to the
     screen command defines which type of window is created.  The
     different  window  types are all special cases of the normal
     type. They have been added in order to allow  screen  to  be

SunOS 5.11            Last change: Aug 2003                    49

User Commands                                           SCREEN(1)

     used  efficiently  as a console multiplexer with 100 or more

     o  The normal window contains a shell (default, if no param-
        eter  is given) or any other system command that could be
        executed from a shell (e.g.  slogin, etc...)

     o  If  a  tty  (character   special   device)   name   (e.g.
        "/dev/ttya")  is  specified  as the first parameter, then
        the window is directly connected to  this  device.   This
        window type is similar to "screen cu -l /dev/ttya".  Read
        and write access is  required  on  the  device  node,  an
        exclusive  open is attempted on the node to mark the con-
        nection line as busy.  An optional parameter  is  allowed
        consisting  of  a  comma  separated  list of flags in the
        notation used by stty(1):

             Usually 300,  1200,  9600  or  19200.  This  affects
             transmission as well as receive speed.

        cs8 or cs7
             Specify  the  transmission  of eight (or seven) bits
             per byte.

        ixon or -ixon
             Enables (or disables) software  flow-control  (CTRL-
             S/CTRL-Q) for sending data.

        ixoff or -ixon
             Enables  (or  disables)  software  flow-control  for
             receiving data.

        istrip or -istrip
             Clear (or keep) the eight bit in each received byte.

        You  may  want  to  specify  as  many of these options as
        applicable. Unspecified options cause the terminal driver
        to make up the parameter values of the connection.  These
        values are system dependant and may  be  in  defaults  or
        values saved from a previous connection.

        For tty windows, the info command shows some of the modem
        control lines in  the  status  line.  These  may  include
        `RTS',  `CTS', 'DTR', `DSR', `CD' and more.  This depends
        on the available ioctl()'s and  system  header  files  as
        well  as  the  on the physical capabilities of the serial
        board.  Signals that  are  logical  low  (inactive)  have
        their name preceded by an exclamation mark (!), otherwise
        the  signal  is  logical  high  (active).   Signals   not

SunOS 5.11            Last change: Aug 2003                    50

User Commands                                           SCREEN(1)

        supported  by  the  hardware but available to the ioctl()
        interface are usually shown low.
        When the CLOCAL status bit is  true,  the  whole  set  of
        modem  signals  is  placed inside curly braces ({ and }).
        When the CRTSCTS or TIOCSOFTCAR bit is set,  the  signals
        `CTS' or `CD' are shown in parenthesis, respectively.

        For tty windows, the command break causes the Data trans-
        mission line (TxD) to go low for a  specified  period  of
        time.  This is expected to be interpreted as break signal
        on the other side.  No data is sent and no modem  control
        line is changed when a break is issued.

     o  If  the first parameter is "//telnet", the second parame-
        ter is expected to be a host name, and an optional  third
        parameter  may specify a TCP port number (default decimal
        23).  Screen will connect to a server  listening  on  the
        remote  host  and  use the telnet protocol to communicate
        with that server.
        For telnet windows, the command info shows details  about
        the connection in square brackets ([ and ]) at the end of
        the status line.

        b    BINARY. The connection is in binary mode.

        e    ECHO. Local echo is disabled.

        c    SGA. The connection is in `character mode' (default:
             `line mode').

        t    TTYPE.  The  terminal type has been requested by the
             remote host.  Screen sends the name "screen"  unless
             instructed  otherwise (see also the command `term').

        w    NAWS. The remote site is notified about window  size

        f    LFLOW. The remote host will send flow control infor-
             mation.  (Ignored at the moment.)

        Additional flags for debugging are x, t and n  (XDISPLOC,
        TSPEED and NEWENV).

        For  telnet  windows,  the command break sends the telnet
        code IAC BREAK (decimal 243) to the remote host.

        This window type is only available if screen was compiled
        with the BUILTIN_TELNET option defined.

SunOS 5.11            Last change: Aug 2003                    51

User Commands                                           SCREEN(1)

     Screen  provides  an  escape mechanism to insert information
     like the current time  into  messages  or  file  names.  The
     escape character is '%' with one exception: inside of a win-
     dow's hardstatus '^%' ('^E') is used instead.

     Here is the full list of supported escapes:

     %    the escape character itself

     a    either 'am' or 'pm'

     A    either 'AM' or 'PM'

     c    current time HH:MM in 24h format

     C    current time HH:MM in 12h format

     d    day number

     D    weekday name

     f    flags of the window

     F    sets %? to true if the window has the focus

     h    hardstatus of the window

     H    hostname of the system

     l    current load of the system

     m    month number

     M    month name

     n    window number

     s    seconds

     t    window title

     u    all other users on this window

     w    all window numbers and names. With '-'  quailifier:  up
          to  the  current  window;  with '+' qualifier: starting
          with the window after the current one.

     W    all window numbers and names except the current one

     y    last two digits of the year number

SunOS 5.11            Last change: Aug 2003                    52

User Commands                                           SCREEN(1)

     Y    full year number

     ?    the part to the next '%?' is displayed only  if  a  '%'
          escape inside the part expands to a non-empty string

     :    else part of '%?'

     =    pad  the  string  to  the  display's  width (like TeX's
          hfill). If a number is specified, pad to the percentage
          of the window's width.  A '0' qualifier tells screen to
          treat the number as absolute position.  You can specify
          to  pad  relative  to the last absolute pad position by
          adding a '+' qualifier or to pad relative to the  right
          margin  by  using '-'. The padding truncates the string
          if the specified position lies before the current posi-
          tion. Add the 'L' qualifier to change this.

     <    same  as  '%=' but just do truncation, do not fill with

     >    mark the current text position for the next truncation.
          When  screen  needs to do truncation, it tries to do it
          in a way that the marked position  gets  moved  to  the
          specified  percentage  of  the  output  area. (The area
          starts from the last absolute  pad  position  and  ends
          with  the  position  specified by the truncation opera-
          tor.) The 'L' qualifier tells screen to mark the  trun-
          cated parts with '...'.

     {    attribute/color  modifier string terminated by the next

     `    Substitute with the output of a 'backtick' command. The
          length qualifier is misused to identify one of the com-

     The 'c' and 'C' escape may be qualified with a '0'  to  make
     screen  use zero instead of space as fill character. The '0'
     qualifier also makes the '=' escape use absolute  positions.
     The  'n' and '=' escapes understand a length qualifier (e.g.
     '%3n'), 'D' and 'M' can be prefixed  with  'L'  to  generate
     long names, 'w' and 'W' also show the window flags if 'L' is

     An  attribute/color  modifier  is  is  used  to  change  the
     attributes  or the color settings. Its format is "[attribute
     modifier] [color description]". The attribute modifier  must
     be prefixed by a change type indicator if it can be confused
     with a color desciption.  The  following  change  types  are

     +    add the specified set to the current attributes

SunOS 5.11            Last change: Aug 2003                    53

User Commands                                           SCREEN(1)

     -    remove the set from the current attributes

     !    invert the set in the current attributes

     =    change the current attributes to the specified set

     The  attribute  set can either be specified as a hexadecimal
     number or a combination of the following letters:

     d    dim
     u    underline
     b    bold
     r    reverse
     s    standout
     B    blinking

     Colors are coded either as a hexadecimal number or two  let-
     ters  specifying the desired background and foreground color
     (in that order). The following colors are known:

     k    black
     r    red
     g    green
     y    yellow
     b    blue
     m    magenta
     c    cyan
     w    white
     d    default color
     .    leave color unchanged

     The capitalized versions of the letter specify  bright  col-
     ors.  You  can also use the pseudo-color 'i' to set just the
     brightness and leave the color unchanged.
     A one digit/letter color description  is  treated  as  fore-
     ground   or   background  color  dependant  on  the  current
     attributes: if reverse mode is set, the background color  is
     changed  instead of the foreground color.  If you don't like
     this, prefix the color with a ".". If you want the same  be-
     haviour  for two-letter color descriptions, also prefix them
     with a ".".
     As a special case, "%{-}" restores the attributes and colors
     that were set before the last change was made (i.e. pops one
     level of the color-change stack).

     Examples: "" .nr )I G""n

          set color to bright green

          use bold red

          clear all attributes, write in default color on  yellow

SunOS 5.11            Last change: Aug 2003                    54

User Commands                                           SCREEN(1)


     %-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<
          The  available  windows  centered at the current window
          and truncated to the available width. The current  win-
          dow  is displayed white on blue.  This can be used with
          "hardstatus alwayslastline".

     %?%F%{.R.}%?%3n %t%? [%h]%?
          The window number and title and the  window's  hardsta-
          tus,  if one is set.  Also use a red background if this
          is the active focus. Useful for "caption string".

     Each window has a flow-control setting that  determines  how
     screen  deals  with the XON and XOFF characters (and perhaps
     the interrupt character).  When flow-control is turned  off,
     screen ignores the XON and XOFF characters, which allows the
     user to send them to the current program  by  simply  typing
     them  (useful  for  the  emacs  editor,  for instance).  The
     trade-off is that it will take  longer  for  output  from  a
     "normal"  program  to  pause  in  response to an XOFF.  With
     flow-control turned on, XON and XOFF characters are used  to
     immediately pause the output of the current window.  You can
     still send these characters to the current program, but  you
     must use the appropriate two-character screen commands (typ-
     ically "C-a q" (xon) and "C-a s" (xoff)).  The xon/xoff com-
     mands are also useful for typing C-s and C-q past a terminal
     that intercepts these characters.

     Each window has  an  initial  flow-control  value  set  with
     either the -f option or the "defflow" .screenrc command. Per
     default the windows are set to automatic flow-switching.  It
     can  then  be  toggled  between the three states 'fixed on',
     'fixed off' and 'automatic' interactively  with  the  "flow"
     command bound to "C-a f".

     The  automatic  flow-switching  mode deals with flow control
     using the TIOCPKT mode (like  "rlogin"  does).  If  the  tty
     driver  does  not  support TIOCPKT, screen tries to find out
     the right mode based on the current setting of the  applica-
     tion keypad - when it is enabled, flow-control is turned off
     and visa versa.  Of course, you can still  manipulate  flow-
     control manually when needed.

     If  you're  running  with flow-control enabled and find that
     pressing the interrupt key (usually C-c) does not  interrupt
     the  display  until  another 6-8 lines have scrolled by, try
     running screen with the "interrupt" option (add the  "inter-
     rupt"  flag  to the "flow" command in your .screenrc, or use
     the -i command-line option).  This causes  the  output  that
     screen  has  accumulated  from the interrupted program to be

SunOS 5.11            Last change: Aug 2003                    55

User Commands                                           SCREEN(1)

     flushed.  One disadvantage is that  the  virtual  terminal's
     memory contains the non-flushed version of the output, which
     in rare cases can cause minor inaccuracies  in  the  output.
     For example, if you switch screens and return, or update the
     screen with "C-a l" you would see the version of the  output
     you  would  have gotten without "interrupt" being on.  Also,
     you might need to turn off flow-control  (or  use  auto-flow
     mode  to  turn  it off automatically) when running a program
     that expects you to type the interrupt character  as  input,
     as  it  is  possible  to interrupt the output of the virtual
     terminal to your  physical  terminal  when  flow-control  is
     enabled.   If  this  happens, a simple refresh of the screen
     with "C-a l" will restore it.  Give each mode a try, and use
     whichever mode you find more comfortable.

TITLES (naming windows)
     You  can  customize each window's name in the window display
     (viewed with the "windows" command (C-a w))  by  setting  it
     with one of the title commands.  Normally the name displayed
     is the actual command name of the  program  created  in  the
     window.  However, it is sometimes useful to distinguish var-
     ious programs of the same name or to change the name on-the-
     fly to reflect the current state of the window.

     The  default  name for all shell windows can be set with the
     "shelltitle" command in the .screenrc file, while all  other
     windows  are  created  with  a "screen" command and thus can
     have their name set  with  the  -t  option.   Interactively,
     there is the title-string escape-sequence (<esc>kname<esc>\)
     and the "title" command (C-a A).  The former can  be  output
     from an application to control the window's name under soft-
     ware control, and the latter will prompt  for  a  name  when
     typed.  You can also bind pre-defined names to keys with the
     "title" command to set things quickly without prompting.

     Finally, screen  has  a  shell-specific  heuristic  that  is
     enabled  by  setting  the window's name to "search|name" and
     arranging to have a null title escape-sequence output  as  a
     part  of  your prompt.  The search portion specifies an end-
     of-prompt search string, while the  name  portion  specifies
     the  default shell name for the window.  If the name ends in
     a `:' screen will add what it believes  to  be  the  current
     command  running  in  the  window to the end of the window's
     shell name (e.g. "name:cmd").  Otherwise the current command
     name supersedes the shell name while it is running.

     Here's  how  it works:  you must modify your shell prompt to
     output a null title-escape-sequence (<esc>k<esc>\) as a part
     of  your  prompt.   The last part of your prompt must be the
     same as the string you specified for the search  portion  of

SunOS 5.11            Last change: Aug 2003                    56

User Commands                                           SCREEN(1)

     the  title.  Once this is set up, screen will use the title-
     escape-sequence to clear the previous command name  and  get
     ready  for  the  next  command.   Then,  when  a  newline is
     received from the shell, a search is made for the end of the
     prompt.   If  found,  it  will grab the first word after the
     matched string and use it as the command name.  If the  com-
     mand  name  begins  with either '!', '%', or '^' screen will
     use the first word on the following line (if found) in pref-
     erence  to  the  just-found  name.  This helps csh users get
     better command names  when  using  job  control  or  history
     recall commands.

     Here's some .screenrc examples:

          screen -t top 2 nice top

     Adding this line to your .screenrc would start a nice-d ver-
     sion of the "top" command in window  2  named  "top"  rather
     than "nice".

                 shelltitle '> |csh'
                 screen 1

     These  commands  would start a shell with the given shellti-
     tle.  The title specified is an auto-title that would expect
     the  prompt and the typed command to look something like the

          /usr/joe/src/dir> trn

     (it looks after the '> ' for the command name).  The  window
     status  would show the name "trn" while the command was run-
     ning, and revert to "csh" upon completion.

          bind R screen -t '% |root:' su

     Having this command in your .screenrc  would  bind  the  key
     sequence  "C-a  R"  to the "su" command and give it an auto-
     title name of "root:".  For this  auto-title  to  work,  the
     screen could look something like this:

                 % !em
                 emacs file.c

     Here  the user typed the csh history command "!em" which ran
     the previously entered "emacs" command.  The  window  status
     would show "root:emacs" during the execution of the command,
     and revert to simply "root:" at its completion.

                 bind o title
                 bind E title ""
                 bind u title (unknown)

SunOS 5.11            Last change: Aug 2003                    57

User Commands                                           SCREEN(1)

     The first binding doesn't have any arguments,  so  it  would
     prompt  you  for a title. when you type "C-a o".  The second
     binding would clear an auto-title's current setting (C-a E).
     The  third  binding  would set the current window's title to
     "(unknown)" (C-a u).

     One thing to keep in mind when adding a  null  title-escape-
     sequence  to  your prompt is that some shells (like the csh)
     count all the non-control characters as part of the prompt's
     length.   If these invisible characters aren't a multiple of
     8 then backspacing over a tab will result  in  an  incorrect
     display.  One way to get around this is to use a prompt like

          set prompt='^[[0000m^[k^[\% '

     The escape-sequence "<esc>[0000m" not  only  normalizes  the
     character  attributes, but all the zeros round the length of
     the invisible characters up to 8.  Bash users will  probably
     want to echo the escape sequence in the PROMPT_COMMAND:

          PROMPT_COMMAND='echo -n -e "\033k\033\134"'

     (I  used  "134"  to  output  a  `\' because of a bug in bash

     Each window in a screen session emulates a  VT100  terminal,
     with some extra functions added. The VT100 emulator is hard-
     coded, no other terminal types can be emulated.
     Usually screen tries to emulate as much  of  the  VT100/ANSI
     standard  as  possible.  But  if your terminal lacks certain
     capabilities, the emulation may not be  complete.  In  these
     cases  screen  has to tell the applications that some of the
     features are missing. This is no problem on  machines  using
     termcap,  because  screen  can  use the $TERMCAP variable to
     customize the standard screen termcap.

     But if you do a rlogin on another machine  or  your  machine
     supports  only  terminfo this method fails. Because of this,
     screen offers a way to deal with these cases.  Here  is  how
     it works:

     When  screen tries to figure out a terminal name for itself,
     it first looks for an  entry  named  "screen.<term>",  where
     <term>  is  the contents of your $TERM variable.  If no such
     entry exists, screen tries "screen" (or  "screen-w"  if  the
     terminal  is  wide  (132 cols or more)).  If even this entry
     cannot be found, "vt100" is used as a substitute.

SunOS 5.11            Last change: Aug 2003                    58

User Commands                                           SCREEN(1)

     The idea is that if you have a terminal which  doesn't  sup-
     port an important feature (e.g. delete char or clear to EOS)
     you can build a new termcap/terminfo entry for screen (named
     "screen.<dumbterm>")  in which this capability has been dis-
     abled. If this entry is installed on your machines  you  are
     able  to do a rlogin and still keep the correct termcap/ter-
     minfo entry.  The terminal name is put in the $TERM variable
     of  all new windows.  Screen also sets the $TERMCAP variable
     reflecting the capabilities of  the  virtual  terminal  emu-
     lated.  Notice that, however, on machines using the terminfo
     database this variable  has  no  effect.   Furthermore,  the
     variable $WINDOW is set to the window number of each window.

     The actual set of capabilities supported by the virtual ter-
     minal  depends on the capabilities supported by the physical
     terminal.  If, for instance, the physical terminal does  not
     support  underscore  mode,  screen does not put the `us' and
     `ue'  capabilities  into  the  window's  $TERMCAP  variable,
     accordingly.  However, a minimum number of capabilities must
     be supported by a terminal in order to  run  screen;  namely
     scrolling,  clear  screen,  and direct cursor addressing (in
     addition, screen does not run on hardcopy  terminals  or  on
     terminals that over-strike).

     Also, you can customize the $TERMCAP value used by screen by
     using the "termcap" .screenrc command, or  by  defining  the
     variable  $SCREENCAP  prior  to startup.  When the is latter
     defined, its value will be copied verbatim  into  each  win-
     dow's $TERMCAP variable.  This can either be the full termi-
     nal definition, or a filename where  the  terminal  "screen"
     (and/or "screen-w") is defined.

     Note  that screen honors the "terminfo" .screenrc command if
     the system uses the terminfo database rather than termcap.

     When the boolean `G0' capability is present in  the  termcap
     entry  for the terminal on which screen has been called, the
     terminal emulation of  screen  supports  multiple  character
     sets.   This  allows  an  application  to  make  use of, for
     instance, the VT100 graphics character set or national char-
     acter  sets.   The following control functions from ISO 2022
     are supported: lock shift G0 (SI), lock shift G1 (SO),  lock
     shift  G2,  lock shift G3, single shift G2, and single shift
     G3.  When a virtual terminal is created or reset, the  ASCII
     character set is designated as G0 through G3.  When the `G0'
     capability is present,  screen  evaluates  the  capabilities
     `S0',  `E0',  and  `C0' if present. `S0' is the sequence the
     terminal uses to enable and start the graphics character set
     rather  than  SI.  `E0' is the corresponding replacement for
     SO. `C0' gives a character by character  translation  string
     that is used during semi-graphics mode. This string is built
     like the `acsc' terminfo capability.

SunOS 5.11            Last change: Aug 2003                    59

User Commands                                           SCREEN(1)

     When the `po' and `pf' capabilities are present in the  ter-
     minal's termcap entry, applications running in a screen win-
     dow can send output to the printer  port  of  the  terminal.
     This  allows  a  user  to  have an application in one window
     sending output to a printer connected to the terminal, while
     all  other  windows  are  still  active (the printer port is
     enabled and disabled again for each chunk of output).  As  a
     side-effect,  programs running in different windows can send
     output to the printer  simultaneously.   Data  sent  to  the
     printer  is  not  displayed in the window.  The info command
     displays a line starting `PRIN' while the printer is active.

     Screen  maintains  a  hardstatus line for every window. If a
     window gets  selected,  the  display's  hardstatus  will  be
     updated  to  match the window's hardstatus line. If the dis-
     play has no hardstatus the line will be displayed as a stan-
     dard  screen  message.   The  hardstatus line can be changed
     with   the   ANSI   Application   Program   Command   (APC):
     "ESC_<string>ESC\".  As  a  convenience  for xterm users the
     sequence "ESC]0..2;<string>^G" is also accepted.

     Some capabilities are only put into the $TERMCAP variable of
     the  virtual terminal if they can be efficiently implemented
     by the physical terminal.  For instance, `dl' (delete  line)
     is  only put into the $TERMCAP variable if the terminal sup-
     ports either delete line itself or scrolling  regions.  Note
     that  this  may provoke confusion, when the session is reat-
     tached on a different terminal, as  the  value  of  $TERMCAP
     cannot be modified by parent processes.

     The "alternate screen" capability is not enabled by default.
     Set the altscreen .screenrc command to enable it.

     The following is a list of control sequences  recognized  by
     screen.   "(V)"  and "(A)" indicate VT100-specific and ANSI-
     or ISO-specific functions, respectively.

     ESC E                      Next Line

     ESC D                      Index

     ESC M                      Reverse Index

     ESC H                      Horizontal Tab Set

     ESC Z                      Send VT100 Identification String

     ESC 7                 (V)  Save Cursor and Attributes

     ESC 8                 (V)  Restore Cursor and Attributes

     ESC [s                (A)  Save Cursor and Attributes

SunOS 5.11            Last change: Aug 2003                    60

User Commands                                           SCREEN(1)

     ESC [u                (A)  Restore Cursor and Attributes

     ESC c                      Reset to Initial State

     ESC g                      Visual Bell

     ESC Pn p                   Cursor Visibility (97801)

         Pn = 6                 Invisible

              7                 Visible

     ESC =                 (V)  Application Keypad Mode

     ESC >                 (V)  Numeric Keypad Mode

     ESC # 8               (V)  Fill Screen with E's

     ESC \                 (A)  String Terminator

     ESC ^                 (A)  Privacy Message  String  (Message

     ESC !                      Global  Message  String  (Message

     ESC k                      A.k.a. Definition String

     ESC P                 (A)  Device Control String.  Outputs a
                                string  directly to the host ter-
                                minal without interpretation.

     ESC _                 (A)  Application    Program    Command

     ESC ] 0 ; string ^G   (A)  Operating  System  Command (Hard-
                                status, xterm title hack)

     ESC ] 83 ; cmd ^G     (A)  Execute screen command. This only
                                works  if  multi-user  support is
                                compiled into screen. The pseudo-
                                user  ":window:" is used to check
                                the  access  control  list.   Use
                                "addacl :window: -rwx #?" to cre-
                                ate a user  with  no  rights  and
                                allow only the needed commands.

     Control-N             (A)  Lock Shift G1 (SO)

     Control-O             (A)  Lock Shift G0 (SI)

     ESC n                 (A)  Lock Shift G2

SunOS 5.11            Last change: Aug 2003                    61

User Commands                                           SCREEN(1)

     ESC o                 (A)  Lock Shift G3

     ESC N                 (A)  Single Shift G2

     ESC O                 (A)  Single Shift G3

     ESC ( Pcs             (A)  Designate character set as G0

     ESC ) Pcs             (A)  Designate character set as G1

     ESC * Pcs             (A)  Designate character set as G2

     ESC + Pcs             (A)  Designate character set as G3

     ESC [ Pn ; Pn H            Direct Cursor Addressing

     ESC [ Pn ; Pn f            same as above

     ESC [ Pn J                 Erase in Display

           Pn = None or 0       From Cursor to End of Screen

                1               From  Beginning of Screen to Cur-

                2               Entire Screen

     ESC [ Pn K                 Erase in Line

           Pn = None or 0       From Cursor to End of Line

                1               From Beginning of Line to Cursor

                2               Entire Line

     ESC [ Pn X                 Erase character

     ESC [ Pn A                 Cursor Up

     ESC [ Pn B                 Cursor Down

     ESC [ Pn C                 Cursor Right

     ESC [ Pn D                 Cursor Left

     ESC [ Pn E                 Cursor next line

     ESC [ Pn F                 Cursor previous line

     ESC [ Pn G                 Cursor horizontal position

     ESC [ Pn `                 same as above

SunOS 5.11            Last change: Aug 2003                    62

User Commands                                           SCREEN(1)

     ESC [ Pn d                 Cursor vertical position

     ESC [ Ps ;...; Ps m        Select Graphic Rendition

           Ps = None or 0       Default Rendition

                1               Bold

                2          (A)  Faint

                3          (A)  Standout Mode (ANSI: Italicized)

                4               Underlined

                5               Blinking

                7               Negative Image

                22         (A)  Normal Intensity

                23         (A)  Standout Mode off  (ANSI:  Itali-
                                cized off)

                24         (A)  Not Underlined

                25         (A)  Not Blinking

                27         (A)  Positive Image

                30         (A)  Foreground Black

                31         (A)  Foreground Red

                32         (A)  Foreground Green

                33         (A)  Foreground Yellow

                34         (A)  Foreground Blue

                35         (A)  Foreground Magenta

                36         (A)  Foreground Cyan

                37         (A)  Foreground White

                39         (A)  Foreground Default

                40         (A)  Background Black


                49         (A)  Background Default

SunOS 5.11            Last change: Aug 2003                    63

User Commands                                           SCREEN(1)

     ESC [ Pn g                 Tab Clear

           Pn = None or 0       Clear Tab at Current Position

                3               Clear All Tabs

     ESC [ Pn ; Pn r       (V)  Set Scrolling Region

     ESC [ Pn I            (A)  Horizontal Tab

     ESC [ Pn Z            (A)  Backward Tab

     ESC [ Pn L            (A)  Insert Line

     ESC [ Pn M            (A)  Delete Line

     ESC [ Pn @            (A)  Insert Character

     ESC [ Pn P            (A)  Delete Character

     ESC [ Pn S                 Scroll Scrolling Region Up

     ESC [ Pn T                 Scroll Scrolling Region Down

     ESC [ Pn ^                 same as above

     ESC [ Ps ;...; Ps h        Set Mode

     ESC [ Ps ;...; Ps l        Reset Mode

           Ps = 4          (A)  Insert Mode

                20         (A)  Automatic Linefeed Mode

                34              Normal Cursor Visibility

                ?1         (V)  Application Cursor Keys

                ?3         (V)  Change Terminal Width to 132 col-

                ?5         (V)  Reverse Video

                ?6         (V)  Origin Mode

                ?7         (V)  Wrap Mode

                ?9              X10 mouse tracking

                ?25        (V)  Visible Cursor

                ?47             Alternate Screen (old xterm code)

SunOS 5.11            Last change: Aug 2003                    64

User Commands                                           SCREEN(1)

                ?1000      (V)  VT200 mouse tracking

                ?1047           Alternate Screen (new xterm code)

                ?1049           Alternate Screen (new xterm code)

     ESC [ 5 i             (A)  Start   relay  to  printer  (ANSI
                                Media Copy)

     ESC [ 4 i             (A)  Stop relay to printer (ANSI Media

     ESC [ 8 ; Ph ; Pw t        Resize  the  window to `Ph' lines
                                and `Pw'  columns  (SunView  spe-

     ESC [ c                    Send VT100 Identification String

     ESC [ x                    Send Terminal Parameter Report

     ESC [ > c                  Send   VT220   Secondary   Device
                                Attributes String

     ESC [ 6 n                  Send Cursor Position Report

     In order to do a full VT100 emulation screen has  to  detect
     that a sequence of characters in the input stream was gener-
     ated by a keypress on the user's  keyboard  and  insert  the
     VT100  style escape sequence. Screen has a very flexible way
     of doing this by making it possible to  map  arbitrary  com-
     mands  on  arbitrary  sequences  of characters. For standard
     VT100 emulation the command will always insert a  string  in
     the  input  buffer  of the window (see also command stuff in
     the command table).  Because the sequences  generated  by  a
     keypress can change after a reattach from a different termi-
     nal type, it is possible to bind  commands  to  the  termcap
     name  of  the  keys.  Screen will insert the correct binding
     after each reattach. See the  bindkey  command  for  further
     details on the syntax and examples.

     Here  is  the  table  of the default key bindings. (A) means
     that the command is executed if  the  keyboard  is  switched
     into application mode.

     Key name          Termcap name    Command
     Cursor up             ku          stuff \033[A
                                       stuff \033OA    (A)
     Cursor down           kd          stuff \033[B

SunOS 5.11            Last change: Aug 2003                    65

User Commands                                           SCREEN(1)

                                       stuff \033OB    (A)
     Cursor right          kr          stuff \033[C
                                       stuff \033OC    (A)
     Cursor left           kl          stuff \033[D
                                       stuff \033OD    (A)
     Function key 0        k0          stuff \033[10~
     Function key 1        k1          stuff \033OP
     Function key 2        k2          stuff \033OQ
     Function key 3        k3          stuff \033OR
     Function key 4        k4          stuff \033OS
     Function key 5        k5          stuff \033[15~
     Function key 6        k6          stuff \033[17~
     Function key 7        k7          stuff \033[18~
     Function key 8        k8          stuff \033[19~
     Function key 9        k9          stuff \033[20~
     Function key 10       k;          stuff \033[21~
     Function key 11       F1          stuff \033[23~
     Function key 12       F2          stuff \033[24~
     Home                  kh          stuff \033[1~
     End                   kH          stuff \033[4~
     Insert                kI          stuff \033[2~
     Delete                kD          stuff \033[3~
     Page up               kP          stuff \033[5~
     Page down             kN          stuff \033[6~
     Keypad 0              f0          stuff 0
                                       stuff \033Op    (A)
     Keypad 1              f1          stuff 1
                                       stuff \033Oq    (A)
     Keypad 2              f2          stuff 2
                                       stuff \033Or    (A)
     Keypad 3              f3          stuff 3
                                       stuff \033Os    (A)
     Keypad 4              f4          stuff 4
                                       stuff \033Ot    (A)
     Keypad 5              f5          stuff 5
                                       stuff \033Ou    (A)
     Keypad 6              f6          stuff 6
                                       stuff \033Ov    (A)
     Keypad 7              f7          stuff 7
                                       stuff \033Ow    (A)
     Keypad 8              f8          stuff 8
                                       stuff \033Ox    (A)
     Keypad 9              f9          stuff 9
                                       stuff \033Oy    (A)
     Keypad +              f+          stuff +
                                       stuff \033Ok    (A)
     Keypad -              f-          stuff -
                                       stuff \033Om    (A)
     Keypad *              f*          stuff *
                                       stuff \033Oj    (A)
     Keypad /              f/          stuff /
                                       stuff \033Oo    (A)

SunOS 5.11            Last change: Aug 2003                    66

User Commands                                           SCREEN(1)

     Keypad =              fq          stuff =
                                       stuff \033OX    (A)
     Keypad .              f.          stuff .
                                       stuff \033On    (A)
     Keypad ,              f,          stuff ,
                                       stuff \033Ol    (A)
     Keypad enter          fe          stuff \015
                                       stuff \033OM    (A)

     The following table describes all terminal capabilities that
     are recognized by screen and are not in the termcap(5)  man-
     ual.   You  can  place  these  capabilities  in your termcap
     entries (in `/etc/termcap') or use them  with  the  commands
     `termcap',  `terminfo'  and  `termcapinfo'  in your screenrc
     files. It is often not possible to place these  capabilities
     in the terminfo database.

     LP   (bool)  Terminal  has  VT100 style margins (`magic mar-
                  gins'). Note that this capability  is  obsolete
                  because  screen uses the standard 'xn' instead.

     Z0   (str)   Change width to 132 columns.

     Z1   (str)   Change width to 80 columns.

     WS   (str)   Resize display. This capability has the desired
                  width  and  height  as  arguments.  SunView(tm)
                  example: '\E[8;%d;%dt'.

     NF   (bool)  Terminal doesn't need flow control. Send ^S and
                  ^Q  direct  to  the  application. Same as 'flow
                  off'. The opposite of this capability is  'nx'.

     G0   (bool)  Terminal  can deal with ISO 2022 font selection

     S0   (str)   Switch charset 'G0' to the  specified  charset.
                  Default is '\E(%.'.

     E0   (str)   Switch  charset  'G0' back to standard charset.
                  Default is '\E(B'.

     C0   (str)   Use the string as a conversion table  for  font
                  '0'.  See the 'ac' capability for more details.

     CS   (str)   Switch cursor-keys to application mode.

     CE   (str)   Switch cursor-keys back to normal mode.

SunOS 5.11            Last change: Aug 2003                    67

User Commands                                           SCREEN(1)

     AN   (bool)  Turn on autonuke. See  the  'autonuke'  command
                  for more details.

     OL   (num)   Set  the  output  buffer  limit.  See the 'obu-
                  flimit' command for more details.

     KJ   (str)   Set the  encoding  of  the  terminal.  See  the
                  'encoding' command for valid encodings.

     AF   (str)   Change  character  foreground  color in an ANSI
                  conform way. This capability will almost always
                  be  set  to '\E[3%dm' ('\E[3%p1%dm' on terminfo

     AB   (str)   Same as 'AF', but change background color.

     AX   (bool)  Does understand ANSI set  default  fg/bg  color
                  (\E[39m / \E[49m).

     XC   (str)   Describe a translation of characters to strings
                  depending on the  current  font.  More  details
                  follow in the next section.

     XT   (bool)  Terminal  understands  special  xterm sequences
                  (OSC, mouse tracking).

     C8   (bool)  Terminal needs bold to  display  high-intensity
                  colors (e.g. Eterm).

     TF   (bool)  Add  missing  capabilities  to the termcap/info
                  entry. (Set by default).

     Screen has a powerful mechanism to translate  characters  to
     arbitrary strings depending on the current font and terminal
     type.  Use this feature if you want to work  with  a  common
     standard  character  set (say ISO8851-latin1) even on termi-
     nals that scatter the more unusual characters  over  several
     national language font pages.

         <charset-mapping> := <designator><template>{,<mapping>}
         <mapping> := <char-to-be-mapped><template-arg>

     The things in braces may be repeated any number of times.

     A  <charset-mapping>  tells  screen how to map characters in
     font <designator> ('B': Ascii, 'A': UK, 'K':  german,  etc.)
     to  strings. Every <mapping> describes to what string a sin-
     gle character will be translated. A  template  mechanism  is

SunOS 5.11            Last change: Aug 2003                    68

User Commands                                           SCREEN(1)

     used,  as  most  of  the time the codes have a lot in common
     (for example strings to switch to and from another charset).
     Each  occurrence  of '%' in <template> gets substituted with
     the <template-arg> specified together with the character. If
     your  strings are not similar at all, then use '%' as a tem-
     plate and place the full string in <template-arg>. A quoting
     mechanism  was  added to make it possible to use a real '%'.
     The '\' character quotes the special  characters  '\',  '%',
     and ','.

     Here is an example:

         termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'

     This  tells  screen how to translate ISOlatin1 (charset 'B')
     upper case umlaut characters on a hp700 terminal that has  a
     german charset. '\304' gets translated to '\E(K[\E(B' and so
     on.  Note that this line gets parsed  *three*  times  before
     the internal lookup table is built, therefore a lot of quot-
     ing is needed to create a single '\'.

     Another extension was added to allow more  emulation:  If  a
     mapping translates the unquoted '%' char, it will be sent to
     the terminal whenever screen switches to  the  corresponding
     <designator>.  In  this special case the template is assumed
     to be just '%' because the charset switch sequence  and  the
     character mappings normally haven't much in common.

     This example shows one use of the extension:

         termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'

     Here,  a  part of the german ('K') charset is emulated on an
     xterm.  If screen has to change to the 'K'  charset,  '\E(B'
     will be sent to the terminal, i.e. the ASCII charset is used
     instead. The  template  is  just  '%',  so  the  mapping  is
     straightforward:  '['  to  '\304', '\' to '\326', and ']' to

     COLUMNS        Number of columns on the terminal  (overrides
                    termcap entry).
     HOME           Directory in which to look for .screenrc.
     LINES          Number  of  lines  on the terminal (overrides
                    termcap entry).
     LOCKPRG        Screen lock program.
     NETHACKOPTIONS Turns on nethack option.
     PATH           Used for locating programs to run.
     SCREENCAP      For customizing a terminal's TERMCAP value.
     SCREENDIR      Alternate socket directory.
     SCREENRC       Alternate user screenrc file.

SunOS 5.11            Last change: Aug 2003                    69

User Commands                                           SCREEN(1)

     SHELL          Default shell  program  for  opening  windows
                    (default "/bin/sh").
     STY            Alternate socket name.
     SYSSCREENRC    Alternate system screenrc file.
     TERM           Terminal name.
     TERMCAP        Terminal description.
     WINDOW         Window number of a window (at creation time).

     .../screen-4.?.??/etc/etcscreenrc Examples  in  the   screen
                                       distribution  package  for
                                       private  and  global  ini-
                                       tialization files.
     /usr/local/etc/screenrc           screen initialization com-
     $HOME/.screenrc                   Read       in        after
     /local/screens/S-<login>          Socket         directories
     /usr/tmp/screens/S-<login>        Alternate socket  directo-
     <socket directory>/.termcap       Written  by  the "termcap"
                                       output function
     /usr/tmp/screens/screen-exchange  or
     /tmp/screen-exchange              screen `interprocess  com-
                                       munication buffer'
     hardcopy.[0-9]                    Screen  images  created by
                                       the hardcopy function
     screenlog.[0-9]                   Output log  files  created
                                       by the log function
     /usr/lib/terminfo/?/*             or
     /etc/termcap                      Terminal  capability data-
     /etc/utmp                         Login records
     $LOCKPRG                          Program that locks a  ter-

     See   attributes(5)   for   descriptions  of  the  following

SunOS 5.11            Last change: Aug 2003                    70

User Commands                                           SCREEN(1)

     |Availability   | terminal/screen  |
     |Stability      | Uncommitted      |
SEE ALSO-------------+------------------+
     termcap(5), utmp(5), vi(1), captoinfo(1), tic(1)

     Originally created by Oliver Laumann,  this  latest  version
     was  produced  by Wayne Davison, Juergen Weigert and Michael

     Copyright (C) 1993-2003
                    Juergen Weigert (
                    Michael Schroeder (
     Copyright (C) 1987 Oliver Laumann
     This program is  free  software;  you  can  redistribute  it
     and/or  modify  it under the terms of the GNU General Public
     License as published by the Free Software Foundation; either
     version 2, or (at your option) any later version.
     This program is distributed in the hope that it will be use-
     ful, but WITHOUT ANY WARRANTY; without even the implied war-
     POSE.  See the GNU General Public License for more  details.
     You  should  have  received a copy of the GNU General Public
     License along with this program (see the file  COPYING);  if
     not,  write to the Free Software Foundation, Inc., 59 Temple
     Place - Suite 330, Boston, MA  02111-1307, USA

     Ken Beal (,
     Rudolf Koenig (,
     Toerless Eckert (,
     Wayne Davison (,
     Patrick Wolfe (, kailand!pat),
     Bart Schaefer (,
     Nathan Glasser (,
     Larry W. Virden (,
     Howard Chu (,
     Tim MacKenzie (,
     Markku Jarvinen (mta@{cc,cs,ee},
     Marc Boucher (marc@CAM.ORG),
     Doug Siebert (,
     Ken Stillson (,
     Ian Frechett (frechett@spot.Colorado.EDU),
     Brian Koehmstedt (,
     Don Smith (,
     Frank van der Linden (,

SunOS 5.11            Last change: Aug 2003                    71

User Commands                                           SCREEN(1)

     Martin Schweikert (,
     David Vrona (,
     E. Tye McQueen (,
     Matthew Green (,
     Christopher Williams (,
     Matt Mosley (,
     Gregory Neil Shapiro (gshapiro@wpi.WPI.EDU),
     Johannes Zellner (,
     Pablo Averbuj (

     This is version 4.0.2. Its roots are a  merge  of  a  custom
     version  2.3PR7 by Wayne Davison and several enhancements to
     Oliver Laumann's version 2.0. Note that  all  versions  num-
     bered 2.x are copyright by Oliver Laumann.

     The  latest  official release of screen available via anony-
     mous ftp from, or any other GNU
     distribution site. The home site of screen is ftp.uni-erlan-, in the directory pub/utilities/screen. The subdirec-
     tory  `private' contains the latest beta testing release. If
     you want to help, send a note to

     o  `dm' (delete mode) and `xs'  are  not  handled  correctly
        (they  are  ignored).  `xn'  is treated as a magic-margin

     o  Screen has no clue about double-high or double-wide char-
        acters.   But  this  is  the  only  area  where vttest is
        allowed to fail.

     o  It is not possible to  change  the  environment  variable
        $TERMCAP  when  reattaching  under  a  different terminal

     o  The support of terminfo based systems  is  very  limited.
        Adding  extra  capabilities  to $TERMCAP may not have any

     o  Screen does not make use of hardware tabs.

     o  Screen must be installed as set-uid with  owner  root  on
        most  systems in order to be able to correctly change the
        owner of the tty device file for  each  window.   Special
        permission  may  also  be  required  to  write  the  file

     o  Entries in "/etc/utmp" are not  removed  when  screen  is
        killed with SIGKILL.  This will cause some programs (like

SunOS 5.11            Last change: Aug 2003                    72

User Commands                                           SCREEN(1)

        "w" or "rwho") to advertise that a user is logged on  who
        really isn't.

     o  Screen  may  give  a strange warning when your tty has no
        utmp entry.

     o  When the modem line was hung up, screen may not automati-
        cally  detach  (or quit) unless the device driver is con-
        figured to send a HANGUP signal.  To detach a screen ses-
        sion use the -D or -d command line option.

     o  If  a password is set, the command line options -d and -D
        still detach a session without asking.

     o  Both "breaktype" and "defbreaktype" change the break gen-
        erating  method  used  by all terminal devices. The first
        should change a window specific setting, where the latter
        should change only the default for new windows.

     o  When   attaching  to  a  multiuser  session,  the  user's
        .screenrc file is not sourced. Each user's personal  set-
        tings  have  to  be  included  in the .screenrc file from
        which the session is booted, or have to be changed  manu-

     o  A weird imagination is most useful to gain full advantage
        of all the features.

     o  Send bug-reports, fixes, enhancements,  t-shirts,  money,
        beer & pizza to

     This   software   was   built   from   source  available  at   The   original
     community       source       was       downloaded       from

     Further information about this software can be found on  the
     open  source  community  website at

SunOS 5.11            Last change: Aug 2003                    73