Using 'screen' for session sharing, The Simple Edition

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.

Learn several ways to interact with files and get file information from the bash shell.
ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…