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