มีทางลัด tmux ที่จะไปอ่านอย่างเดียวหรือไม่


22

ฉันใช้หน้าจอมาหลายปีแล้วเพื่อให้มั่นใจว่างานระยะไกลจะเปิดไว้อย่างปลอดภัยหลังจากยกเลิกการเชื่อมต่อ / ขัดข้อง จริงๆแล้วฉันใช้หน้าจอแม้ในที่ทำงาน

เมื่อเร็ว ๆ นี้ความต้องการของฉันได้พัฒนาไปสู่ขั้นตอนที่ฉันเปลี่ยนเป็น tmux เนื่องจากความงามของ:

tmux attach -r

การแนบเซสชันของฉันเองในโหมดอ่านอย่างเดียว (-r) หมายความว่าฉันไม่ต้องกังวลเกี่ยวกับอุบัติเหตุ:

  • วางเส้นของขยะใน IRC
  • หยุดการคอมไพล์ / ปรับใช้กระบวนการที่สำคัญ
  • พิมพ์รหัสผ่านในมุมมองเต็มรูปแบบสำหรับผู้คนที่เดินผ่าน

แน่นอนปัญหาคือฉันต้องเปิดเซสชัน Cb + d เพื่อแยกออกแล้วเปิดอีกครั้งด้วยแฟล็ก -r เพื่ออ่านได้อย่างเดียว และเมื่อฉันต้องการที่จะพูดคุยกับ IRC เป็นครั้งคราว, ขัดจังหวะงานหรือสิ่งอื่นใดฉันต้องแยกออกอีกครั้งและเชื่อมต่อใหม่ตามปกติ

ไม่มีใครรู้วิธีที่จะทำให้กุญแจสำคัญในการสลับไปมาระหว่างโหมด?

คำตอบ:


16

ไม่ใช่ตามman pageซึ่งเรียกใช้attach -rตัวเลือกเพื่อเปิดใช้งานโหมดอ่านอย่างเดียวเท่านั้น

นอกจากนี้ในซอร์สโค้ดเฉพาะบรรทัดต่อไปนี้ในการcmd-attach-session.cตั้งค่าสถานะอ่านอย่างเดียว ส่วนที่เหลือของรหัสตรวจสอบว่ามีการตั้งค่าสถานะนี้ แต่ไม่เปลี่ยนค่า ดังนั้นอีกครั้งดูเหมือนว่าคุณจะโชคไม่ดีเว้นแต่คุณสามารถเปลี่ยนรหัส (หรือขอ):

    if (cmd_check_flag(data->chflags, 'r'))
        ctx->cmdclient->flags |= CLIENT_READONLY;

1
ขอบคุณที่ทำอย่างนั้น เป็นเวลานานแล้วที่ฉันพัฒนาขึ้นมาในรสชาติของ C / C ++ แต่ฉันเดาว่าฉันสามารถใส่มันลงในกอง 'สักวันหนึ่ง' ของฉันได้ ในขณะเดียวกันก็ไม่เจ็บที่จะขอคุณสมบัติเพื่อให้ฉันออกไปทำตอนนี้
connrs

22

ในที่คุณสามารถทำได้tmux 1.9a :switch-client -rฉันไม่แน่ใจว่านี่เป็นรุ่นใหม่ในเวอร์ชั่น 1.9a หรือไม่ แต่นั่นเป็นเวอร์ชันที่ฉันใช้อยู่และฉันสามารถเปลี่ยนเซสชัน tmux ที่มีอยู่เป็นโหมดอ่านอย่างเดียวได้


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