GNU/Linux >> Linux の 問題 >  >> Linux

Tmux Socket Api?

tmuxサーバーを制御して、セッション内の特定のウィンドウに切り替えるなどのコマンドを送信したり、作成したソケットを介してペインについてクエリを実行したりする方法はありますか?

Python用のlibtmuxを調べましたが、いくつかの点で不足しているようです。私が見ることができるtmuxAPIの公式リファレンスはありますか?私のディストリビューションの公式tmuxパッケージには、単一のtmuxバイナリのみが含まれています。

ソースを読み取って、ソケットを介してtmuxを制御する方法を見つける以外の方法はありますか?
簡単にする/簡単にすることを目的とした他のターミナルマルチプレクサはありますか?

承認された回答:

python-tmuxを使用して要求されたタスクを実行することは難しくありません。

例えば。セッション名fooで新しいサーバーを起動した場合

tmux new-session -s foo

経由でipythonからpythontmux(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が「何らかの形で欠けている」とはどういう意味かをより具体的にする必要があります。


Linux
  1. セッション中の別のウィンドウに接続しますか?

  2. BashスクリプトからTmuxセッションに参加しているかどうかを確認するにはどうすればよいですか?

  3. 方法:Pythonでのソケットプログラミング

  1. Pitchfork:サーバーを作成する

  2. tmux セッションの開始ディレクトリを変更するには?

  3. ドロップした ssh/X セッション、中断したところからピックアップする方法は?

  1. TmuxおよびScreenとのLinuxターミナルセッションの共有

  2. Linuxtmuxセッション内でのIrssiの使用

  3. 制御文字によってめちゃくちゃになった tmux セッションを修正する方法