GNU/Linux >> Znalost Linux >  >> Linux

Tmux Socket Api?

Existuje nějaký způsob, jak mohu ovládat server tmux a posílat mu příkazy, jako je přepínání na konkrétní okno v relaci nebo provádět nějaké dotazy na panely prostřednictvím soketu, který vytváří?

Podíval jsem se na libtmux pro python a zdá se, že v některých ohledech chybí. Existuje oficiální odkaz na tmux api, kde bych se mohl podívat? Oficiální balíček tmux v mém distribuci obsahuje pouze jeden binární soubor tmux.

Existuje jiný způsob, než si přečíst zdroj, jak zjistit, jak lze ovládat tmux přes jeho zásuvku?
Existují nějaké další terminálové multiplexery, které to zjednodušují/mají to zjednodušit?

Přijatá odpověď:

Není těžké dělat úkoly, které požadujete, pomocí python-tmux.

Např. pokud spustíte nový server s názvem relace foo

tmux new-session -s foo

můžete se k němu připojit přes python tmux (za předpokladu, že je nainstalována knihovna python) z ipythonu přes

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

Poté můžete v okně tmux sledovat akci příkazů, např.

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

odešle stisk klávesy „x“. Seznam panelů, o který jste požádali, lze vyhledat pomocí

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

a můžete přepnout na konkrétní okno (řekněme č. 1) pomocí

session.cmd("select-window","-t","1").stdout

Abyste se to naučili, nemusíte číst zdrojový kód tmux. Všechny tyto příkazy jsou zdokumentovány v manuálové stránce tmux. Pokud to pro vás nestačí, musíte být konkrétnější, co myslíte tím, že python-libtmux „nějakým způsobem chybí“.


Linux
  1. Připojit k různým oknům v relaci?

  2. Jak zjistit, zda jsem v relaci Tmux ze skriptu Bash?

  3. Pitchfork:Vytvořte server

  1. Jak změnit počáteční adresář relace tmux?

  2. Přerušena relace ssh/X, jak pokračovat tam, kde skončilo?

  3. Jak opravit relaci tmux narušenou řídicími znaky

  1. Sdílení relací terminálu Linux pomocí Tmux a obrazovky

  2. Jak začít používat Tmux jako profesionál za 5 minut

  3. Snímek obrazovky X From Tty?