summaryrefslogtreecommitdiff
path: root/doc/screen.info-1
diff options
context:
space:
mode:
Diffstat (limited to 'doc/screen.info-1')
-rw-r--r--doc/screen.info-11514
1 files changed, 1514 insertions, 0 deletions
diff --git a/doc/screen.info-1 b/doc/screen.info-1
new file mode 100644
index 0000000..6d39c2c
--- /dev/null
+++ b/doc/screen.info-1
@@ -0,0 +1,1514 @@
+This is Info file screen.info, produced by Makeinfo-1.55 from the input
+file ./screen.texinfo.
+
+ This file documents the `Screen' virtual terminal manager.
+
+ Copyright (c) 1993 Free Software Foundation, Inc.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Foundation.
+
+
+File: screen.info, Node: Top, Next: Overview, Prev: (dir), Up: (dir)
+
+Screen
+******
+
+ This file documents the `Screen' virtual terminal manager, version
+3.7.0.
+
+* Menu:
+
+* Overview:: Preliminary information.
+* Getting Started:: An introduction to `screen'.
+* Invoking Screen:: Command line options for `screen'.
+* Customization:: The `.screenrc' file.
+* Commands:: List all of the commands.
+* New Window:: Running a program in a new window.
+* Selecting:: Selecting a window to display.
+* Session Management:: Suspending or detaching a session.
+* Window Settings:: titles, logging, etc.
+* Virtual Terminal:: Controlling the `screen' VT100 emulation.
+* Copy and Paste:: Exchanging text between windows and sessions.
+* Subprocess Execution:: I/O filtering with `exec'.
+* Key Binding:: Binding commands to keys.
+* Flow Control:: Trap or pass flow control characters.
+* Termcap:: Tweaking your terminal's termcap entry.
+* Message Line:: The `screen' message line.
+* Logging:: Keeping a record of your session.
+* Startup:: Functions only useful at `screen' startup.
+* Miscellaneous:: Various other commands.
+* Environment:: Environment variables used by `screen'.
+* Files:: Files used by `screen'.
+* Credits:: Who's who of `screen'.
+* Bugs:: What to do if you find a bug.
+* Installation:: Getting `screen' running on your system.
+* Concept Index:: Index of concepts.
+* Command Index:: Index of all `screen' commands.
+* Keystroke Index:: Index of default key bindings.
+
+
+File: screen.info, Node: Overview, Next: Getting Started, Prev: Top, Up: Top
+
+Overview
+********
+
+ 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 the DEC VT100 terminal and,
+in addition, several control functions from the ANSI X3.64 (ISO 6429)
+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 mechanism that allows the user to move
+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 the current window, view a list of the active
+windows, turn output logging on and off, copy text between windows, view
+the scrollback history, switch between windows, 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 users terminal.
+
+ 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 previously displayed 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 keystroke that is used to
+initiate a command to the window manager. 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 (*note Command
+Character::.) and all the key bindings (*note Key Binding::.) can be
+fully customized to be anything you like, though they are always two
+characters in length.
+
+ 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 created 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 manager (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 window.
+
+ 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
+closed. 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 terminal's own record is removed from the utmp file. *Note Login::.
+
+
+File: screen.info, Node: Getting Started, Next: Invoking Screen, Prev: Overview, Up: Top
+
+Getting Started
+***************
+
+ 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', `qterm',
+or just `set term=mytermtype', 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 ?' (*note Key
+Binding::.). Typing these two characters will display a list of the
+available `screen' commands and their bindings. Each keystroke is
+discussed in the section on keystrokes (*note Default Key Bindings::.).
+Another section (*note 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 to use a version of your terminal's termcap that has
+automatic margins turned *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.
+
+ *Note Special Capabilities::, for more information about telling
+`screen' what kind of terminal you have.
+
+
+File: screen.info, Node: Invoking Screen, Next: Customization, Prev: Getting Started, Up: Top
+
+Invoking `Screen'
+*****************
+
+ 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 display. By
+ default, `screen' may try to restore its old window sizes when
+ attaching to resizable terminals (those with `WS' in their
+ descriptions, e.g. `suncmd' or some varieties of `xterm').
+
+`-c FILE'
+ Use FILE as the user's configuration file instead of the default
+ of `$HOME/.screenrc'.
+
+`-d [PID.SESSIONNAME]'
+`-D [PID.SESSIONNAME]'
+ Do not start `screen', but instead detach a `screen' session
+ running elsewhere (*note Detach::.). `-d' has the same effect as
+ typing `C-a d' from the controlling terminal for the session.
+ `-D' is the equivalent to the power detach key. If no session can
+ be detached, this option is ignored. The combination `screen -D
+ -r' can be used to log out from a remote terminal and transport the
+ session running there to your current terminal. *Note*: It is a
+ good idea to check the status of your sessions with `screen -list'
+ before using this option.
+
+`-e XY'
+ Set the command character to X, and the character generating a
+ literal command character (when typed after the command character)
+ to Y. The defaults are `C-a' and `a', which can be specified as
+ `-e^Aa'. When creating a `screen' session, this option sets the
+ default command caracter. In a multiuser session all users added
+ will start off with this command character. But when attaching to
+ an already running session, this option only changes the command
+ character of the attaching user. This option is equivalent to the
+ commands `defescape' or `escape' respectively. (*note Command
+ Character::.).
+
+`-f'
+`-fn'
+`-fa'
+ Set flow-control to on, off, or automatic switching mode,
+ respectively. This option is equivalent to the `defflow' command
+ (*note Flow Control::.).
+
+`-h NUM'
+ Set the history scrollback buffer to be NUM lines high.
+ Equivalent to the `defscrollback' command (*note Copy::.).
+
+`-i'
+ Cause the interrupt key (usually `C-c') to interrupt the display
+ immediately when flow control is on. This option is equivalent to
+ the `interrupt' argument to the `defflow' command (*note Flow
+ Control::.). Its use is discouraged.
+
+`-l'
+`-ln'
+ Turn login mode on or off (for `/etc/utmp' updating). This option
+ is equivalent to the `deflogin' command (*note Login::.).
+
+`-ls'
+`-list'
+ Do not start `screen', but instead print a list of session
+ identification strings (usually of the form PID.TTY.HOST; *note
+ Session Name::.). Sessions marked `detached' can be resumed with
+ `screen -r'. Those marked `attached' are running and have a
+ controlling terminal. Sessions marked as `dead' should be
+ thoroughly checked and removed. Ask your system administrator if
+ you are not sure why they died. Remove sessions with the `-wipe'
+ option.
+
+`-L'
+ Tell `screen' that your auto-margin terminal allows programs to
+ write to the last column of the last row of the screen without
+ scrolling. This can also be set in your `.screenrc' by specifying
+ `xn' in a `termcap' command (*note Termcap::.).
+
+`-m'
+ Tell `screen' to ignore the `$STY' environment variable. When
+ this option is used, a new session will always be created,
+ regardless of whether `screen' is being called from within another
+ `screen' session or not.
+
+`-r [PID.SESSIONNAME]'
+`-r SESSIONOWNER/[PID.SESSIONNAME]'
+ Resume a detached `screen' session. No other options (except `-d'
+ or `-D') may be specified, though the session name (*note Session
+ Name::.) may be needed to distinguish between multiple detached
+ `screen' sessions. The second form is used to connect to another
+ users screen session which runs in multi-user mode. This indicates
+ that screen should look for sessions in another users directory.
+ This requires setuid-root.
+
+`-R'
+ Resume the first appropriate detached `screen' session. If
+ successful, all other command-line options are ignored. If no
+ detached session exists, start a new session using the specified
+ options, just as if `-R' had not been specified. This option is
+ set by default if screen is run as a login-shell.
+
+`-s PROGRAM'
+ Set the default shell to be PROGRAM. By default, `screen' uses
+ the value of the environment variable `$SHELL', or `/bin/sh' if it
+ is not defined. This option is equivalent to the `shell' command
+ (*note Shell::.).
+
+`-S SESSIONNAME'
+ Set the name of the new session to SESSIONNAME. This option can
+ be used to specify a meaningful name for the session in place of
+ the default TTY.HOST suffix. This name identifies the session for
+ the `screen -list' and `screen -r' commands. This option is
+ equivalent to the `sessionname' command (*note Session Name::.).
+
+`-t NAME'
+ Set the title (name) for the default shell or specified program.
+ This option is equivalent to the `shelltitle' command (*note
+ Shell::.).
+
+`-v'
+ Print the version number.
+
+`-wipe'
+ List available screens like `screen -ls', but remove destroyed
+ sessions instead of marking them as `dead'.
+
+`-x'
+ Attach to a session which is already attached elsewhere
+ (multi-display mode).
+
+
+File: screen.info, Node: Customization, Next: Commands, Prev: Invoking Screen, Up: Top
+
+Customizing `Screen'
+********************
+
+ You can modify the default settings for `screen' to fit your tastes
+either through a personal `.screenrc' file which contains commands to
+be executed at startup, or on the fly using the `colon' command.
+
+* Menu:
+
+* Startup Files:: The `.screenrc' file.
+* Colon:: Entering customization commands interactively.
+
+
+File: screen.info, Node: Startup Files, Next: Colon, Up: Customization
+
+The `.screenrc' file
+====================
+
+ When `screen' is invoked, it executes initialization commands from
+the files `.screenrc' in the user's home directory and
+`/usr/local/etc/screenrc'. These defaults 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
+for in `$SCREENRC', then ``$HOME'/.screenrc'. The command line option
+`-c' specifies which file to use (*note Invoking Screen::.. Commands
+in these files are used to set options, bind commands 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. Unintelligible 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 is intended. 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 commands.
+
+
+File: screen.info, Node: Colon, Prev: Startup Files, Up: Customization
+
+Colon
+=====
+
+ Customization can also be done online, with this command:
+
+ - Command: colon
+ (`C-a :')
+ 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, as of version 3.3. Change default settings with commands
+ starting with `def'. You might think of this as the `ex' command
+ mode of `screen', with `copy' as its `vi' command mode (*note Copy
+ and Paste::.).
+
+
+File: screen.info, Node: Commands, Next: New Window, Prev: Customization, Up: Top
+
+Commands
+********
+
+ A command in `screen' can either be bound to a key, invoked from a
+screenrc file, or called from the `colon' prompt (*note
+Customization::.). As of version 3.3, all commands can be bound to
+keys, although some may be less useful than others. For a number of
+real life working examples of the most important commands see the files
+`etc/screenrc' and `etc/etcscreenrc' of your screen distribution.
+
+ In this manual, a command definition looks like this:
+
+- Command: command [-n] ARG1 [ARG2] ...
+ (KEYBINDINGS)
+ This command does something, but I can't remember what.
+
+ An argument in square brackets (`[]') is optional. Many commands
+take an argument of `on' or `off', which is indicated as STATE in the
+definition.
+
+* Menu:
+
+* Default Key Bindings:: `screen' keyboard commands.
+* Command Summary:: List of all commands.
+
+
+File: screen.info, Node: Default Key Bindings, Next: Command Summary, Up: Commands
+
+Default Key Bindings
+====================
+
+ As mentioned previously, each keyboard command consists of a `C-a'
+followed 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, both `C-a c' and `C-a C-c' can be used to create a window.
+
+ The following table shows the default key bindings:
+
+`C-a ''
+`C-a "'
+ (select)
+ Prompt for a window identifier and switch. *Note Selecting::.
+
+`C-a 0...9'
+ (select 0...select 9)
+ Switch to window number 0...9. *Note Selecting::.
+
+`C-a C-a'
+ (other)
+ Toggle to the window displayed previously. *Note Selecting::.
+
+`C-a a'
+ (meta)
+ Send the command character (C-a) to window. See `escape' command.
+ *Note Command Character::.
+
+`C-a A'
+ (title)
+ Allow the user to enter a title for the current window. *Note
+ Naming Windows::.
+
+`C-a b'
+ itemx `C-a C-b' (break)
+ Send a break to the tty. *Note Break::.
+
+`C-a B'
+ (pow_break)
+ Close and reopen the tty-line. *Note Break::.
+
+`C-a c'
+`C-a C-c'
+ (screen)
+ Create a new window with a shell and switch to that window. *Note
+ Screen Command::.
+
+`C-a C'
+ (clear)
+ Clear the screen. *Note Clear::.
+
+`C-a d'
+`C-a C-d'
+ (detach)
+ Detach `screen' from this terminal. *Note Detach::.
+
+`C-a D D'
+ (pow_detach)
+ Detach and logout. *Note Power Detach::.
+
+`C-a f'
+`C-a C-f'
+ (flow)
+ Cycle flow among `on', `off' or `auto'. *Note Flow::.
+
+`C-a C-g'
+ (vbell)
+ Toggle visual bell mode. *Note Bell::.
+
+`C-a h'
+ (hardcopy)
+ Write a hardcopy of the current window to the file "hardcopy.N".
+ *Note Hardcopy::.
+
+`C-a H'
+ (log)
+ Toggle logging of the current window to the file "screenlog.N".
+ *Note Log::.
+
+`C-a i'
+`C-a C-i'
+ (info)
+ Show info about the current window. *Note Info::.
+
+`C-a k'
+`C-a C-k'
+ (kill)
+ Destroy the current window. *Note Kill::.
+
+`C-a l'
+`C-a C-l'
+ (redisplay)
+ Fully refresh the current window. *Note Redisplay::.
+
+`C-a L'
+ (login)
+ Toggle the current window's login state. *Note Login::.
+
+`C-a m'
+`C-a C-m'
+ (lastmsg)
+ Repeat the last message displayed in the message line. *Note Last
+ Message::.
+
+`C-a M'
+ (monitor) Toggle monitoring of the current window. *Note
+ Monitor::.
+
+`C-a SPC'
+`C-a n'
+`C-a C-n'
+ (next)
+ Switch to the next window. *Note Selecting::.
+
+`C-a N'
+ (number)
+ Show the number (and title) of the current window. *Note Number::.
+
+`C-a p'
+`C-a C-p'
+`C-a C-h'
+`C-a BackSpace'
+ (prev)
+ Switch to the previous window (opposite of `C-a n'). *Note
+ Selecting::.
+
+`C-a q'
+`C-a C-q'
+ (xon)
+ Send a ^Q (ASCII XON) to the current window. *Note XON/XOFF::.
+
+`C-a r'
+`C-a C-r'
+ (wrap)
+ Toggle the current window's line-wrap setting (turn the current
+ window's automatic margins on or off). *Note Wrap::.
+
+`C-a s'
+`C-a C-s'
+ (xoff)
+ Send a ^S (ASCII XOFF) to the current window. *Note XON/XOFF::.
+
+`C-a t'
+`C-a C-t'
+ (time)
+ Show the load average and xref. *Note Time::.
+
+`C-a v'
+ (version)
+ Display the version and compilation date. *Note Version::.
+
+`C-a C-v'
+ (digraph)
+ Enter digraph. *Note Digraph::.
+
+`C-a w'
+`C-a C-w'
+ (windows)
+ Show a list of active windows. *Note Windows::.
+
+`C-a W'
+ (width)
+ Toggle between 80 and 132 columns. *Note Window Size::.
+
+`C-a x'
+`C-a C-x'
+ (lockscreen)
+ Lock your terminal. *Note Lock::.
+
+`C-a z'
+`C-a C-z'
+ (suspend)
+ Suspend `screen'. *Note Suspend::.
+
+`C-a Z'
+ (reset)
+ Reset the virtual terminal to its "power-on" values. *Note
+ Reset::.
+
+`C-a .'
+ (dumptermcap)
+ Write out a `.termcap' file. *Note Dump Termcap::.
+
+`C-a ?'
+ (help)
+ Show key bindings. *Note Help::.
+
+`C-a C-\'
+ (quit)
+ Kill all windows and terminate `screen'. *Note Quit::.
+
+`C-a :'
+ (colon)
+ Enter a command line. *Note Colon::.
+
+`C-a ['
+`C-a C-['
+`C-a ESC'
+ (copy)
+ Enter copy/scrollback mode. *Note Copy::.
+
+`C-a ]'
+`C-a C-]'
+ (paste .)
+ Write the contents of the paste buffer to the stdin queue of the
+ current window. *Note Paste::.
+
+`C-a {'
+ (history)
+ Copy and paste a previous (command) line. *Note History::.
+
+`C-a >'
+ (writebuf)
+ Write the paste buffer out to the screen-exchange file. *Note
+ Screen-Exchange::.
+
+`C-a <'
+ (readbuf)
+ Read the screen-exchange file into the paste buffer. *Note
+ Screen-Exchange::.
+
+`C-a ='
+ (removebuf)
+ Delete the screen-exchange file. *Note Screen-Exchange::.
+
+`C-a _'
+ (silence)
+ Start/stop monitoring the current window for inactivity. *Note
+ Silence::,
+
+`C-a ,'
+ (license)
+ Show the copyright page.
+
+
+File: screen.info, Node: Command Summary, Prev: Default Key Bindings, Up: Commands
+
+Command Summary
+===============
+
+`acladd USERNAMES'
+ Allow other users in this session. *Note Multiuser Session::.
+
+`aclchg USERNAMES PERMBITS LIST'
+ Change a user's permissions. *Note Multiuser Session::.
+
+`acldel USERNAME'
+ Disallow other user in this session. *Note Multiuser Session::.
+
+`activity MESSAGE'
+ Set the activity notification message. *Note Monitor::.
+
+`allpartial STATE'
+ Set all windows to partial refresh. *Note Redisplay::.
+
+`at [IDENT][`#'|`*'|`%'] COMMAND [ARGS]'
+ Execute a command at other displays or windows. *Note At::.
+
+`autodetach STATE'
+ Automatically detach the session on SIGHUP. *Note Detach::.
+
+`autonuke STATE'
+ Enable a clear screen to discard unwritten output. *Note
+ Autonuke::.
+
+`bell_msg MESSAGE'
+ Set the bell notification message. *Note Bell::.
+
+`bind KEY [COMMAND [ARGS]]'
+ Bind a command to a key. *Note Bind::.
+
+`bindkey [OPTS] [STRING [CMD ARGS]]'
+ Bind a string to a series of keystrokes. *Note Bindkey::.
+
+`break [DURATION]'
+ Send a break signal to the current window. *Note Break::.
+
+`bufferfile [EXCHANGE-FILE]'
+ Select a file for screen-exchange. *Note Screen-Exchange::.
+
+`c1 [STATE]'
+ Change c1 code processing. *Note Character Processing::.
+
+`charset SET'
+ Change character set slot designation. *Note Character
+ Processing::.
+
+`chdir [DIRECTORY]'
+ Change the current directory for future windows. *Note Chdir::.
+
+`clear'
+ Clear the window screen. *Note Clear::.
+
+`colon'
+ Enter a `screen' command. *Note Colon::.
+
+`command'
+ Simulate the screen escape key. *Note Command Character::.
+
+`console [STATE]'
+ Grab or ungrab console output. *Note Console::.
+
+`copy'
+ Enter copy mode. *Note Copy::.
+
+`copy_reg [KEY]'
+ Removed. Use `paste' instead. *Note Registers::.
+
+`crlf STATE'
+ Select line break behavior for copying. *Note Line Termination::.
+
+`debug STATE'
+ Suppress/allow debugging output. *Note Debug::.
+
+`defautonuke STATE'
+ Select default autonuke behavior. *Note Autonuke::.
+
+`defc1 STATE'
+ Select default c1 processing behavior. *Note Character
+ Processing::.
+
+`defcharset [SET]'
+ Change defaul character set slot designation. *Note Character
+ Processing::.
+
+`defescape XY'
+ Set the default command and `meta' characters. *Note Command
+ Character::.
+
+`defflow FSTATE'
+ Select default flow control behavior. *Note Flow::.
+
+`defgr STATE'
+ Select default GR processing behavior. *Note Character
+ Processing::.
+
+`defhstatus [STATUS]'
+ Select default window hardstatus line. *Note Hardstatus::.
+
+`defkanji WTYPE'
+ Select default GR processing behavior. *Note Character
+ Processing::.
+
+`deflogin STATE'
+ Select default utmp logging behavior. *Note Login::.
+
+`defmode MODE'
+ Select default file mode for ptys. *Note Mode::.
+
+`defmonitor STATE'
+ Select default activity monitoring behavior. *Note Monitor::.
+
+`defobuflimit LIMIT'
+ Select default output buffer limit. *Note Obuflimit::.
+
+`defscrollback NUM'
+ Set default lines of scrollback. *Note Scrollback::.
+
+`defwrap STATE'
+ Set default line-wrapping behavior. *Note Wrap::.
+
+`defwritelock ON|OFF|AUTO'
+ Set default writelock behavior. *Note Multiuser::.
+
+`defzombie [KEYS]'
+ Keep dead windows. *Note Zombie::.
+
+`detach'
+ Disconnect `screen' from the terminal. *Note Detach::.
+
+`digraph'
+ Enter digraph sequence. *Note Digraph::.
+
+`dumptermcap'
+ Write the window's termcap entry to a file. *Note Dump Termcap::.
+
+`echo [-n] MESSAGE'
+ Display a message on startup. *Note Startup::.
+
+`escape XY'
+ Set the command and `meta' characters. *Note Command Character::.
+
+`exec [[FDPAT] COMMAND [ARGS ...]]'
+ Run a subprocess (filter). *Note Exec::.
+
+`flow [FSTATE]'
+ Set flow control behavior. *Note Flow::.
+
+`gr [STATE]'
+ Change GR charset processing. *Note Character Processing::.
+
+`hardcopy'
+ Write out the contents of the current window. *Note Hardcopy::.
+
+`hardcopy_append STATE'
+ Append to hardcopy files. *Note Hardcopy::.
+
+`hardcopydir DIRECTORY'
+ Place, where to dump hardcopy files. *Note Hardcopy::.
+
+`hardstatus [STATE]'
+ Use the hardware status line. *Note Hardware Status Line::.
+
+`height [LINES]'
+ Set display height. *Note Window Size::.
+
+`help'
+ Display current key bindings. *Note Help::.
+
+`history'
+ Find previous command beginning .... *Note History::.
+
+`info'
+ Display terminal settings. *Note Info::.
+
+`ins_reg [KEY]'
+ Removed, use `paste' instead. *Note Registers::.
+
+`kanji WTYPE [DTYPE]'
+ Set the kanji type of a window. *Note Character Processing::.
+
+`kill'
+ Destroy the current window. *Note Kill::.
+
+`lastmsg'
+ Redisplay the last message. *Note Last Message::.
+
+`license'
+ Display licensing information. *Note Startup::.
+
+`lockscreen'
+ Lock the controlling terminal. *Note Lock::.
+
+`log [STATE]'
+ Log all output in the current window. *Note Log::.
+
+`logfile FILENAME'
+ Place where to collect logfiles. *Note Log::.
+
+`login [STATE]'
+ Log the window in `/etc/utmp'. *Note Login::.
+
+`mapdefault'
+ Use only the default mapping table for the next keystroke. *Note
+ Bindkey Control::.
+
+`mapnotnext'
+ Don't try to do keymapping on the next keystroke. *Note Bindkey
+ Control::.
+
+`maptimeout TIMO'
+ Set the intercharacter timeout used for keymapping. *Note Bindkey
+ Control::.
+
+`markkeys STRING'
+ Rebind keys in copy mode. *Note Copy Mode Keys::.
+
+`meta'
+ Insert the command character. *Note Command Character::.
+
+`monitor [STATE]'
+ Monitor activity in window. *Note Monitor::.
+
+`msgminwait SEC'
+ Set minimum message wait. *Note Message Wait::.
+
+`msgwait SEC'
+ Set default message wait. *Note Message Wait::.
+
+`multiuser STATE'
+ Go into single or multi user mode. *Note Multiuser Session::.
+
+`nethack STATE'
+ Use `nethack'-like error messages. *Note Nethack::.
+
+`next'
+ Switch to the next window. *Note Selecting::.
+
+`number [N]'
+ Change/display the current window's number. *Note Number::.
+
+`obuflimit [LIMIT]'
+ Select output buffer limit. *Note Obuflimit::.
+
+`other'
+ Switch to the window you were in last. *Note Selecting::.
+
+`partial STATE'
+ Set window to partial refresh. *Note Redisplay::.
+
+`password [CRYPTED_PW]'
+ Set reattach password. *Note Detach::.
+
+`paste [SRC_REGS [DEST_REG]]'
+ Paste contents of paste buffer or registers somewhere. *Note
+ Paste::.
+
+`pastefont [STATE]'
+ Include font information in the paste buffer. *Note Paste::.
+
+`pow_break'
+ Close and Reopen the window's terminal. *Note Break::.
+
+`pow_detach'
+ Detach and hang up. *Note Power Detach::.
+
+`pow_detach_msg [MESSAGE]'
+ Set message displayed on `pow_detach'. *Note Power Detach::.
+
+`prev'
+ Switch to the previous window. *Note Selecting::.
+
+`printcmd [CMD]'
+ Set a command for VT100 printer port emulation. *Note Printcmd::.
+
+`process [KEY]'
+ Treat a register as input to `screen'. *Note Registers::.
+
+`quit'
+ Kill all windows and exit. *Note Quit::.
+
+`readbuf'
+ Read the paste buffer from the screen-exchange file. *Note
+ Screen-Exchange::.
+
+`readreg [REG [FILE]]'
+ Load a register from paste buffer or file. *Note Registers::.
+
+`redisplay'
+ Redisplay the current window. *Note Redisplay::.
+
+`register KEY STRING'
+ Store a string to a register. *Note Registers::.
+
+`removebuf'
+ Delete the screen-exchange file. *Note Screen-Exchange::.
+
+`reset'
+ Reset the terminal settings for the window. *Note Reset::.
+
+`screen [OPTS] [N] [CMD [ARGS]]'
+ Create a new window. *Note Screen Command::.
+
+`scrollback NUM'
+ Set size of scrollback buffer. *Note Scrollback::.
+
+`select [N]'
+ Switch to a specified window. *Note Selecting::.
+
+`sessionname [NAME]'
+ Name this session. *Note Session Name::.
+
+`setenv [VAR [STRING]]'
+ Set an environment variable for new windows. *Note Setenv::.
+
+`shell COMMAND'
+ Set the default program for new windows. *Note Shell::.
+
+`shelltitle TITLE'
+ Set the default name for new windows. *Note Shell::.
+
+`silence [STATE|SECONDS]'
+ Monitor a window for inactivity. *Note Silence::.
+
+`silencewait SECONDS'
+ Default timeout to trigger an inactivity notify. *Note Silence::.
+
+`sleep NUM'
+ Pause during startup. *Note Startup::.
+
+`slowpaste MSEC'
+ Slow down pasting in windows. *Note Paste::.
+
+`sorendition [ATTR [COLOR]]'
+ Change text highlighting. *Note Sorendition::.
+
+`startup_message STATE'
+ Display copyright notice on startup. *Note Startup::.
+
+`stuff STRING'
+ Stuff a string in the input buffer of a window. *Note Paste::.
+
+`suspend'
+ Put session in background. *Note Suspend::.
+
+`term TERM'
+ Set `$TERM' for new windows. *Note Term::.
+
+`termcap TERM TERMINAL-TWEAKS [WINDOW-TWEAKS]'
+ Tweak termcap entries for best performance. *Note Termcap
+ Syntax::.
+
+`terminfo TERM TERMINAL-TWEAKS [WINDOW-TWEAKS]'
+ Ditto, for terminfo systems. *Note Termcap Syntax::.
+
+`termcapinfo TERM TERMINAL-TWEAKS [WINDOW-TWEAKS]'
+ Ditto, for both systems. *Note Termcap Syntax::.
+
+`time'
+ Display time and load average. *Note Time::.
+
+`title [WINDOWTITLE]'
+ Set the name of the current window. *Note Title Command::.
+
+`unsetenv VAR'
+ Unset environment variable for new windows. *Note Setenv::.
+
+`vbell [STATE]'
+ Use visual bell. *Note Bell::.
+
+`vbell_msg [MESSAGE]'
+ Set vbell message. *Note Bell::.
+
+`vbellwait SEC'
+ Set delay for vbell message. *Note Bell::.
+
+`version'
+ Display `screen' version. *Note Version::.
+
+`wall MESSAGE'
+ Write a message to all displays. *Note Multiuser Session::.
+
+`width [NUM]'
+ Set the width of the window. *Note Window Size::.
+
+`windows'
+ List active windows. *Note Windows::.
+
+`wrap [STATE]'
+ Control line-wrap behavior. *Note Wrap::.
+
+`writebuf'
+ Write paste buffer to screen-exchange file. *Note
+ Screen-Exchange::.
+
+`writelock ON|OFF|AUTO'
+ Grant exclusive write permission. *Note Multiuser Session::.
+
+`xoff'
+ Send an XOFF character. *Note XON/XOFF::.
+
+`xon'
+ Send an XON character. *Note XON/XOFF::.
+
+`zombie [KEYS]'
+ Keep dead windows. *Note Zombie::.
+
+
+File: screen.info, Node: New Window, Next: Selecting, Prev: Commands, Up: Top
+
+New Window
+**********
+
+ This section describes the commands for creating a new window for
+running programs. When a new window is created, the first available
+number from the range 0...9 is assigned to it. There can be no more
+than 10 windows active at any one time unless `screen' was compiled
+with a higher MAXWIN setting.
+
+* Menu:
+
+* Chdir:: Change the working directory for new windows.
+* Screen Command:: Create a new window.
+* Setenv:: Set environment variables for new windows.
+* Shell:: Parameters for shell windows.
+* Term:: Set the terminal type for new windows.
+
+
+File: screen.info, Node: Chdir, Next: Screen Command, Up: New Window
+
+Chdir
+=====
+
+ - Command: chdir [DIRECTORY]
+ (none)
+ 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' command from within `.screenrc'
+ or by means of `C-a : screen ...' or `C-a c' use this as their
+ default directory. Without a `chdir' command, this would be the
+ directory from which `screen' was invoked. Hardcopy and log files
+ are always written to the *window's* default directory, *not* the
+ current directory of the process running in the window. You can
+ use this command multiple times in your `.screenrc' to start
+ various windows in different default directories, but the last
+ `chdir' value will affect all the windows you create interactively.
+
+
+File: screen.info, Node: Screen Command, Next: Setenv, Prev: Chdir, Up: New Window
+
+Screen Command
+==============
+
+ - Command: screen [OPTS] [N] [CMD [ARGS]]
+ (`C-a c', `C-a C-c')
+ Establish a new window. The flow-control options (`-f', `-fn' and
+ `-fa'), title option (`-t'), login options (`-l' and `-ln') ,
+ terminal type option (`-T TERM') and scrollback option (`-h NUM')
+ may be specified for each command. 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.
+
+ If a tty (character special device) name (e.g. `/dev/ttyS0') is
+ specified as cmd, then the window is directly connected to this
+ device. This is similar to the cmd `kermit -l /dev/ttyS0 -c' but
+ saves resources and is more efficient.
+
+ Thus, if your `.screenrc' contains the lines
+
+ # example for .screenrc:
+ screen 1
+ screen -fn -t foobar 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). If you do not include any `screen'
+commands in your `.screenrc' file, then `screen' defaults to creating a
+single shell window, number zero. When the initialization is
+completed, `screen' switches to the last window specified in your
+.screenrc file or, if none, it opens default window #0.
+
+
+File: screen.info, Node: Setenv, Next: Shell, Prev: Screen Command, Up: New Window
+
+Setenv
+======
+
+ - Command: setenv VAR STRING
+ (none)
+ 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.
+
+ - Command: unsetenv VAR
+ (none)
+ Unset an environment variable.
+
+
+File: screen.info, Node: Shell, Next: Term, Prev: Setenv, Up: New Window
+
+Shell
+=====
+
+ - Command: shell COMMAND
+ (none)
+ 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.
+
+ - Command: shelltitle TITLE
+ (none)
+ Set the title for all shells created during startup or by the C-a
+ C-c command. *Note Naming Windows::, for details about what
+ titles are.
+
+
+File: screen.info, Node: Term, Prev: Shell, Up: New Window
+
+Term
+====
+
+ - Command: term TERM
+ (none)
+ In each window `screen' opens, it sets the `$TERM' variable to
+ `screen' by default, unless no description for `screen' is
+ installed in the local termcap or terminfo data base. In that
+ case it pretends that the terminal emulator is `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' command. Use the
+ command `screen -T vt100 rlogin othermachine' rather than setting
+ and resetting the default.
+
+
+File: screen.info, Node: Selecting, Next: Session Management, Prev: New Window, Up: Top
+
+Selecting a Window
+******************
+
+ This section describes the commands for switching between windows in
+an `screen' session. The windows are numbered from 0 to 9, and are
+created in that order by default (*note New Window::.).
+
+* Menu:
+
+* Next and Previous:: Forward or back one window.
+* Other Window:: Switch back and forth between two windows.
+* Select:: Specify a particular window.
+
+
+File: screen.info, Node: Next and Previous, Next: Other Window, Up: Selecting
+
+Moving Back and Forth
+=====================
+
+ - Command: next
+ (`C-a SPC', `C-a n', `C-a C-n')
+ Switch to the next window. This command can be used repeatedly to
+ cycle through the list of windows. (On some terminals, C-SPC
+ generates a NUL character, so you must release the control key
+ before pressing space.)
+
+ - Command: prev
+ (`C-a p', `C-a C-p')
+ Switch to the previous window (the opposite of `C-a n').
+
+
+File: screen.info, Node: Other Window, Next: Select, Prev: Next and Previous, Up: Selecting
+
+Other Window
+============
+
+ - Command: other
+ (`C-a C-a')
+ Switch to the last window displayed. Note that this command
+ defaults to the command character typed twice, unless overridden.
+ For instance, if you use the option `-e]x', this command becomes
+ `]]' (*note Command Character::.).
+
+
+File: screen.info, Node: Select, Prev: Other Window, Up: Selecting
+
+Select
+======
+
+ - Command: select [N]
+ (`C-a N', `C-a '', `C-a "')
+ Switch to the window with the number N. If no window number is
+ specified, you get prompted for an identifier. This can be a
+ window name (title) or a number. When a new window is
+ established, the lowest available number is assigned to this
+ window. Thus, the first window can be activated by `select 0';
+ there can be no more than 10 windows present simultaneously
+ (unless screen is compiled with a higher MAXWIN setting).
+
+
+File: screen.info, Node: Session Management, Next: Window Settings, Prev: Selecting, Up: Top
+
+Session Management Commands
+***************************
+
+ Perhaps the most useful feature of `screen' is the way it allows the
+user to move a session between terminals, by detaching and reattaching.
+This also makes life easier for modem users who have to deal with
+unexpected loss of carrier.
+
+* Menu:
+
+* Detach:: Disconnect `screen' from your terminal.
+* Power Detach:: Detach and log out.
+* Lock:: Lock your terminal temporarily.
+* Multiuser Session:: Changing number of allowed users.
+* Session Name:: Rename your session for later reattachment.
+* Suspend:: Suspend your session.
+* Quit:: Terminate your session.
+
+
+File: screen.info, Node: Detach, Next: Power Detach, Up: Session Management
+
+Detach
+======
+
+ - Command: autodetach STATE
+ (none)
+ 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.
+
+ - Command: detach
+ (`C-a d', `C-a C-d')
+ Detach the `screen' session (disconnect it from the terminal and
+ put it into the background). A detached `screen' can be resumed by
+ invoking `screen' with the `-r' option. (*note Invoking Screen::.)
+
+ - Command: password [CRYPTED_PW]
+ (none)
+ Present a crypted password in your `.screenrc' file and screen will
+ ask for it, whenever someone attempts to resume a detached
+ session. This is useful, if you have privileged programs running
+ under `screen' and you want to protect your session from reattach
+ attempts by users that managed to assume your uid. (I.e. any
+ superuser.) If no crypted password is specified, screen prompts
+ twice a password and places its encryption in the paste buffer.
+ Default is `none', which disables password checking.
+
+
+File: screen.info, Node: Power Detach, Next: Lock, Prev: Detach, Up: Session Management
+
+Power Detach
+============
+
+ - Command: pow_detach
+ (`C-a D')
+ Mainly the same as `detach', but also sends a HANGUP signal to the
+ parent process of `screen'.
+ *Caution*: This will result in a logout if `screen' was started
+ from your login shell.
+
+ - Command: pow_detach_msg [MESSAGE]
+ (none)
+ The MESSAGE specified here is output whenever a power detach is
+ performed. It may be used as a replacement for a logout message or
+ to reset baud rate, etc. Without parameter, the current message
+ is shown.
+
+
+File: screen.info, Node: Lock, Next: Multiuser Session, Prev: Power Detach, Up: Session Management
+
+Lock
+====
+
+ - Command: lockscreen
+ (`C-a x', `C-a C-x')
+ 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 environment
+ 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 have no password
+ set on `screen', the lock is void: One could easily re-attach from
+ an unlocked shell. This feature should rather be called
+ `lockterminal'.
+
+
+File: screen.info, Node: Multiuser Session, Next: Session Name, Prev: Lock, Up: Session Management
+
+Multiuser Session
+=================
+
+ These commands allow other users to gain access to one single
+`screen' session. When attaching to a multiuser `screen' the
+sessionname is specified as `username/sessionname' to the `-S' command
+line option. `Screen' must be compiled with multiuser support to
+enable features described here.
+
+* Menu:
+
+* Multiuser:: Enable / Disable multiuser mode.
+* Acladd:: Enable a specific user.
+* Aclchg:: Change a users permissions.
+* Acldel:: Disable a specific user.
+* Wall:: Write a message to all users.
+* Writelock:: Grant exclusive window access.
+
+
+File: screen.info, Node: Multiuser, Next: Acladd, Up: Multiuser Session
+
+Multiuser
+---------
+
+ - Command: multiuser STATE
+ (none)
+ Switch between single-user and multi-user mode. Standard screen
+ operation is single-user. In multi-user mode the commands
+ `acladd', `aclchg' and `acldel' can be used to enable (and
+ disable) other users accessing this `screen'.
+
+
+File: screen.info, Node: Acladd, Next: Aclchg, Prev: Multiuser, Up: Multiuser Session
+
+Acladd
+------
+
+ - Command: acladd USERNAMES
+ (none)
+ Enable users to fully access this screen session. USERNAMES can be
+ one user or a comma seperated list of users. This command enables
+ to attach to the `screen' session and performs the equivalent of
+ `aclchg USERNAMES +rwx "#?"'. To add a user with restricted access,
+ use the `aclchg' command below. Multi-user mode only.
+
+
+File: screen.info, Node: Aclchg, Next: Acldel, Prev: Acladd, Up: Multiuser Session
+
+Aclchg
+------
+
+ - Command: aclchg USERNAMES PERMBITS LIST
+ (none)
+ Change permissions for a comma seperated list of users.
+ Permission bits are represented as `r', `w' and `x'. Prefixing
+ `+' grants the permission, `-' removes it. The third parameter is
+ a comma seperated list of commands 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 is 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
+ window. Other bits are currently ignored. To withdraw the
+ writelock from another user in e.g. window 2: `aclchg USERNAME
+ -w+w 2'. To allow readonly 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 permission for the acl
+ commands, `at' and others should also be removed or the user may
+ be able to regain write permission. Multi-user mode only.
+
+
+File: screen.info, Node: Acldel, Next: Wall, Prev: Aclchg, Up: Multiuser Session
+
+Acldel
+------
+
+ - Command: acldel USERNAME
+ (none)
+ Remove a user from screen's access control list. If currently
+ attached, all the user's displays are detached from the session.
+ He cannot attach again. Multi-user mode only.
+
+
+File: screen.info, Node: Wall, Next: Writelock, Prev: Acldel, Up: Multiuser Session
+
+Wall
+----
+
+ - Command: wall MESSAGE
+ (none)
+ Write a message to all displays. The message will appear in the
+ terminal's status line.
+
+
+File: screen.info, Node: Writelock, Prev: Wall, Up: Multiuser Session
+
+Writelock
+---------
+
+ - Command: writelock ON|OFF|AUTO
+ (none)
+ 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 permission to the user who
+ is the first to switch to the particular 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.
+
+ - Command: defwritelock ON|OFF|AUTO
+ (none)
+ Sets the default writelock behaviour for new windows. Initially
+ all windows will be created with automatic writelocks.
+
+
+File: screen.info, Node: Session Name, Next: Suspend, Prev: Multiuser Session, Up: Session Management
+
+Session Name
+============
+
+ - Command: sessionname [NAME]
+ (none)
+ 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 displayed.
+ *Caution*: The `$STY' environment variable still reflects the old
+ name. This may result in confusion. The default is constructed
+ from the tty and host names.
+
+
+File: screen.info, Node: Suspend, Next: Quit, Prev: Session Name, Up: Session Management
+
+Suspend
+=======
+
+ - Command: suspend
+ (`C-a z', `C-a C-z')
+ Suspend `screen'. The windows are in the detached state while
+ `screen' is suspended. This feature relies on the parent shell
+ being able to do job control.
+
+
+File: screen.info, Node: Quit, Prev: Suspend, Up: Session Management
+
+Quit
+====
+
+ - Command: quit
+ (`C-a C-\')
+ Kill all windows and terminate `screen'. Note that on VT100-style
+ terminals the keys `C-4' and `C-\' are identical. So 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 (*note
+ Key Binding::.).
+
+
+File: screen.info, Node: Window Settings, Next: Virtual Terminal, Prev: Session Management, Up: Top
+
+Window Settings
+***************
+
+ These commands control the way `screen' treats individual windows in
+a session. *Note Virtual Terminal::, for commands to control the
+terminal emulation itself.
+
+* Menu:
+
+* Naming Windows:: Control the name of the window
+* Console:: See the host's console messages
+* Kill:: Destroy an unwanted window
+* Login:: Control `/etc/utmp' logging
+* Mode:: Control the file mode of the pty
+* Monitor:: Watch for activity in a window
+* Windows:: List the active windows
+* Hardstatus:: Set a window's hardstatus line
+