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.
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 |
+ ⇧ | 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. |
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