Screen

Screen is a UNIX tool that allows you to create multiple 'virtual' terminals from one terminal login, thus affording you most of the benefits of a modern windowing system (without the graphics obviously) on a simple dumb terminal. It is also very useful when logging into UNIX machine across a network using telnet or rlogin.

From the screen man page:

Screen is a full-screen window manager that multiplexes a physical terminal between several processes (typically interactive shells). Each virtual terminal provides the functions of a DEC VT100 terminal and, in addition, several control functions from the ANSI X3.64 (ISO 6429) and ISO 2022 standards (e.g. insert/delete line and support for multiple character sets). There is a scrollback history buffer for each virtual terminal and a copy-and-paste mechanism that allows moving text regions between windows.

When screen is called, it creates a single window with a shell in it (or the specified command) and then gets out of your way so that you can use the program as you normally would. Then, at any time, you can create new (full-screen) windows with other programs in them (including more shells), kill existing windows, view a list of windows, turn output logging on and off, copy-and-paste text between windows, view the scrollback history, switch between windows in whatever manner you wish, etc. When a program terminates, screen (per default) kills the window that contained it. If this window was in the foreground, the display switches to the previous window; if none are left, screen exits.

Everything you type is sent to the program running in the current window. The only exception to this is the one keystroke that is used to initiate a command to the window manager. By default, each command begins with a control-a (abbreviated C-a from now on), and is followed by one other keystroke. The command character and all the key bindings can be fully customised to be anything you like, though they are always two characters in length.

Links

Unfortunately screen does not appear to have a project homepage. What is more, development of it seems to have stopped some time last year (1997). The URL for the main ftp repository is ftp://ftp.uni-erlangen.de although you should be able to find screen in any UNIX / Gnu repository.