Tmux/de

From OpenSimulator

Revision as of 05:23, 4 November 2024 by Manni (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Tmux ist ein Terminal-Multiplexer:

Er ermöglicht das Erstellen, Zugreifen und Steuern mehrerer Terminals (oder Fenster), die jeweils ein separates Programm ausführen, von einem einzigen Bildschirm aus.

Tmux kann von einem Bildschirm abgetrennt werden und im Hintergrund weiterlaufen, um später wieder verbunden zu werden.

Viele Leute verwenden GNU Screen, um OpenSimulator auszuführen, aber Tmux bietet einige gute Werkzeuge zur Verbesserung der Aufgabe.

Tmux funktioniert größtenteils wie Screen, mit dem Unterschied, dass die Standard-Tastenkombination zum Ausführen von Befehlen ctrl+b anstelle von ctrl+a ist.

Ein schneller Crashkurs ist hier verfügbar.

Contents

Installation

Debian

sudo aptitude install tmux

Wenn Sie lieber ctrl+a anstelle von ctrl+b verwenden und einige nützliche Tastenkombinationen erhalten möchten, können Sie eine Datei ~/.tmux.conf verwenden und Folgendes hinzufügen:

# remap prefix to Control + a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf
# quick pane cycling
unbind ^A
bind ^A select-pane -t :.+

Sitzungen ausführen

Sie können Sitzungen mit folgender Syntax starten:

tmux new -s mein_sitzungsname

Um die Sitzung zu trennen, können Sie die Tastenkombination ctrl+b d verwenden.

Dann können Sie den Schalter "-t" (Ziel) verwenden, um eine Sitzung für einen Befehl anzusprechen.

tmux attach -t mein_sitzungsname

Fenster und Paneele

Fenster

Tmux hat die Fähigkeit, "Tabs" für die Anzeige zu verwenden. Tabs werden "Fenster" genannt. Sie können ein "Fenster" mit der Tastenkombination ctrl+b c erstellen. Wechseln Sie dann zwischen den Fenstern mit ctrl+b [0-9].

Paneele

Tmux hat die Fähigkeit, ein Fenster in mehrere "Paneele" zu teilen. Um es vertikal zu teilen, verwenden Sie die Tastenkombination ctrl+b ". Um es horizontal zu teilen, verwenden Sie die Tastenkombination ctrl+b %. Um den Cursor zwischen den Paneelen zu bewegen, verwenden Sie die Tastenkombination ctrl+b und die Pfeiltasten. Wenn Sie die 3 Tasten gleichzeitig verwenden, können Sie das aktuelle Paneel ändern.

Sitzungen teilen

Hier ist der interessante Teil, um Tmux mit OpenSimulator zu verwenden. Die Sitzung wird über einen "Socket" geteilt, und die Benutzer, die die Sitzung teilen, müssen die Berechtigung haben, in diesen Socket zu schreiben.

Den Ort vorbereiten

Wir werden eine Gruppe erstellen und alle Benutzer, die die Sitzung teilen, in dieser Gruppe hinzufügen. Wir werden einen Ordner im /tmp-Ordner erstellen, um den Socket zu hosten. Wir werden der Gruppe die Schreibberechtigung auf den Socket-Ordner geben.

groupadd tmux-share
addgroup tmux-share meinbenutzer
addgroup tmux-share meinanderebenutzer
mkdir /tmp/tmux-share
chgrp tmux-share /tmp/tmux-share
chmod -R 2775 /tmp/tmux-share

Die Sitzung erstellen

tmux -S /tmp/tmux-share/1 new-session -s meine_sitzung

Der Sitzung beitreten

tmux -S /tmp/tmux-share/1 attach -t meine_sitzung

Befehle an die Sitzung senden

Dies kann nützlich sein, um Befehle an die Sitzungen mit einem Batch-Skript oder etwas anderem zu senden. Um dies zu tun, können Sie eine Syntax wie diese verwenden:

tmux send-keys -t meine_sitzung:1 "ls" C-m

Wenn Sie also Befehle über den Socket senden möchten:

tmux -S /tmp/tmux-share/1 send-keys -t meine_sitzung:1 "ls" C-m

Ausgabe protokollieren

Um zu verhindern, dass Sie zu viel Zeit mit der Suche nach der Antwort verlieren, hier ist eine funktionierende (zumindest) Version eines Befehls, um die Ausgabe zu protokollieren.

tmux -S /tmp/tmux-share/test new -s test1
tmux -S /tmp/tmux-share/test pipe-pane -o -t test1 'cat >> tmux.log'
Personal tools
General
About This Wiki