When working in an office environment, it's very easy to gather multiple administrators into one office and show them how a task is done. If, on the other hand, your administrators are spread out, these impromptu meetings are nearly impossible. GNU Screen (in multiuser mode) can solve all your problems.
When in multiuser mode, Screen allows multiple users to connect to the same terminal and interact with it as if it were there own. Screen supports a simple permission system, so it's possible to allow a user to connect and view a session without being able to interact with it. To use GNU Screen in multiuser mode, follow these steps.
screen
must be setuid root. In order for multiple users to share the same screen,screen
must be setuid root. You can do this withsudo chmod u+s /usr/bin/screen
.- Start
screen
. This is simple enough. You can start screen by just runningscreen
, or use-S
to provide a helpful session name. For example,screen -S "upgrade_session"
can be helpful when determining which session to attach to. - Enable multiuser mode. To enable multiuser mode, do the following inside the Screen session:
Ctl-a :multiuser on
. All Screen commands are preceded byCtl-A
('Control' and 'a' at the same time). - Allow other users to connect. Although the session is now running in multiuser mode, no one but the owner (you) has permission to connect to it. Each additional user must be added explicitly with
Ctl-a :acladd username
whereusername
is the login name of the user you want to grant access to. - (Optional) Restrict users to read-only access. It's possible that you want the additional users to be able to watch the session without being able to execute commands. In this case, you can change the user permissions with
Ctl-a :aclchg username -w "#"
. If you replaceusername
with a single*
all users are affected.
Your remote users can now attach to your session by using screen -x username/
where username
is your username. If you set a session name, they'll need to use screen -x username/session_name
.