GNU/Linux >> Linux Esercitazione >  >> Linux

Tmux Socket Api?

C'è un modo per controllare un server tmux e inviargli comandi come passare a una finestra specifica in una sessione, o fare alcune domande sui riquadri attraverso il socket che crea?

Ho esaminato libtmux per Python e sembra che manchi in qualche modo. C'è un riferimento ufficiale per l'api tmux dove potrei guardare? Il pacchetto ufficiale tmux sulla mia distribuzione contiene solo un singolo binario tmux.

C'è un altro modo oltre a leggere la fonte per scoprire come si può controllare tmux attraverso il suo socket?
Ci sono altri multiplexer di terminali che lo rendono facile/hanno lo scopo di renderlo facile?

Risposta accettata:

Non è difficile eseguire i compiti che chiedi usando python-tmux.

Per esempio. se avvii un nuovo server con il nome della sessione foo

tmux new-session -s foo

puoi collegarlo tramite python tmux (supponendo che la libreria python sia installata) da ipython tramite

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

Quindi puoi guardare nella tua finestra di tmux l'azione dei comandi ad es.

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

invierà una sequenza di tasti "x". L'elenco dei riquadri che hai richiesto può essere consultato tramite

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

e puoi passare a una finestra specifica (diciamo nr. 1) con

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

Non è necessario leggere il codice sorgente di tmux per imparare questo. Tutti questi comandi sono documentati nella pagina man di tmux. Se questo non è sufficiente per te, devi essere più specifico di cosa intendi per python-libtmux "mancante in qualche modo".


Linux
  1. Come sapere se sono in una sessione Tmux da uno script Bash?

  2. Come riprendere una sessione di Gnome?

  3. Procedura:programmazione socket in Python

  4. Come cambiare la directory iniziale di una sessione tmux?

  5. Come riparare una sessione tmux incasinata dai caratteri di controllo

Iniziare con Tmux

Avvio automatico della sessione Tmux sul sistema remoto quando si accede tramite SSH

Esempi di comandi Tmux per gestire più sessioni di terminale in Linux

Suggerimenti per l'utilizzo di tmux

Come installare e utilizzare Tmux (terminal multiplexer) in Linux

Come installare tmux su Linux