'screen' is a terminal multiplexer, which lets you run multiple virtual terminal screen-windows in a single window-manager-window (e.g. an X11 xterm or a Mac Terminal window). You can also put your screen session into multiple window-manager-windows, disconnect from them, and reconnect to them later, e.g. on a remote server you can run a screen session, disconnect, log out, log back in from somewhere else, and reconnect, with no disruption whatsoever to the terminals within your session.
.screenrc
Your .screenrc file configures how screen works. Settings that JBS likes:
escape ^\^\ hardstatus off hardstatus string '[BBN screen %n%? (%t%?)] %h' startup_message off term vt100 vbell off bind \\ bind ^h prev
The first in particular is very handy, substituting Ctrl-\ as the screen escape character, which is helpful if you like to use Emacs (or any other program that uses Ctrl-A to do something useful). Check the man page for more info about the others, or ask JBS.
Using screen as a serial terminal
Aside from the usual awesome things you can do with screen, you can also use it as a serial terminal, like 'tip' or 'cua'.
To start up a screen session that way, on Ubuntu, do
screen /dev/ttyS0
(or replace /dev/ttyS0 with whatever your serial terminal device is, if you're not running Ubuntu).
To open a new serial terminal window in an existing screen session, do
Ctrl-\ : screen /dev/ttyS0
(assuming you've set Ctrl-\ as your escape character; and that /dev/ttyS0 is your serial device).