Een (linux) server draait bij voorkeur zonder een grafische schil teneinde onnodige belasting van cpu en geheugen, en de beveiligings aspecten van een desktopmanager, te vermijden.
Zo start de server op met slechts een login prompt.

http://www.kalfcomputertechniek.nl/punbb/img/login.png
Na het inloggen wordt de gebruiker geconfronteerd met slechts 1 terminal scherm.
Multitasking is weliswaar mogelijk door commando's te vergezellen van een back- en foreground optie maar het overzicht van wat er gaande is raakt men snel kwijt.
Daar komt "TMmux" van pas.(TMux is niet beschikbaar in Debian server!)

In een TMux terminalscherm kan men oneindig terminal-schermen opstarten en deze ook nog eens horizontaal en vertikaal splitsen.
Het fysieke formaat van het beeldscherm is hierbij de enige beperking.

http://www.kalfcomputertechniek.nl/punbb/img/tmux256-pane.png

Installeer

sudo apt-get install tmux

Hieronder een ~/.tmux.conf

# Use SCREEN hotkeys:  wijziging van CTRL-b naar CTRL-a
unbind-key C-b
set-option -g prefix C-a
bind-key C-a last-window
bind-key k kill-pane
bind-key K kill-window

#Split Window
bind | split-window -h
bind _ split-window -v

# Reload Config File
bind-key r source-file ~/.tmux.conf

# Change Mouse Mode
bind-key F11 set-option mouse-select-pane on
bind-key F12 set-option mouse-select-pane off

# Window Title
set-option -g set-titles on
set-option -g set-titles-string '[#H #I:#W] #T'
set-window-option -g automatic-rename on

# Default Terminal Options
set-option -g default-terminal "screen-256color"
set-option -g history-limit 4096
set-option -g mouse-select-pane on

# Statusbar Options
set-option -g status-interval 60
set-option -g status-left-length 30

# Color Settings
if-shell 'test `tput colors` -eq 256' 'source-file ~/.tmux.conf-256color'
if-shell 'test `tput colors` -ne 256' 'source-file ~/.tmux.conf-color'

en een ~/.tmux.conf-256color bestand

# Color Settings
set -g status-fg white
set -g status-bg colour237

set -g status-left ' #[fg=colour190]#H#[default]'
set -g status-right '#[fg=colour214]#(cut -d " " -f 1-4 /proc/loadavg)#[default] #[fg=colour245]%Y-%m-%d %H:%M:%S#[default] '

# default window title colors
setw -g window-status-fg colour39
setw -g window-status-bg default

# active window title colors
setw -g window-status-current-fg colour87
setw -g window-status-current-bg default

# alerted window (display beep)
setw -g window-status-alert-fg colour196
setw -g window-status-alert-bg default

# command/message line colors
set -g message-fg colour253
set -g message-bg colour238

# pane colors
set -g pane-border-fg colour242
set -g pane-border-bg default
set -g pane-active-border-fg colour226
set -g pane-active-border-bg default

en een ~/.tmux.conf-color file

# Color Settings
set -g status-fg white
set -g status-bg black

set -g status-left ' #[fg=green,bold]#H#[default]'
set -g status-right '#[fg=yellow,bold]#(cut -d " " -f 1-4 /proc/loadavg)#[default] #[fg=blue,bold]%Y-%m-%d %H:%M:%S#[default]$

# default window title colors
setw -g window-status-fg cyan
setw -g window-status-bg default
setw -g window-status-attr dim

# active window title colors
setw -g window-status-current-fg cyan
setw -g window-status-current-bg default
setw -g window-status-current-attr bold

# command/message line colors
set -g message-fg white
set -g message-bg default
set -g message-attr dim

# pane colors
set -g pane-border-fg black
set -g pane-border-bg default
set -g pane-active-border-fg white
set -g pane-active-border-bg default

Controleer de kleurmogelijkheden van de terminal:

