Header Shadow Image


Screen for Unix and Linux: Howto and Reference Guide

This is a short Screen for Unix and Linux: HowTo and Reference for everyday use.  This quick screen tutorial and reference guide aims to provide the most commonly used features of this very useful utility.  When working with multiple ssh terminals it's handy to save a session especially where typing passwords is required often or you need to jump a number of places to reach your target host.  

This is where screen comes in handy.  Screen creates a terminal that's detached from your current session so the screen can be connected to or reconnected upon exit from screen.  To start a session in screen, enter the following:

Action Description
# screen -S [SESSION NAME] The Session Name you wish to assign.
CTRL + a + [0-9] Numbers 0 to 9 to switch internal sessions (omit the plus signs)
# screen -ls List sessions you've opened.
# screen -d -R [SESSION NAME] Resume earlier started session.
CTRL + a + d Disconnect from screen to reconnect later.
CTRL + a + [SPACE] Toggle through the sessions that have been opened.

CTRL + SHIFT + a + :

Then at the : prompt type the word password.  At the prompt enter the password you wish to use:

New screen password: <SECRET>

Then again a second time:

Retype new password:<SECRET>

 

Set a password for your session.
CTRL + a + c Create a new window within the same screen session so you can connect to another machine.
CTRL + SHIFT + a + :  (CTRL + SHIFT + a then SHIFT + : then at the : CLI type kill) Kill an internal screen hung session.

This is just a small everyday command type of reference to get you by.  Screen also comes with quite the set of features.  For a full list, see the man page for screen available on the command line by typing # man screen or by typing # screen –help.  To install screen the yum utility can be used to search for it on RHEL systems, for example then installed in this manner if not available:

# screen
-bash: screen: command not found
# yum search screen
screen.x86_64 : A screen manager that supports multiple logins on one terminal
# yum install screen

 Package                     Arch                        Version                              Repository               Size
============================================================================
Installing:
 screen                      x86_64                      4.0.3-16.el6                         sl                      493 k
# which screen
/usr/bin/screen

# 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.

 

 

Cheers,
TK

Leave a Reply

 


     
  Copyright © 2003 - 2013 Tom Kacperski (microdevsys.com). All rights reserved.

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License