ใช้หลายเซสชัน byobu โดยไม่สนใจเซสชัน tmux ที่ไม่เกี่ยวข้อง


9

ดังนั้นฉันสามารถเข้าถึงบัญชีเชลล์ที่ใช้ร่วมกันซึ่งคนอื่น ๆ และฉันทำงานบางอย่าง

บางคนชอบใช้ tmux เพื่อให้พวกเขาได้เปิดการประชุม tmux ~/.tmux.confของพวกเขาในการโหลดการตั้งค่าจาก ฉันชอบที่จะใช้byobuwrapper รอบ tmux เพราะมันมี keybindings ที่ดีกว่าและสิ่งอื่น ๆ

ปัญหาคือเมื่อใดก็ตามที่มีเซสชั่น tmux ที่ใช้โดยคนอื่นเมื่อใดก็ตามที่ฉันเรียกใช้ byobu มันจะกลับมาทำงานเซสชั่น tmux ของพวกเขาแทนการสร้างเซสชัน byobu ใหม่สำหรับฉัน

ดังนั้นฉันพยายามเรียกใช้byobu-tmux new-sessionแต่ก็เริ่มเซสชัน tmux ใหม่โดยใช้ config (จาก~/.tmux.conf) แทนที่จะเป็น byobu

ฉันจะหาทางแก้ไขได้อย่างไร

คำตอบ:


11

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

ตามหน้า man ของ tmuxคุณสามารถเปลี่ยนซ็อกเก็ตที่ใช้โดย tmux เพื่อเริ่มต้นเซิร์ฟเวอร์ tmux อิสระสองตัวโดยแต่ละชุดจะมีการกำหนดค่าของตัวเองหากต้องการ คุณสามารถระบุ-Lเพื่อเปลี่ยนชื่อฐานของซ็อกเก็ตหรือ-Sตัวเลือกเพื่อระบุเส้นทางที่แตกต่างอย่างสิ้นเชิงกับไฟล์ซ็อกเก็ต ซ็อกเก็ต tmux defaultเริ่มต้นการตั้งชื่อ

ดังนั้นโดยใช้ตัวเลือก tmux เหล่านี้เมื่อเรียกใช้ byobu เพื่อเริ่มต้นเซิร์ฟเวอร์ tmux อิสระด้วย byobu คุณสามารถเรียกใช้

byobu -L my-byobu new

หรือ

byobu -L my-byobu attach

โดยที่ชื่อmy-byobuนั้นจะถูกแทนที่ด้วยชื่อที่คุณเลือก สิ่งนี้จะเริ่มต้นเซิร์ฟเวอร์ tmux ใหม่ด้วยชื่อmy-byobuซึ่งโหลดคอนฟิกูเรชัน byobu สำหรับ tmux แทนค่าดีฟอลต์และสร้างเนมสเปซอิสระสำหรับเซสชัน byobu tmux ของคุณอย่างมีประสิทธิภาพ

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