Screen

From Grid5000
Revision as of 14:43, 31 March 2006 by Pneyron (talk | contribs) (→‎Howto)
Jump to navigation Jump to search

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>
  • Detach from this screen terminal (program continues to run when its associated screen session is detached):
C-a d
  • 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

  • screen binary file must be setuid-root:
chmod u+s /usr/bin/screen
  • screen socket directory must not be NFS mounted (your default must be changed if it is $HOME/.screen):
SCREENDIR=/tmp/screen-username1

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 by username1:
screen -r username1/test

Note

  • The setuid setting can be avoided if the screen -r username1/ is done by root (nothing to configure then on Debian systems, as the SCREENDIR is correctly set on this distro by default)
  • a $HOME/.screenrc file can be use the systematicaly setup the multiuser mode. A good one for instance:
caption always "%Y-%m-%d %0c%{=b kW}  %l  %{=r kd}%-Lw%{= bd}%50>%n%f* %t%?(%u)%?%{-}%+Lw%<%{- Wk}"
vbell on
autodetach on
startup_message off
multiuser on
acladd root