saga Asked: 2018-04-11 05:00:13 +0800 CST2018-04-11 05:00:13 +0800 CST 2018-04-11 05:00:13 +0800 CST tmux 套接字 API 772 有什么方法可以控制 tmux 服务器并向其发送命令,例如切换到会话中的特定窗口,或者通过它创建的套接字对窗格进行一些查询? 我已经研究了 python 的 libtmux,它似乎在某些方面有所欠缺。是否有我可以查看的 tmux api 的官方参考?我发行版上的官方 tmux 软件包仅包含一个 tmux 二进制文件。 除了阅读源代码以了解如何通过其套接字控制 tmux 之外,还有其他方法吗?是否有任何其他终端多路复用器使其变得容易/旨在使其变得容易? tmux socket 1 个回答 Voted Best Answer alphanum 2018-04-17T02:27:35+08:002018-04-17T02:27:35+08:00 使用 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“在某种程度上缺乏”的意思。
使用 python-tmux 完成您要求的任务并不难。
例如,如果您使用会话名称 foo 启动一个新服务器
您可以通过 ipython 通过 python tmux 附加到它(假设安装了 python 库)
然后你可以在你的 tmux 窗口中观察命令的动作,例如
将发送一个击键“x”。您要求的窗格列表可以通过以下方式查询
您可以使用以下命令切换到特定窗口(例如 nr. 1)
您无需阅读 tmux 的源代码即可了解这一点。所有这些命令都记录在 tmux 的手册页中。如果这对您来说还不够,您需要更具体地说明 python-libtmux“在某种程度上缺乏”的意思。