หัวข้อที่เกี่ยวข้องเกิดขึ้นในรายการส่งเมลของผู้ใช้ tmux : การพยายามใช้ socat ไปยังช่องสัญญาณซ็อกเก็ต tmux
สรุป:
- เพียงส่งต่อข้อความโต้ตอบแบบ in-band over-the-socket ระหว่างไคลเอนต์tmuxและเซิร์ฟเวอร์ของมันจะไม่ทำงานเนื่องจากtmuxใช้ file descriptor passing (ไคลเอ็นต์ส่งผ่าน tty fd ไปยังเซิร์ฟเวอร์)
- อาจเป็นไปได้ที่จะพัฒนาพร็อกซีแบบพิเศษ แต่ดูเหมือนว่ามันจะไม่ไร้สาระ - มันจำเป็นต้องรู้พอร์ทโปรโตคอลซ็อกเก็ตtmuxพอที่จะรู้ว่าเมื่อใดที่จะยอมรับและส่ง fds และต้องใช้วิธีการ fds และการดำเนินการใด ๆ ที่กระทำกับ fds เหล่านั้น
- โปสเตอร์รายการจดหมายการจัดการเพื่อการทำงานออกtmuxระบบการส่งต่อโดยใช้socatที่ทำงานส่วนใหญ่
- คุณอาจตั้งค่าขนาดเทอร์มินัลเริ่มต้นที่แตกต่างกันโดยการให้
-x
และ-y
ตัวเลือกไปnew-session
แต่สิ่งนี้จะไม่แก้ไขการจัดการปรับขนาด ( socatจะต้องจัดการและส่งต่อ SIGWINCH (ผ่าน TIOCGWINSZ / TIOCSWINSZ ioctls)
- ดูเหมือนว่าคุณอาจต้องการ“ เซิร์ฟเวอร์ส่งต่อ” ของคุณอยู่ในระบบปฏิบัติการเกสต์ของคุณ แต่โซลูชันที่เชื่อมโยงจะทำให้เซิร์ฟเวอร์อยู่ในโฮสต์ระบบปฏิบัติการของคุณ คุณอาจจะทำใหม่อีกครั้งเพื่อให้มันไปทางอื่น
ถ้าไม่มีเหตุผลบางอย่างที่คุณไม่สามารถเรียกใช้เซิร์ฟเวอร์ SSH กับแขกของคุณมันอาจจะง่ายกว่าที่จะใช้ SSH เพื่อเข้าสู่ระบบกับแขกของคุณ (ให้โปรแกรม SSH จัดการการเชื่อมต่อผ่านเครือข่ายและจัดการ ttys) และแนบไปกับ เพื่อ) ถิ่นที่อยู่tmuxด้วยวิธีนี้:
host$ ssh guest tmux attach -t console
host$ ssh guest tmux new-session -s 'fiddling around'
# etc.
คุณสามารถสร้างคีย์ SSH และ~/.ssh/config
รายการบนโฮสต์ของคุณเพื่อทำให้บรรทัดคำสั่งsshง่ายขึ้น(เช่นใช้เพียงssh guest
ด้านบนแทนssh -i guest-user1-key user1@guest-vm-ip
)