tput colors

Wanneer de output ongelijk is aan "256", voeg dan toe aan het .bashrc file

export TERM="xterm-256color"

Om in een terminal de mogelijkheid te hebben om GTK applicaties op te starten (GParted - Firefox - etc) start direct na de login, en dus vóór TMux, de X-server op via:

xinit

Eventueel eerst installeren met:

sudo apt-get install xinit

(xinit en startx zijn applicaties welke een X-server opstarten, en daarmee een basis X-sessie beschikbaar stellen)

Bijvoorbeeld GPartEd in TMux terminal:
http://www.kalfcomputertechniek.nl/media/ubuntu/tmux_gtk.png
NB. zolang er een GTK app actief is, kan er binnen TMux niet van scherm gewissield worden.

Meer info:

Alle opies uitgelegd (engels): http://pastebin.com/yXzFLSsV
Samenvatting meest gebruikte commando's:

# Wijzig de hotkeys van CTRL-b in CTRL-a (een-hand bediening)
unbind-key C-b
set-option -g prefix C-a

#Lees hieronder Ctrl-a voor Ctrl-b

Ctrl-b c Create new window
Ctrl-b d Detach current client
Ctrl-b l Move to previously selected window
Ctrl-b n Move to the next window
Ctrl-b p Move to the previous window
Ctrl-b & Kill the current window
Ctrl-b , Rename the current window
Ctrl-b % Split the current window into two panes
Ctrl-b q Show pane numbers (used to switch between panes)
Ctrl-b o Switch to the next pane
Ctrl-b ? List all keybindings

Ctrl-b n (Move to the next window)
Ctrl-b p (Move to the previous window)
Ctrl-b l (Move to the previously selected window)
Ctrl-b w (List all windows / window numbers)
Ctrl-b (Move to the specified window number, the default bindings are from 0 – 9)

Ctrl-b % (Split the window vertically)
Ctrl-b : “split-window” (Split window horizontally)
Ctrl-b : “break-pane” (Make pane its own window)
Ctrl-b o (Goto next pane)
Ctrl-b q (Show pane numbers, when the numbers show up type the key to goto that pane)
Ctrl-b { (Move the current pane left)
Ctrl-b } (Move the current pane right)

Ctrl-b : resize-pane (By default it resizes the current pane down)
Ctrl-b : resize-pane -U (Resizes the current pane upward)
Ctrl-b : resize-pane -L (Resizes the current pane left)
Ctrl-b : resize-pane -R (Resizes the current pane right)
Ctrl-b : resize-pane 20 (Resizes the current pane down by 20 cells)
Ctrl-b : resize-pane -U 20 (Resizes the current pane upward by 20 cells)
Ctrl-b : resize-pane -L 20 (Resizes the current pane left by 20 cells)
Ctrl-b : resize-pane -R 20 (Resizes the current pane right by 20 cells)
Ctrl-b : resize-pane -t 2 20 (Resizes the pane with the id of 2 down by 20 cells)
Ctrl-b : resize-pane -t -L 20 (Resizes the pane with the id of 2 left by 20 cells)

