screen is a much under utilised program, which provides the following functionality:
  • Remote terminal session management (detaching or sharing terminal sessions)
  • unlimited windows (unlike the hardcoded number of Linux virtual consoles)
  • scrollback buffer (not limited to video memory like Linux virtual consoles)
  • copy/paste between windows
  • notification of either activity or inactivity in a window
  • split terminal (horizontally and vertically) into multiple regions
  • locking other users out of terminal
See also my screen settings
See also the tmux alternative
See also the byobu screen config manager. See also the reptyr as another way to reattach programs to a terminal. Note for nested screen sessions, use "Ctrl+a a" to send commands to the inner screen, and the standard "Ctrl+a" to send commands to the outer screen.
KeyActionNotes
Ctrl+a cnew window 
Ctrl+a nnext windowI bind F12 to this
Ctrl+a pprevious windowI bind F11 to this
Ctrl+a "select window from listI have window list in the status line
Ctrl+a Ctrl+aprevious window viewed 
   
Ctrl+a Ssplit terminal horizontally into regionsCtrl+a c to create new window there
Ctrl+a |split terminal vertically into regionsRequires screen >= 4.1
Ctrl+a :resizeresize region 
Ctrl+a :fitfit screen size to new terminal sizeCtrl+a F is the same. Do after resizing xterm
Ctrl+a :removeremove regionCtrl+a X is the same
Ctrl+a tabMove to next region 
   
Ctrl+a ddetach screen from terminalStart screen with -r option to reattach
Ctrl+a Aset window title 
Ctrl+a xlock sessionEnter user password to unlock
Ctrl+a [enter scrollback/copy modeEnter to start and end copy region. Ctrl+a ] to leave this mode
Ctrl+a ]paste bufferSupports pasting between windows
Ctrl+a >write paste buffer to fileuseful for copying between screens
Ctrl+a <read paste buffer from fileuseful for pasting between screens
   
Ctrl+a ?show key bindings/command namesNote unbound commands only in man page
Ctrl+a :goto screen command promptup shows last command entered
© May 25 2005