Apakah ada cara saya dapat mengontrol server tmux dan mengirim perintah ke sana seperti beralih ke jendela tertentu dalam suatu sesi, atau membuat beberapa pertanyaan tentang panel melalui soket yang dibuatnya?
Saya telah melihat ke libtmux untuk python dan tampaknya kurang dalam beberapa hal. Apakah ada referensi resmi untuk tmux api di mana saya bisa mencari? Paket tmux resmi di distro saya hanya berisi satu biner tmux.
Apakah ada cara selain membaca sumbernya untuk mengetahui bagaimana seseorang dapat mengontrol tmux melalui soketnya?
Apakah ada terminal multiplexer lain yang memudahkan/ dimaksudkan untuk memudahkan?
Jawaban yang Diterima:
Tidak sulit untuk melakukan tugas yang Anda minta menggunakan python-tmux.
Misalnya. jika Anda memulai server baru dengan nama sesi foo
tmux new-session -s foo
anda dapat melampirkannya melalui python tmux (dengan asumsi perpustakaan python diinstal) dari ipython melalui
import libtmux
server = libtmux.Server()
session = server.find_where({ "session_name": "foo" })
Kemudian Anda dapat melihat di jendela tmux Anda tindakan perintah, mis.
session.cmd("send-keys","x")
akan mengirim penekanan tombol "x". Daftar panel yang Anda minta dapat ditanyakan melalui
session.cmd("list-panes").stdout
dan Anda dapat beralih ke jendela tertentu (misalnya nr. 1) dengan
session.cmd("select-window","-t","1").stdout
Anda tidak perlu membaca kode sumber tmux untuk mempelajari ini. Semua perintah ini didokumentasikan di halaman manual tmux. Jika ini tidak cukup untuk Anda, Anda harus lebih spesifik apa yang Anda maksud dengan python-libtmux sebagai "kurang dalam beberapa hal".