IT-Dienstleistungen

Mehrere Terminal Fenster und geteilte Sitzungen mit tmux

Auf dieser Seite:

tmux erlaubt es, Terminalfenster als Sitzung zu starten, die man betreten (attach) und auch wieder verlassen kann (detach), ohne dabei laufende Programme zu unterbrechen. Dies ist z.B. dann hilfreich, wenn man über SSH verbunden ist, ein längerer Kopiervorgang läuft und ein Unterbrechen der SSH Verbindung unerwünschterweise zum Abbruch des Kopiervorgangs führen würde.

 

Wie verwaltet man tmux Sitzungen?

# aktive tmux Sitzungen identifizieren
tmux ls
tmux list-sessions

# tmux Sitzung starten
tmux new -s session-name

# tmux Sitzung verlassen (detach)
STRG+b d

# eine über tmux ls identifizierte vorhandene tmux Sitzung betreten
tmux attach -t [session name]

# tmux Sitzung ohne Rücksicht auf Verluste beenden ohne sie zu betreten
tmux kill-session -t session-name

# eine vorhandene tmux Sitzung umbenennen
tmux rename-session -t oldname newname
 

Wie listet man alle tmux Tastenbelegungen auf?

STRG+b ?

# Extra: eigene Tastenbelegungen über ~/.tmux.conf
bind | split-window -h # horizontales Aufteilen nun über STRG-b | 
bind - split-window -v # vertikal: STRG-b -

# Änderungen in der laufenden Anwendung aktivieren
tmux source-file ~/.tmux.conf

# Extra extra: Interaktion mit der Maus über ~/.tmux.conf aktivieren
# dadurch kann die Größe von tmux "panes" mit der Maus angepasst werden
set -g mouse on

# Extra extra extra: tmux Farbschema über ~/.tmux.conf
set -g default-terminal "screen-256color" # Standardeinstellung
set -g default-terminal "xterm-256color"
 

Wie navigiert man innerhalb einer aktiven tmux Sitzung?

Man arbeitet innerhalb eines einzelnen Fensters teilt dieses in "panes" auf.

Arbeiten mit einem einzelnen tmux Fenster

# Fensterinhalt scrollen - über q den Scrollmodus verlassen
STRG+b [

# tmux History anzeigen - zurück über q:
STRG+b ~

# neues tmux Fenster öffnen
STRG+b c

# Bezeichnung des aktuellen tmux Fensters umbenennen
STRG+b ,

# Liste aktiver tmux Fenster anzeigen
# zeigt auch eine Vorschau der Fenster und die Fensternummer
STRG+b w

# wie navigiert man in das nächste tmux Fenster
STRG+b n

# wie navigiert man in das vorherige tmux Fenster
STRG+b p

# wie navigiert man über die Fensternummer in ein tmux Fenster
STRG+b [0-9]

# wie gelangt man in das vorherige aktive tmux Fenster
STRG+b l # that's a lowercase L

# wie erzwingt man das Schließen des aktuellen tmux Fensters
STRG+b & # you get prompted if you really want to do that

Arbeiten mit "panes" - geteilte tmux Fenster

# wie teilt man ein tmux Fenster in "panes" auf
STRG+b % # vertikales Teilen des Fensters
STRG-b " # horizontal

# wie bewegt man das aktive tmux "pane" nach links oder rechts
STRG+b { # left
STRG+b } # right

# wie wechselt man in das nächste tmux "pane"
STRG+b o

# tmux "pane" Nummern anzeigen und in ein nummeriertes "pane" wechseln
# bei Anzeige der "pane" Nummer die entsprechende Taste auf der Tastatur drücken
STRG+b q 

# Größe eines tmux "panes" ändern
# Abschnitt zur Tastenbelegung: Änderung mit Maus
STRG+b Ctrl-Pfeiltaste # STRG gedrückt lassen und Pfeiltaste mehrmals nutzen

# wie überführt man ein tmux "pane" in ein eigenes tmux Fenster
STRG+b : # danach "break-pane" ohne Anführungszeichen eingeben
 

Wie funktionieren geteilte Sitzungen mit mehreren Nutzern in tmux?

# WARNUNG, teilen Sie Sitzungen nur mit vertrauenswürdigen Personen
# beispielhafte Möglichkeit in einer geteilten tmux Sitzung Schadcode auszuführen
tmux -S /tmp/pair detach -t /dev/victim_tty -E '(malicious shell code) & exec tmux -S /tmp/pair attach'

# Miglieder derselben POSIX Gruppe können der folgenden tmux Sitzung beitreten
# HINWEIS: der Sitzungsname ist hier ein Dateipfad
tmux -S /tmp/pair
chmod 770 /tmp/pair

# Beitreten zusätzlicher tmux Teilnehmer als Mitglieder der entsprechenden tmux Gruppe 
tmux -S /tmp/pair attach

Zahlung veranlassen