หยุดงาน tmux ผ่าน remote shell โดยไม่ตั้งใจ


1

ฉันมักจะเชื่อมต่อกับhostใช้คำสั่งต่อไปนี้:

ssh -t user@host tmux

แล้วก็

ssh -t user@host tmux a

หลังจากตัดการเชื่อมต่อ / ออกจากระบบ

ฉันชอบใช้โอกาสที่มีให้tmuxมากมาย หนึ่งในนั้นคือCtrl + B+ Ctrl + Zเพื่อซูมเข้าและซูมออกหนึ่งในบานหน้าต่าง การกดรวมกันของแป้นต่าง ๆ โดยไม่ชักช้า (โดยไม่มีการปล่อยCtrl) จะทำให้การหยุดtmuxโดยไม่มีความเป็นไปได้ที่จะทำให้มันกลับไปสู่เบื้องหน้าเนื่องจากไม่มีบรรทัดรับคำสั่งให้พิมพ์fgคำสั่ง

Enter~.วิธีเดียวที่จะแก้ปัญหาที่ผมพบคือการกด sshจัดการการรวมกันของกุญแจนี้และตัดการเชื่อมต่อจากโฮสต์ระยะไกล จากนั้นฉันต้องเชื่อมต่อกับโฮสต์ระยะไกลอีกครั้ง

วิธีสร้าง remote login shell (เช่นbashตรงข้ามกับremote shell ssh ) เพื่อจัดการกับการรวมกันของคีย์?


การใช้เปลือกลูกssh -t user@host "bash -c 'tmux a'"ไม่ทำงาน
โอเรียนท์

คำตอบ:


2

Ctrl + B+ Ctrl + Zรันคำสั่งในsuspend-client tmuxหากสิ่งนี้ทำให้คุณมีปัญหาบางทีคุณควรยกเลิกการผูกCtrl + Z(เพิ่มunbind ^Zใน.tmux.conf) ของคุณ?

คุณสามารถผูกsuspend-clientกับสิ่งอื่นถ้าคุณต้องการจริงๆหรือคุณสามารถเรียกใช้มันด้วยtmuxพรอมต์คำสั่ง ( Ctrl + B+ :ตามด้วยsuspend-client)


วิธีการเปลี่ยนลูกค้ากลับจากการหยุดชั่วคราว?
โอเรียนท์

คุณหมายถึง.tmux.confระบบระยะไกลหรือไม่ ฉันสามารถทำได้ผ่านตัวแปรสภาพแวดล้อมและssh -o SendEnv=วิธีการหรือไม่
โอเรียนท์

ใช่ฉันหมายถึง.tmux.confระบบรีโมต ถ้าคุณไม่สามารถเข้าถึงว่าด้วยเหตุผลบางอย่างที่คุณสามารถแยกเป็นส่วนหนึ่งของการเริ่มต้นคำสั่งเช่นtmux ssh -t user@host 'unbind ^Z ; tmux a'
jjlin

unbind: command not found
โอเรียนท์

1
ขออภัยความสับสน ssh -t user@host 'tmux unbind ^Z \; a'ฉันหมายถึง
jjlin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.