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"
# ------------------------------------------------------------------------------
# STARTUP SCREENS
# ------------------------------------------------------------------------------
# Screen_name Screen # Startup command
screen -t IRC 0 irssi
screen -t bash 1
startup_message off
![[1+1=2]](http://www.oneandoneis2.org/Pix/1+1=2.png)