CLI sharing and session management in Linux with 'screen' - A Quick-Start Guide

Published:

Using 'screen' for session sharing, The Simple Edition

Step 1: user starts session with command: screen
Step 2: other user (logged in with same user account) connects with command: screen -x
Done. Both users are connected to the same CLI session, and can both see what's being typed, and can both type.

But it is not only good for session sharing with another person, the ability to have multiple windows in a single session, and being able to disconnect and re-connect (much like you can with RDP) among other things can be quite useful for any user:


A few more things we can do

There is a control character which is used to initiate all commands (everything that's not the control character is passed to the session). The default control character is Ctrl-A.

There is a site-wide /etc/screenrc file, and optionally a .screenrc file in a home directory, in which options like the control character can be set.

Some basic commands:

Ctrl-A C: create a new window
Ctrl-A N: switch to next window
Ctrl-A P: switch to previous window
Ctrl-A ”: show window list (from which you can switch to any window)
Ctrl-A [: Enter Copy-n-Paste/Scrollback mode (exit with Esc)
Ctrl-A D: detach from screen (which remains running). This is like disconnecting an RDP session.
Some command line options

List screen sessions: screen -ls
Reattach if possible, otherwise start new session: screen -R
Attach to specific session: screen -r <sessionname>
Detach already-attached clients and attach to the first session listed: screen -D -RR
Like explained above, to multi-attach (share a session), you can simply run ”screen -x” which will attach to an existing session without detaching existing users. The -x option can be combined with other options to enable multi-attach.


Exiting (or not)

If you lose your connection or close/kill your SSH session, screen will not exit but detach and remain running, so you can log back in and reattach to the same session.

If you exit a shell, that screen window will close (alternate: Ctrl-A K). If there are no more remaining windows, screen will exit.

--

Reference: http://www.commandlinefu.com/commands/view/2225/share-a-screen-session
Reference: http://www.linuxjournal.com/article/6340
3
3,698 Views

Comments (0)

Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.