Screen
screen is a screen manager with VT100/ANSI terminal emulation.
Basics
- Start a screen session (creates a single window with a shell in it):
screen
- Invoke a screen command (consists of a "Ctrl + a" followed by one other character):
C-a <command_char>
Basics screen manipulation commands are :
C-a C-c : Create a new window with a shell and switch to that window. C-a " : Present a list of all windows for selection. C-a A : Allow the user to enter a name for the current window. C-a C-k : Kill current window
Further options are available in the man pages.
- Detach from this screen terminal (program continues to run when its associated screen session is detached):
C-a d : Detach screen from this terminal.
- Reattach a session (brings foreground a previously detached session):
screen -r
- Invoke a screen customization command (used to set options):
C-a : <customization_command>
Multiuser mode
With multiuser mode, screen reveal itself as a powerfull colaborative administration tool.
Requirements
screenbinary file must be setuid-root:
chmod u+s /usr/bin/screen
| Note | |
|---|---|
The setuid setting is not mandatory if once the screen session is created by the first user, the second user can become | |
screensocket directory must not be NFS mounted (your default must be changed if it is$HOME/.screen):
SCREENDIR=/tmp/screen-username1
| Note | |
|---|---|
There is nothing to configure on Debian systems, as the | |
Howto
- User, named
username1, initiates a basic screen session name test:
screen -S test
- Then, he enables multiuser mode for this session:
C-a : multiuser on
- After that, he allows the others, like
username2, to connect to his session:
C-a : acladd username2
- At last, allowed users, like
username2, can attach to the multiuser session initiated byusername1:
screen-rusername1/test
- To lists screen from others:
screen-lsusername1/
| Note | |
|---|---|
A | |