A screen manager with VT100/ANSI terminal emulation.
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 mechanism that allows moving text regions between windows.
File | Description |
---|---|
$SYSSCREENRC | System-wide screen configuration for all users on the system. |
/etc/screenrc | System-wide screen configuration for all users on the system. |
$SCREENRC | User-specific screen configuration. |
$HOME/.screenrc | User-specific screen configuration. |
Each configuration location from top to bottom can override configuration options set in the previous one.
Manual pages:
user@host:~$ man screen
To install screen on Debian:
root@host:~$ apt-get update root@host:~$ apt-get -y install screen
General configuration:
autodetach on # Detach upon hangup, keep programs in screen(s) # running: Default: on bell_msg 'Update in window %n' # Message shown for a bell in a non-active window # Always show a caption. Default: splitonly # Format: # - The background color is black. # - On the left side, show the hostname enclosed in "[" and "]" in a # green color. # - On the right side, show the date in a blue color and the time in # a white color together enclosed in "[" and "]". # - In the middle show the window list. The active window name in a # white color and enclosed in red "(" and ")". The inactive window # names in a gray color. caption always '%{= kG}[%{G}%H%{g}][%=%{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%=%{g}][%{B}%Y/%m/%d %{W}%c:%s%{g}]' defmonitor off # Do not display activity notification messages # for windows which are in the background. defscrollback 50000 # Keep scrollback buffer of n lines. Default: 100 defutf8 on # Set the default character encoding to UFT8 hardcopydir $HOME # Write hardcopys to the users $HOME. Default: # current working directory msgwait 5 # Duration a message is displayed. Default: 5 shelltitle 'bash' # Name of the title for newly created windows startup_message off # Do not show the screens startup message vbell off # Disable the visual bell
Key bindings:
Reload the screen configuration file of the current user with Ctrl+A Shift+R:
bind R eval "source $HOME/.screenrc" "echo '.screenrc reloaded!'"
To start a new screen session:
user@host:~$ screen
Detach a screen session already running:
user@host:~$ screen -d [pid.tty.host]
Reattach to a already running screen session:
user@host:~$ screen -d -r [pid.tty.host]
To check the status of all currently running screen sessions:
user@host:~$ screen -list user@host:~$ screen -ls There is a screen on: 6156.pts-0.hostname (08/04/2017 06:43:08 AM) (Detached) 1 Socket in /var/run/screen/S-root.