screen command
The screen command launches a terminal in the background which can be detached from and then reconnected to. This is especially useful when you log in to the system remotely. You can start a screen, kick off a command, detach from the screen, and log out. You can then log in later and reattach to the screen and see the program running.
Below are the options available with the screen command :
# screen --help Use: screen [-opts] [cmd [args]] or: screen -r [host.tty] Options: -4 Use IPv4. -6 Use IPv6. -a Force all capabilities into each window's termcap. -A -[r|R] Adapt all windows to the new display width & height. -c file Read configuration file instead of '.screenrc'. -d (-r) Detach the elsewhere running screen (and reattach here). -dmS name Start as daemon: Screen session in detached mode. -D (-r) Detach and logout remote (and reattach here). -D -RR Do whatever is needed to get a screen session. -e xy Change command characters. -f Flow control on, -fn = off, -fa = auto. -h lines Set the size of the scrollback history buffer. -i Interrupt output sooner when flow control is on. -l Login mode on (update /var/run/utmp), -ln = off. -list or -ls. Do nothing, just list our SockDir. -L Turn on output logging. -m ignore $STY variable, do create a new screen session. -O Choose optimal output rather than exact vt100 emulation. -p window Preselect the named window if it exists. -q Quiet startup. Exits with non-zero return code if unsuccessful. -r Reattach to a detached screen process. -R Reattach if possible, otherwise start a new session. -s shell Shell to execute rather than $SHELL. -S sockname Name this session [pid].sockname instead of [pid].[tty].[host]. -t title Set title. (window's name). -T term Use term as $TERM for windows, rather than "screen". -U Tell screen to use UTF-8 encoding. -v Print "Screen version 4.00.03 (FAU) 23-Oct-06". -wipe Do nothing, just clean up SockDir. -x Attach to a not detached screen. (Multi display mode). -X Execute [cmd] as a screen command in the specified session.
Starting a screen session
To start a screen session type the command:
# screen
You can run any application normally once you run the screen command. When you run the screen a command a terminal is launched in background.
Detach from the screen
To detach from the screen press the following keys in sequence. You will get a message as “[detached]” when the session is detached. The background terminal gets detached with this.
Ctrl+a+d [detached]
You can also user the -d option if yiu want to detach the screen from another terminal. here you need to specify the screen ID which can be obtained from screen -ls command.
# screen -d [screen id]
For example :
# screen -ls There are screens on: 25168.pts-0.node01 (Attached) 1 Socket in /var/run/screen/S-root.
# screen -d 25168.pts-0.node01 [25168.pts-0.node01 detached.]
Reattach to the screen
To reattach to the screen type the command:
# screen -r
List the screens running
To list the screens with their status (attached/detached) us the -list of -ls option.
# screen -ls There are screens on: 25045.pts-0.node01 (Detached) 25168.pts-0.node02 (Detached) 2 Sockets in /var/run/screen/S-root.