TMux configuratie opties:

    # General Notes--
    # colour refers to one of:
    # black, red, green, yellow, blue, magenta, cyan, white, colour0 to colour255
    # from the 256-colour palette, or default.
    #
    # attributes refers to one or a comma delimited list of:
    # bright (or bold), dim, underscore, blink, reverse, hidden, or italics.
     
     
    #Keybindings
     
     
    # Bind a key to a command. See the manpages for more details.
    #bind key command
     
    # Sends the prefix key to the window as if it were pressed. If multiple prefix
    # keys are configured, only the first one is sent. See the prefix option.
    #send-prefix key
     
    # Unbinds a command bound to a key. See the manpages for more details.
    #unbind key
     
     
    #Server Options
     
     
    # If on (the default), the client is detached when the session it is attached to
    # is destroyed. If off, the client is switched to the most recently active of
    # the remaining sessions.
    #set -s detach-on-destroy [on | off]
     
    # Set the time in milliseconds for which tmux waits after an escape is input to
    # determine if it is part of a function or meta key sequences. The default is
    # 500 milliseconds.
    #set -s escape-time time
     
    # Enable or disable the display of various informational messages (see also the
    # -q command line flag).
    #set -s quiet [on | off]
     
     
    #Session Options
     
     
    # Set the base index from which an unused index should be searched when a new
    # window is created. The default is zero.
    #set -g base-index index
     
    # Set action on window bell. any means a bell in any window linked to a session
    # causes a bell in the current window of that session, none means all bells are
    # ignored and current means only bell in windows other than the current window
    # are ignored.
    #set -g bell-action [any | none | current]
     
    # Set the number of buffers kept for each session; as new buffers are added to
    # the top of the stack, old ones are removed from the bottom if necessary to
    # maintain this maximum length.
    #set -g buffer-limit number
     
    # Set the command used for new windows (if not specified when the window is
    # created) to shell-command, which may be any sh(1) command. The default is an
    # empty string, which instructs tmux to create a login shell using the value of
    # the default-shell option.
    #set -g default-command shell-command
     
    # Specify the default shell. This is used as the login shell for new windows
    # when the default-command option is set to empty, and must be the full path of
    # the executable. When started tmux tries to set a default value from the first
    # suitable of the SHELL environment variable, the shell returned by getpwuid(3),
    # or /bin/sh. This option should be configured when tmux is used as a login
    # shell.
    #set -g default-shell path
     
    # Set the default working directory for processes created from keys, or
    # interactively from the prompt. The default is empty, which means to use the
    # working directory of the shell from which the server was started if it is
    # available or the user's home if not.
    #set -g default-path path
     
    # Set the default terminal for new windows created in this session - the default
    # value of the TERM environment variable. For tmux to work correctly, this must
    # be set to 'screen' or a derivative of it.
    #set -g default-terminal screen
     
    # Set the colour (see 'colour' under 'General Notes') used by the
    # display-panes command to show the indicator for the active pane.
    #set -g display-panes-active-colour colour
     
    # Set the colour used by the display-panes command to show the indicators for
    # inactive panes.
    #set -g display-panes-colour colour
     
    # Set the time in milliseconds for which the indicators shown by the
    # display-panes command appear.
    #set -g display-panes-time time
     
    # Set the amount of time for which status line messages and other on-screen
    # indicators are displayed. time is in milliseconds.
    #set -g display-time time
     
    # Set the maximum number of lines held in window history. This setting applies
    # only to new windows - existing window histories are not resized and retain the
    # limit at the point they were created.
    #set -g history-limit lines
     
    # Lock the session (like the lock-session command) after number seconds of
    # inactivity, or the entire server (all sessions) if the lock-server option is
    # set. The default is not to lock (set to 0).
    #set -g lock-after-time number
     
    # Command to run when locking each client. The default is to run lock(1) with
    # -np.
    #set -g lock-command shell-command
     
    # If this option is on (the default), instead of each session locking
    # individually as each has been idle for lock-after-time, the entire server will
    # lock after all sessions would have locked. This has no effect as a session
    # option; it must be set as a global option.
    #set -g lock-server [on | off]
     
    # Set status line message attributes (see 'attributes' under 'General Notes').
    #set -g message-attr attributes
     
    # Set status line message background colour.
    #set -g message-bg colour
     
    # Set status line message foreground colour.
    #set -g message-fg colour
     
    # Set the number of error or information messages to save in the message log for
    # each client. The default is 20.
    #set -g message-limit number
     
    # If on, tmux captures the mouse and when a window is split into multiple panes
    # the mouse may be used to select the current pane. The mouse click is also
    # passed through to the application as normal.
    #set -g mouse-select-pane [on | off]
     
    # Set the pane border colour for panes aside from the active pane.
    #set -g pane-border-fg colour
    # May not work or be unnecessary, see pane-border-bg
     
    # Set the pane border colour for panes aside from the active pane.
    #set -g pane-border-bg colour
     
    # Set the pane border colour for the currently active pane.
    #set -g pane-active-border-fg colour
    # May not work or be unnecessary, see pane-active-border-bg
     
    # Set the pane border colour for the currently active pane.
    #set -g pane-active-border-bg colour
     
    # Set the keys accepted as a prefix key. keys is a comma-separated list of key
    # names, each of which individually behave as the prefix key.
    #set -g prefix keys
     
    # Allow multiple commands to be entered without pressing the prefix-key again in
    # the specified time milliseconds (the default is 500). Whether a key repeats
    # may be set when it is bound using the -r flag to bind-key.  Repeat is enabled
    # for the default keys bound to the resize-pane command.
    #set -g repeat-time time
     
    # Set the remain-on-exit window option for any windows first created in this
    # session. When this option is true, windows in which the running program has
    # exited do not close, instead remaining open but inactivate. Use the
    # respawn-window command to reactivate such a window, or the kill-window command
    # to destroy it.
    #set -g set-remain-on-exit [on | off]
     
    # Attempt to set the window title using the \e]2;...\007 xterm code if the
    # terminal appears to be an xterm. This option is off by default. Note that
    # elinks will only attempt to set the window title if the STY environment
    # variable is set.
    #set -g set-titles [on | off]
     
    # String used to set the window title if set-titles is on. Character sequences
    # are replaced as for the status-left option.
    #set -g set-titles-string string
     
    # Show or hide the status line.
    #set -g status [on | off]
     
    # Set status line attributes.
    #set -g status-attr attributes
     
    # Set status line background colour.
    #set -g status-bg colour
     
    # Set status line foreground colour.
    #set -g status-fg colour
     
    # Update the status bar every interval seconds. By default, updates will occur
    # every 15 seconds. A setting of zero disables redrawing at interval.
    #set -g status-interval interval
     
    # Set the position of the window list component of the status line: left, centre
    # or right justified.
    #set -g status-justify [left | centre | right]
     
    # Use vi or emacs-style key bindings in the status line, for example at the
    # command prompt. Defaults to emacs.
    #set -g status-keys [vi | emacs]
     
    # Display string to the left of the status bar. string will be passed through
    # strftime(3) before being used. By default, the session name is shown. string
    # may contain any of the following special character sequences:
    #
    #     Character pair    Replaced with
    #     #(shell-command)  First line of the command's output
    #     #[attributes]     Colour or attribute change
    #     #H                Hostname of local host
    #     #F                Current window flag
    #     #I                Current window index
    #     #P                Current pane index
    #     #S                Session name
    #     #T                Current window title
    #     #W                Current window name
    #     ##                A literal '#'
    #
    # The #(shell-command) form executes 'shell-command' and inserts the first line
    # of its output. Note that shell commands are only executed once at the
    # interval specified by the status-interval option: if the status line is
    # redrawn in the meantime, the previous result is used. Shell commands are
    # executed with the tmux global environment set (see the ENVIRONMENT section).
    #
    # The window title (#T) is the title set by the program running within the
    # window using the OSC title setting sequence, for example:
    #
    #     $ printf '\033]2;My Title\033\\'
    #
    # When a window is first created, its title is the hostname.
    #
    # #[attributes] allows a comma-separated list of attributes to be specified,
    # these may be 'fg=colour' to set the foreground colour, 'bg=colour' to set the
    # background colour, the name of one of the attributes (see 'attributes' under
    # 'Session Options') to turn an attribute on, or an attribute prefixed with 'no'
    # to turn one off, for example nobright.
    # Examples are:
    #
    #     #(sysctl vm.loadavg)
    #     #[fg=yellow,bold]#(apm -l)%%#[default] [#S]
    #
    # Where appropriate, special character sequences may be prefixed with a number
    # to specify the maximum length, for example '#24T'.
    #
    # By default, UTF-8 in string is not interpreted, to enable UTF-8, use the
    # status-utf8 option.
    #set -g status-left string
     
    # Set the attribute of the left part of the status line.
    #set -g status-left-attr attributes
     
    # Set the foreground colour of the left part of the status line.
    #set -g status-left-fg colour
     
    # Set the background colour of the left part of the status line.
    #set -g status-left-bg colour
     
    # Set the maximum length of the left component of the status bar. The default
    # is 10.
    #set -g status-left-length length
     
    # Display string to the right of the status bar. By default, the current window
    # title in double quotes, the date and the time are shown. As with status-left,
    # string will be passed to strftime(3), character pairs are replaced, and UTF-8
    # is dependent on the status-utf8 option.
    #set -g status-right string
     
    # Set the attribute of the right part of the status line.
    #set -g status-right-attr attributes
     
    # Set the foreground colour of the right part of the status line.
    #set -g status-right-fg colour
     
    # Set the background colour of the right part of the status line.
    #set -g status-right-bg colour
     
    # Set the maximum length of the right component of the status bar. The default
    # is 40.
    #set -g status-right-length length
     
    # Instruct tmux to treat top-bit-set characters in the status-left and
    # status-right strings as UTF-8; notably, this is important for wide characters.
    # This option defaults to off.
    #set -g status-utf8 [on | off]
     
    # Contains a list of entries which override terminal descriptions read using
    # terminfo(5). string is a comma-separated list of items each a colon-separated
    # string made up of a terminal type pattern (matched using fnmatch(3)) and a
    # set of name=value entries.
    #
    # For example, to set the 'clear' terminfo(5) entry to '\e[H\e[2J' for all
    # terminal types and the 'dch1' entry to '\e[P' for the 'rxvt' terminal type,
    # the option could be set to the string:
    #
    #     "*:clear=\e[H\e[2J,rxvt:dch1=\e[P"
    #
    # The terminal entry value is passed through strunvis(3) before interpretation.
    # The default value forcibly corrects the 'colors' entry for terminals which
    # support 88 or 256 colours:
    #
    #     "*88col*:colors=88,*256col*:colors=256"
    #set -g terminal-overrides string
     
    # Set a space-separated string containing a list of environment variables to be
    # copied into the session environment when a new session is created or an
    # existing session is attached. Any variables that do not exist in the source
    # environment are set to be removed from the session environment (as if -r was
    # given to the set-environment command). The default is "DISPLAY WINDOWID
    # SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION".
    #set -g update-environment variables
     
    # If on, display a status line message when activity occurs in a window for
    # which the monitor-activity window option is enabled.
    #set -g visual-activity [on | off]
     
    # If this option is on, a message is shown on a bell instead of it being passed
    # through to the terminal (which normally makes a sound). Also see the
    # bell-action option.
    #set -g visual-bell [on | off]
     
    # Like visual-activity, display a message when content is present in a window
    # for which the monitor-content window option is enabled.
    #set -g visual-content [on | off]
     
     
    #Window Options
     
     
    # Aggressively resize the chosen window. This means that tmux will resize the
    # window to the size of the smallest session for which it is the current window,
    # rather than the smallest session to which it is attached. The window may
    # resize when the current window is changed on another sessions; this option is
    # good for full-screen programs which support SIGWINCH and poor for interactive
    # programs such as shells.
    #setw -g aggressive-resize [on | off]
     
    # This option configures whether programs running inside tmux may use the
    # terminal alternate screen feature, which allows the smcup and rmcup
    # terminfo(5) capabilities to be issued to preserve the existing window content
    # on start and restore it on exit.
    #setw -g alternate-screen [on | off]
     
    # Control automatic window renaming. When this setting is enabled, tmux will
    # attempt - on supported platforms - to rename the window to reflect the command
    # currently running in it. This flag is automatically disabled for an individual
    # window when a name is specified at creation with new-window or new-session, or
    # later with rename-window.
    #setw -g automatic-rename [on | off]
     
    # Set clock colour.
    #setw -g clock-mode-colour colour
     
    # Set clock hour format.
    #setw -g clock-mode-style [12 | 24]
     
    # Prevent tmux from resizing a window to greater than width or height. A value
    # of zero restores the default unlimited setting.
    #setw -g force-height height
    #setw -g force-width width
     
    # Set the width or height of the main (left or top) pane in the main-horizontal
    # or main-vertical layouts.
    #setw -g main-pane-width width
    #setw -g main-pane-height height
     
    # Set window modes attributes.
    #setw -g mode-attr attributes
     
    # Set window modes background colour.
    #setw -g mode-bg colour
     
    # Set window modes foreground colour.
    #setw -g mode-fg colour
     
    # Use vi or emacs-style key bindings in copy and choice modes.  Key bindings
    # default to emacs.
    #setw -g mode-keys [vi | emacs]
     
    # Mouse state in modes.  If on, the mouse may be used to copy a selection by
    # dragging in copy mode, or to select an option in choice mode.
    #setw -g mode-mouse [on | off]
     
    # Monitor for activity in the window.  Windows with activity are highlighted in
    # the status line.
    #setw -g monitor-activity [on | off]
     
    # Monitor content in the window.  When fnmatch(3) pattern match-string appears
    # in the window, it is highlighted in the status line.
    #setw -g monitor-content match-string
     
    # A window with this flag set is not destroyed when the program running in it
    # exits. The window may be reactivated with the respawn-window command.
    #setw -g remain-on-exit [on | off]
     
    # Duplicate input to any pane to all other panes in the same window (only for
    # panes that are not in any special mode).
    #setw -g synchronize-panes [on | off]
     
    # Instructs tmux to expect UTF-8 sequences to appear in this window.
    #setw -g utf8 [on | off]
     
    # Set status line attributes for a single window.
    #setw -g window-status-attr attributes
    # Don't think this will work from .tmux.conf, but haven't tried it.
     
    # Set status line background colour for a single window.
    #setw -g window-status-bg colour
    # Don't think this will work from .tmux.conf, but haven't tried it.
     
    # Set status line foreground colour for a single window.
    #setw -g window-status-fg colour
    # Don't think this will work from .tmux.conf, but haven't tried it.
     
    # Set the format in which the window is displayed in the status line window
    # list. See the status-left option for details of special character sequences
    # available. The default is '#I:#W#F'.
    #setw -g window-status-format string
     
    # Set status line attributes for windows which have an alert (bell, activity or
    # content).
    #setw -g window-status-alert-attr attributes
     
    # Set status line background colour for windows with an alert.
    #setw -g window-status-alert-bg colour
     
    # Set status line foreground colour for windows with an alert.
    #setw -g window-status-alert-fg colour
     
    # Set status line attributes for the currently active window.
    #setw -g window-status-current-attr attributes
     
    # Set status line background colour for the currently active window.
    #setw -g window-status-current-bg colour
     
    # Set status line foreground colour for the currently active window.
    #setw -g window-status-current-fg colour
     
    # Like window-status-format, but is the format used when the window is the
    # current window.
    #setw -g window-status-current-format string
     
    # Sets the window's conception of what characters are considered word
    # separators, for the purposes of the next and previous word commands in copy
    # mode.  The default is ' -_@'.
    #setw -g word-separators string
     
    # If this option is set, tmux will generate xterm(1) -style function key
    # sequences; these have a number included to indicate modifiers such as Shift,
    # Alt or Ctrl.  The default is off.
    #setw -g xterm-keys [on | off]