Table of Contents

,

tmux

tmux logo

Quellen

Beschreibung

tmux ist ein sog. terminal multiplexer, vergleichbar mit GNU Screen, nur komfortabler zu bedienen und um einiges umfangreicher. tmux dient dazu, dass man mehrere Shell-Sessions innerhalb eines einzigen Terminals öffnen kann. Es ermöglicht außerdem, dass gestartete Programme auch nach dem Ausloggen weiter laufen und man sich beim nächsten Einloggen wieder mit der Session verbinden kann, in der die Programme laufen.

Bedienung

tmux wird fast ausschließlich per Tastenkombinationen gesteuert. Um in den Kommandomodus zu wechseln drückt man CTRL+B und anschließend dann eine weitere Taste, die ein Kommando ausführt. Wenn z. B. eine weitere Shell gestartet werden soll, erreicht man das mit CTRL+B - C. Zwischen den beiden Shells kann dann mit CTRL+B - L (für last) oder N (für next) wechseln.

Auf der Shell
Shell Kommando Aktion
tmux
Startet den tmux server und erzeugt eine neue tmux Session im client.
tmux attach
verbindet zu einer bestehenden tmux Session
Sessionverwaltung
tmux Kommando Aktion
:new
erzeugt eine neue tmux Session
Taste Aktion
S (switch) Anzeige und Wechsel zwischen bestehenden tmux Sessions
$ aktuelle tmux Session umbenennen
D (detach) Trennt von der aktuellen tmux Session und verschiebt diese in den Hintergrund
Fensterverwaltung (Tabs)
tmux Kommando Aktion
:rename-window <FENSTERNAME>
Benennt das aktuelle Fenster um. Man muss sich dazu im umzubenennenden Fenster befinden.
:kill-window -t <FENSTERNUMMER>
Schließt das Fenster mit der angegebenen Nummer.
Taste Aktion
C (create) Erzeugen eines neuen Fensters (Shell)
W Liste der Fenster anzeigen, Fenster wechseln
N (next) Wechsel zum nächsten Fenster
P (previous) Wechsel zum vorherigen Fenster (z.B. von 3 nach 2)
L (last) Wechseln zum letzten aktiven Fenster (ist durch - markiert)
, Umbenennen des aktuellen Fensters
1 1, 2, 3 etc. Wechsel zur Fenster-Nr.
& Beendet das aktuelle Fenster. Muss mit Y bestätigt werden.
Panelverwaltung (Teilen von Fenstern)
Taste Aktion
Aktuelle Fensterscheibe (Panel) horizontal teilen (erzeugt ein weiteres Panel)
% Aktuelle Fensterscheibe (Panel) vertikal teilen (erzeugt ein weiteres Panel)
,, , Die aktive Fensterscheibe (Panel) wechseln
! Die aktuelle Fensterscheibe (Panel) aus dem Fenster lösen und ein neues Fenster mit dieser Fensterscheibe erstellen
SPACE Wechsel zwischen verschiedenen Aufteilungen der Fensterscheibe (Panels)
Maus
tmux Kommando Aktion
:set -g mouse on
Aktiviert die Maus.
key / command Aktion
left mouse button pressed + Für den Kopiermodus mit der Maus (mouse-mode), wenn auch mouse-select-pane und/oder mouse-select-window verwendet werden
Weitere Kommandos
key / command Aktion
? Anzeige aller aktiven Tastaturkürzel (keybindings)
[ Scroll-Modus aktivieren, in dem Pfeiltasten zum Scrollen benutzt werden können. Der Scroll-Modus kann mit Q beendet werden.

Installation und tmux.conf

This config file is 99% the work of my (soon) former colleague S. Wurm.

apt install tmux tmux-plugin-manager
vim ~/.tmux.conf
# reload config file (change file location to your the tmux.conf you want to use)
bind r source-file ~/.tmux.conf

set -g assume-paste-time 1
set -g base-index 0
#set -g bell-on-alert off
set -g default-command ""
set -g default-shell "/bin/bash"
set -g default-terminal "screen-256color"
set -g destroy-unattached off
set -g detach-on-destroy on
set -g display-panes-active-colour red
set -g display-panes-colour blue
set -g display-panes-time 1000
set -g display-time 750
set -g history-limit 2000
set -g key-table "root"
set -g lock-after-time 0
set -g lock-command "lock -np"
set -g message-command-style fg=yellow,bg=black
set -g message-style fg=black,bg=yellow
set -g mode-keys vi
set -g mouse off
set -g prefix C-b
set -g prefix2 None
set -g renumber-windows off
set -g repeat-time 500
#set -g set-remain-on-exit off
set -g set-titles on
set -g set-titles-string "#S:#I:#W - "#T" #{session_alerts}"

# Status Style (default)
#set -g status on
#set -g status-interval 15
#set -g status-justify left
#set -g status-keys vi
#set -g status-left "[#S] "
#set -g status-left-length 20
#set -g status-left-style default
#set -g status-position bottom
#set -g status-right " "#{=21:pane_title}" %H:%M %d-%b-%y"
#set -g status-right-length 40
#set -g status-right-style default
#set -g status-style fg=black,bg=green

# Status Style (wurmobil)
set -g pane-active-border-style fg=green,bg=black
set -g pane-border-style fg=white,bg=black
set -g message-style fg=black,bg=green
set -g window-status-style bg=black
set -g window-status-current-style fg=green
set -g window-status-activity-style fg=yellow
set -g status-justify left
set -g status-style bg=black,fg=white
set -g status-left '#[fg=yellow]#S #[fg=green]][#[default] '
set -g status-left-length 40
# this one draws the window title in the status bar, but eats up a lot of space
set -g status-right ' #[fg=green]][ #[fg=blue]%Y-%m-%d #[fg=white]%H:%M#[default]'

set -g update-environment "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"

# don't rename windows automatically
#set-option -g allow-rename off

# Activity Monitor
set -g monitor-activity on
set -g activity-action none
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
set -g word-separators " -_@"
set -g bell-action none

# Tmux Plugin Manager configuration

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'

# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

source /usr/share/tmux/powerline.conf

Um Plugins zu installieren/deinstallieren:

/usr/share/tmux-plugin-manager/bin/install_plugins
/usr/share/tmux-plugin-manager/bin/clean_plugins