กำลังส่งคำสั่งไปยัง tmux กำลังทำงานใน tmux


3

ฉันใช้tmuxเพื่อจัดการหน้าต่างของฉัน ฯลฯ และสิ่งหนึ่งที่ฉันทำคือ SSH ไปยังเซิร์ฟเวอร์ระยะไกลและเชื่อมต่อกับเซสชัน tmux ที่ทำงานอยู่ที่นั่น อย่างไรก็ตามเมื่อนั้นฉันไม่สามารถส่ง Cb ไปยังเซสชั่น tmux นั้นได้ (อันที่ทำงานใน ssh ใน tmux ดั้งเดิมของฉัน)

มีวิธีแก้ไขไหม?

คำตอบ:


4

กดCtrl- bหนึ่งครั้งสำหรับโลคัลtmuxและอีกครั้งสำหรับรีโมตจากนั้นคีย์สำหรับคำสั่งที่คุณต้องการใช้ในเซสชันระยะไกล


1
หรือเปลี่ยนคีย์คำนำหน้าสำหรับ tmux ที่คุณได้เข้า SSH และคุณไม่ต้องกดปุ่มสองครั้ง
Rob

2

หากคุณยังไม่ได้แมปCtrl+ b Ctrl+b

หากคุณยังไม่ได้แม็พCtrl+ b Ctrl+ bกับหน้าต่างสุดท้ายเพื่อเลียนแบบพฤติกรรมของหน้าจอ (ซึ่งค่อนข้างเป็นที่นิยม) คุณสามารถใช้คำนำหน้านี้เป็นคำนำหน้าสำหรับเซสชัน tmux ภายใน ดังนั้นในการออกคำสั่งไปยังเซสชั่นภายในที่คุณจะใช้Ctrl+ b Ctrl+ b คำสั่ง

คำตอบข้างต้นถือว่ารหัสนำหน้าของคุณยังคงเป็นCtrl+ bบนทั้งสองเครื่อง

หากคุณได้ทำแผนที่Ctrl+ b Ctrl+b

หากคุณมีแผนที่Ctrl+ b Ctrl+ bคุณจะต้องใช้:send-prefixคำสั่งของ tmux หลายคนทำแผนที่สิ่งนี้กับCtrl+ b bเพื่อเลียนแบบพฤติกรรมเริ่มต้นของหน้าจอ คุณจะเพิ่มสิ่งนี้ใน. tmux.conf ของคุณเพื่อเพิ่มการรวมนี้อย่างถาวร:
bind b send-prefix

จากนั้นคุณสามารถออกคำสั่งไปยังเซสชันภายในโดยใช้Ctrl+ b b Command
(หรือไม่มีการผูกโดยใช้Ctrl+ b :send-prefix Command )

คำตอบข้างต้นถือว่าสำคัญคำนำหน้าของคุณยังคงCtrl+ bในเซสชั่นด้านนอก


0

ในระยะสั้นคุณสามารถเพิ่มบรรทัดต่อไปนี้ใน tmux.conf ของคุณเพื่อควบคุม "tmux inside tmux" บรรทัดนี้กำหนดคีย์การผูกของคุณ CTRL+Aสำหรับเซสชัน "ระยะไกล"

bind-key -n C-a send-prefix

ทางลัดC-aสามารถเปลี่ยนแปลงได้โดยใช้ปุ่มฟรีอื่น ๆ

จากนั้นคุณสามารถใช้CTRL+Bเพื่อควบคุมเซสชั่น tmux level1 (ค่าดีฟอลต์) และ CTRL+Aเพื่อควบคุมเซสชั่น tmux ที่สอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.