Apakah berbagi soket tmux antara host mungkin?

11

Saya bertanya-tanya apakah mungkin untuk berbagi soket server tmux antara host yang berbeda. Sebagai contoh, saya memiliki mesin virtual (tamu) berjalan di dalam host saya, dan saya menjalankan sesi tmux di tamu, apakah mungkin bagi mesin host saya untuk mengakses sesi tamu tmux dan melakukan hal-hal keren dengannya? (mis., mengirim perintah ke sesi tamu)?

EnToutCas
sumber

Jawaban:

10

Topik terkait muncul di milis tmux-pengguna : Mencoba menggunakan socat to tunnel tmux socket

Ringkasan:

  • Cukup meneruskan dialog in-band, over-the-socket antara klien tmux dan servernya tidak akan berfungsi karena tmux menggunakan passing deskriptor file (klien meneruskan tty fd ke server).
    • Mungkin memungkinkan untuk mengembangkan proxy khusus, tetapi sepertinya itu tidak sepele — perlu cukup mengetahui protokol soket tmux untuk mengetahui kapan menerima dan mengirim fds, dan itu akan memerlukan metode proxy fds dan operasi apa pun yang dilakukan pada fds tersebut.
  • Poster milis berhasil membuat sistem penerusan tmux menggunakan socat yang kebanyakan berhasil .
    • Anda mungkin dapat mengatur ukuran terminal awal yang berbeda dengan memberikan opsi -xdan , tetapi ini tidak akan memperbaiki penanganan ukuran ( socat perlu menangani dan meneruskan SIGWINCH (melalui TIOCGWINSZ / TIOCSWINSZ ioctls)).-ynew-session
    • Sepertinya Anda mungkin ingin "server penerusan" berada di OS tamu Anda, tetapi solusi tertaut akan membuat server berada di OS host Anda. Anda mungkin bisa mengolahnya sehingga sebaliknya.

Kecuali ada beberapa alasan Anda tidak dapat menjalankan server SSH pada tamu Anda, mungkin lebih mudah menggunakan SSH untuk masuk ke tamu Anda (biarkan program SSH menangani koneksi melalui jaringan dan mengelola ttys) dan melampirkan ke (atau mengeluarkan perintah untuk) penduduk tmux seperti itu:

host$ ssh guest tmux attach -t console
host$ ssh guest tmux new-session -s 'fiddling around'
# etc.

Anda dapat membuat kunci SSH dan ~/.ssh/configentri pada host Anda untuk menyederhanakan baris perintah ssh (yaitu menggunakan tepat di ssh guestatas alih-alih ssh -i guest-user1-key user1@guest-vm-ip).

Chris Johnsen
sumber
Saya ingin tahu apakah ini sekarang dapat dibangun menggunakan mode kontrol
tmux