GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Tmux-Socket-API?

Gibt es eine Möglichkeit, einen tmux-Server zu steuern und Befehle an ihn zu senden, wie z. B. das Wechseln zu einem bestimmten Fenster in einer Sitzung, oder einige Abfragen über die Fenster durch den von ihm erstellten Socket zu stellen?

Ich habe libtmux für Python untersucht und es scheint in gewisser Weise zu fehlen. Gibt es eine offizielle Referenz für die tmux-API, wo ich suchen könnte? Das offizielle tmux-Paket meiner Distribution enthält nur eine einzige tmux-Binärdatei.

Gibt es einen anderen Weg als das Lesen der Quelle, um herauszufinden, wie man tmux über seinen Socket steuern kann?
Gibt es andere Terminal-Multiplexer, die es einfach machen/machen sollen?

Akzeptierte Antwort:

Es ist nicht schwierig, die von Ihnen gestellten Aufgaben mit python-tmux zu erledigen.

Z.B. wenn Sie einen neuen Server mit dem Sitzungsnamen foo

starten
tmux new-session -s foo

Sie können es über python tmux (vorausgesetzt, die Python-Bibliothek ist installiert) von ipython via

anhängen
import libtmux
server = libtmux.Server()
session = server.find_where({ "session_name": "foo" })

Dann können Sie in Ihrem tmux-Fenster die Aktion von Befehlen beobachten, z. B.

session.cmd("send-keys","x")

sendet einen Tastendruck „x“. Die gewünschte Pane-Liste kann über

abgefragt werden
session.cmd("list-panes").stdout

und Sie können mit

zu einem bestimmten Fenster (z. B. Nr. 1) wechseln
session.cmd("select-window","-t","1").stdout

Sie müssen den Quellcode von tmux nicht lesen, um dies zu lernen. Alle diese Befehle sind in der Manpage von tmux dokumentiert. Wenn Ihnen das nicht ausreicht, müssen Sie genauer sagen, was Sie damit meinen, dass python-libtmux „irgendwie fehlt“.


Linux
  1. So verwenden Sie Tmux wie ein Profi in 5 Minuten

  2. Wie kann ich anhand eines Bash-Skripts feststellen, ob ich mich in einer Tmux-Sitzung befinde?

  3. Screenshot von X von Tty?

  4. Wie setzt man eine Gnome-Sitzung fort?

  5. Gewusst wie:Socket-Programmierung in Python

Erste Schritte mit Tmux

Tmux-Sitzung auf Remote-System automatisch starten, wenn Sie sich über SSH anmelden

Beispiele für Tmux-Befehle zum Verwalten mehrerer Terminalsitzungen unter Linux

Tipps zur Verwendung von tmux

So installieren und verwenden Sie Tmux (Terminal Multiplexer) unter Linux

So installieren Sie tmux unter Linux