แนบกับหน้าต่างที่แตกต่างกันในเซสชั่น


117

ฉันมีเซสชั่น tmux ที่ค่อนข้างง่ายใช้กับ windows ที่เปิดอยู่สองตัว หนึ่งในนั้นสำหรับการแฮ็กในท้องถิ่นและหนึ่งในนั้นสำหรับการทำงาน

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

มีวิธีให้ฉันเพียงแค่เชื่อมต่อกับแต่ละหน้าต่างแยกกันหรือไม่?

คำตอบ:


153

เหตุผลที่ไคลเอนต์ทั้งสองสลับหน้าต่างในเวลาเดียวกันเป็นเพราะทั้งคู่เชื่อมต่อกับเซสชันเดียวกัน (“ หน้าต่างปัจจุบัน” เป็นคุณลักษณะของเซสชันไม่ใช่ไคลเอ็นต์) สิ่งที่คุณสามารถทำได้คือเชื่อมโยงหน้าต่างหนึ่งหน้าต่างหรือมากกว่านั้นเข้ากับเซสชันต่างๆ เนื่องจากแต่ละเซสชันมี "หน้าต่างปัจจุบัน" ของตัวเองคุณจึงสามารถสลับหน้าต่างได้อย่างอิสระในแต่ละเซสชัน

วิธีที่ง่ายที่สุดในการใช้คุณสมบัตินี้คือการใช้คุณสมบัติ "เซสชันที่จัดกลุ่ม" ของnew-sessionคำสั่ง:

$ tmux new-session -t 'original session name or number'

หากต้องการดูเซสชันที่มีอยู่ในปัจจุบัน:

$ tmux list-sessions

แต่ละเซสชันในกลุ่มจะใช้ชุดหน้าต่างเดียวกันร่วมกันโดยอัตโนมัติ: การเปิด / การเชื่อมโยง (หรือปิด / ยกเลิกการเชื่อมโยง) หน้าต่างในหนึ่งเซสชันของกลุ่มจะทำให้หน้าต่างเดียวกันถูกเชื่อมโยง (หรือยกเลิกการเชื่อมโยง) ในเซสชันอื่นทั้งหมดของ กลุ่ม.

เมื่อคุณทำกับคุณเซสชั่น“พิเศษ” kill-sessionคุณสามารถฆ่ามันด้วย หน้าต่างจะไม่ถูกฆ่าเว้นแต่เซสชันของคุณจะเป็นหน้าต่างเดียวที่เชื่อมโยงกับพวกเขา หรือคุณสามารถยกเลิกการเชื่อมต่อจากเซสชัน“ พิเศษ” ของคุณเช่นปกติ (ส่วนนำหน้าdหรือdetach-client) หากคุณเก็บเซสชั่น“ พิเศษ” ไว้รอบ ๆ (เพียงแค่แยกออกจากกัน) คุณอาจต้องการตั้งชื่อที่สื่อความหมาย (คำนำหน้า$หรือrename-session) เพื่อให้คุณระบุได้ง่ายและเชื่อมต่อใหม่ในภายหลัง (คุณอาจต้องการให้ เซสชั่น“ ดั้งเดิม” ชื่อด้วย)


หากคุณไม่ต้องการแบ่งปันชุดหน้าต่างแบบไดนามิกโดยอัตโนมัติคุณสามารถใช้link-window(และunlink-window) เพื่อนำหน้าต่างส่วนบุคคลเข้าและออกจากเซสชัน "ส่วนตัว" ของคุณเอง สิ่งนี้นำเสนอการเข้าถึงที่ไม่เป็นไปโดยอัตโนมัติและในระดับที่ต่ำกว่าสำหรับฟังก์ชั่นการทำงานหลักเดียวกันซึ่ง "เซสชันที่จัดกลุ่ม" ใช้ (หน้าต่างที่เชื่อมโยงกับหลายเซสชัน)


12
ได้รับคำตอบ คุณรู้วิธีป้องกันไม่ให้ 2 เซสชันเปิดจากการซิงค์ขนาดของพวกเขา? หากฉันกำลังสร้างเซสชันใหม่และหน้าต่างมีขนาดเล็กลงอสังหาริมทรัพย์หน้าจอจำนวนมากในที่เดิมจะสูญเปล่า
defhlt

32
ฉันได้พบคำตอบสำหรับคำถามของฉัน:setw -g aggressive-resize on
defhlt

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