tmux 套接字 API

tmux 套接字 API

有什么方法可以控制 tmux 服务器并向其发送命令,例如切换到会话中的特定窗口,或者通过它创建的套接字对窗格进行一些查询?

我研究了 python 的 libtmux,它似乎在某些方面有所欠缺。我可以查看 tmux api 的官方参考吗?我的发行版上的官方 tmux 包仅包含一个 tmux 二进制文件。

除了阅读源代码之外,还有其他方法可以了解如何通过套接字控制 tmux 吗?是否还有其他终端多路复用器可以使其变得简单/旨在使其变得简单?

答案1

使用 python-tmux 完成您要求的任务并不困难。

例如,如果您使用会话名称 foo 启动一个新服务器

tmux new-session -s foo

您可以通过 ipython 通过 python tmux 附加到它(假设安装了 python 库)

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

然后你可以在 tmux 窗口中观看命令的操作,例如

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

将发送击键“x”。您请求的窗格列表可以通过以下方式查询

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

您可以使用以下命令切换到特定窗口(例如 nr.1)

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

您不必阅读 tmux 的源代码即可了解这一点。所有这些命令都记录在 tmux 的手册页中。如果这对您来说还不够,您需要更具体地说明 python-libtmux“在某种程度上缺乏”的含义。

相关内容