GNU screen

Screen is a wonderful application that allows you to have multiple commands shells in a single window; and to have it be persistent outside of your logged-in status; and to share those shells with other users.

I use it so extensively, both locally on my own PC and remotely on other servers that I'd go so far as to say I almost never do any work in a non-screen session. It's that useful.

To increase my ability to keep screened sessions straight, I use the config below.

# define a bigger scrollback, default is 100 lines
defscrollback 2048

# turn sending of screen messages to hardstatus off
hardstatus off

# An alternative hardstatus to display a bar at the bottom listing the
# windownames and highlighting the current windowname in blue. (This is only
# enabled if there is no hardstatus setting for your terminal)
hardstatus lastline "%?%F%{.R.}%?%3n %t%? [%h]%?"

caption always
caption string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %u"

# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
#         Screen_name   Screen #        Startup command
screen -t IRC           0               irssi
screen -t bash          1

startup_message off