วิธีการใช้ Tmux เพื่อแยก Terminal เป็นหลายๆหน้าต่าง

หากคุณเป็น SysAdmin หรือต้อง ssh เข้าไปที่อื่นบ่อยๆจะรู้ดีว่า ถ้าเปิด Application อะไรอยู่แล้วแอพนั้นไม่ได้เปิดแบบ daemon (background progress) จะทำให้เราไม่สามารถทำอะไรได้เลยนอกจากรอให้แอพมันเสร็จ หรือ เปิด ssh ในอีก terminal นึง

tmux หรือ terminal multiplexer แก้ปัญหานี้ให้คุณได้ครับ โดย tmux จะทำแบ่ง terminal ของคุณให้กลายเป็น session และแต่ละ session นั้นยังมีหลายหน้าต่างได้อีกด้วย โดยสิ่งที่คุณรันในแต่ละหน้าต่างนั้นจะไม่ปิดเมื่อคุณเปลี่ยนไปหน้าต่างอื่น

วิธีการลง tmux ใน ubuntu ก็ง่ายๆเลยครับ

sudo apt-get install tmux

ถ้าใช้ Mac แล้วมี homebrew อยู่เลยก็แค่เพียง

brew install tmux

Command ต่างๆที่ควรรู้

ถ้าหากมี Ctrl-b แปลว่าเป็นคำสั่งตอนอยู่ใน tmux นะครับ

สร้าง session ใหม่:

tmux

หรือ

tmux new -s <ชื่อ session>

ออกจาก session tmux:

Ctrl-b d

กลับไปบน session เดิม

tmux a -t <ชื่อ session>

เปลี่ยน session

Ctrl-b ( # ก่อนหน้า
Ctrl-b ) # ถัดไป
Ctrl-b L # ก่อนอันนี้
Ctrl-b s # เลือกจาก list

list session ทั้งหมด

tmux ls

สร้างหน้าต่างใหม่:

Ctrl-b c

สลับหน้าต่าง:

Ctrl-b n # อันต่อไป
Ctrl-b p # อันก่อนหน้า

ปิดหน้าต่าง

Ctrl-b &

แบ่งจอออกเป็นสองจอ หลังจากเปิดสองจอแล้วก็สลับจอโดยการใช้ Ctrl-b o:

Ctrl-b %