GNU/Linux >> Tutoriels Linux >  >> Linux

API de socket Tmux ?

Existe-t-il un moyen de contrôler un serveur tmux et de lui envoyer des commandes, comme passer à une fenêtre spécifique dans une session, ou effectuer des requêtes sur les volets via le socket qu'il crée ?

J'ai examiné libtmux pour python et il semble faire défaut à certains égards. Existe-t-il une référence officielle pour l'API tmux où je pourrais regarder ? Le package tmux officiel de ma distribution ne contient qu'un seul binaire tmux.

Existe-t-il un autre moyen que de lire la source pour savoir comment on peut contrôler tmux via son socket ?
Existe-t-il d'autres multiplexeurs de terminaux qui facilitent/visent à faciliter les choses ?

Réponse acceptée :

Il n'est pas difficile de faire les tâches que vous demandez en utilisant python-tmux.

Par exemple. si vous démarrez un nouveau serveur avec le nom de session foo

tmux new-session -s foo

vous pouvez vous y attacher via python tmux (en supposant que la bibliothèque python est installée) depuis ipython via

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

Ensuite, vous pouvez regarder dans votre fenêtre tmux l'action des commandes, par exemple

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

enverra une frappe "x". La liste de volets que vous avez demandée peut être interrogée via

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

et vous pouvez passer à une fenêtre spécifique (disons n° 1) avec

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

Vous n'avez pas besoin de lire le code source de tmux pour l'apprendre. Toutes ces commandes sont documentées dans la page de manuel de tmux. Si cela ne vous suffit pas, vous devez être plus précis sur ce que vous entendez par python-libtmux "manquant d'une certaine manière".


Linux
  1. Comment reprendre une session Gnome ?

  2. Guide pratique :programmation de sockets en Python

  3. Pitchfork :Créer un serveur

  4. Comment changer le répertoire de démarrage d'une session tmux ?

  5. Session ssh/X abandonnée, comment reprendre là où il s'est arrêté ?

Premiers pas avec Tmux

Démarrage automatique de la session Tmux sur le système distant lors de la connexion via SSH

Exemples de commandes Tmux pour gérer plusieurs sessions de terminal sous Linux

Conseils d'utilisation de tmux

Comment installer et utiliser Tmux (multiplexeur de terminaux) sous Linux

Comment installer tmux sous Linux