tmux is a terminal multiplexer. It allows you to access a tmux terminal using multiple virtual terminals.
tmux takes advantage of a client-server model, which allows you to attach terminals to a tmux session.
This means that you can run several terminals at once concurrently off of a single tmux session without spawning any new actual terminal sessions.
This also means that sudden disconnects from a cloud server running tmux will not kill the processes running inside the tmux session.
tmux also includes a window-pane mentality, which means you can run more than one terminal on a single screen.
$ sudo apt-get install tmux
#To begin a new tmux session:
#Here is a list of a few basic tmux commands:
# Ctrl+shift b(then release) " - split pane horizontally.
# Ctrl+shift b(then release) % - split pane vertically.
# Ctrl+shift b(then release) arrow key - switch pane.
# Ctrl+shift d(then release) - close current pane
# Hold Ctrl+b, don't release it and hold one of the arrow keys - resize pane.
# Ctrl+shift b(then release) c - (c)reate a new window.
# Ctrl+shift b(then release) n - move to the (n)ext window.
# Ctrl+shift b(then release) p - move to the (p)revious window.
# Ctrl+shift b(then release) z - return to previous window
Recommended .tmux.conf configuration
$ vi ~/.tmux.conf
# Enable mouse support
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
set-window-option -g mode-mouse on
# Highlighting Current Window Using Specified Colour
set-window-option -g window-status-current-bg yellow
# Activity Monitoring
setw -g monitor-activity on
set -g visual-activity on
Next re-target the tmux conf file
$ tmux source-file ~/.tmux.conf
$ tmux new -s myname #start new with session name myname
$ tmux ls
0: 1 windows (created Sun Jun 19 01:12:05 2016) [172x28] (attached)
myname: 1 windows (created Sun Jun 19 01:12:05 2016) [172x28] (attached)
$ tmux attach -t 0 #To re-attach to a session
$ tmux kill-session -t myname #To kill session