GNU/Linux >> Belajar Linux >  >> Linux

Soket Tmux Api?

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".


Linux
  1. Lampirkan Ke Windows yang Berbeda Dalam Sesi?

  2. Bagaimana Mengenalinya Jika Saya Dalam Sesi Tmux Dari Skrip Bash?

  3. Tangkapan Layar X Dari Tty?

  1. Bagaimana Cara Melanjutkan Sesi Gnome?

  2. Pitchfork:Buat server

  3. Menjatuhkan sesi ssh/X, bagaimana cara mengambil yang tersisa?

  1. Berbagi Sesi Terminal Linux Dengan Tmux dan Layar

  2. Ganti nama sesi layar

  3. Cara memperbaiki sesi tmux yang dikacaukan oleh karakter kontrol