Tmux เป็น Terminal Multiplexer ที่มาพร้อมคุณสมบัติที่มีประโยชน์มากมาย และได้รับการสนับสนุนจากปลั๊กอินชุมชนจำนวนมาก Terminal Multiplexers อย่าง tmux และ Screen ให้พลังผลิตivité 超级给力กับหน้าต่างเทอร์มินัลของคุณ อนุญาตให้เปิดหลาย Session ในรูปแบบแท็บและแบ่งหน้าจอ รวมกับเครื่องมือเทอร์มินัลหลายตัวและการบันทึก Session คุณยังสามารถกู้คืน Tmux Sessions หลัง Reboot แบบบังคับได้
ติดตั้ง tmux
การเตรียม tmux ให้พร้อมทำงานบนระบบของคุณค่อนข้างง่ายหากคุณใช้ระบบแจกจ่าย Linux
สำหรับ Ubuntu หมายถึงการเรียก apt จากเทอร์มินัลและติดตั้งแพ็กเกจจากที่เก็บ官方ของระบบแจกจ่าย สำหรับระบบแจกจ่ายอื่น ใช้ตัวจัดการแพ็กเกจที่รวมอยู่เพื่อจัดการการติดตั้ง (tmux มีอยู่ในระบบแจกจ่ายส่วนใหญ่)
sudo apt-get install tmux
ติดตั้งแล้ว? ดีแล้ว! มาแบ่งหน้าจอกัน
สร้าง Windows และ Panes
ใน tmux มีสอง 용어 ใช้อธิบายการจัดวางหลักสองแบบที่เราสร้างได้ "Windows" คือ 용어 ของ tmux สำหรับแท็บ การสร้าง Window ใหม่จะทำแท็บที่คุณสลับไปได้ด้วยคำสั่งง่ายๆ
"Panes" กลับกัน คือการแบ่งใน "Window" หรือแท็บปัจจุบัน ที่สามารถสลับไปได้ด้วยคำสั่ง
ก่อนเริ่มสร้าง สำคัญที่จะต้องทราบว่า tmux เป็น Modal ในการทำงาน หมายถึงการโต้ตอบกับ Session เทอร์มินัลของคุณและกับ tmux เกิดขึ้นใน "โหมด" แยกกัน สิ่งนี้มีประโยชน์เพราะคุณสามารถใช้แต่ละ Session เทอร์มินัลแยกกันได้อย่างปกติโดยไม่ได้เปิดใช้งานคำสั่ง tmux โดยบังเอิญ
เพื่อเข้าถึง tmux และเริ่มออกคำสั่ง เราจะเริ่ม Session ใหม่และตั้งชื่อ:
tmux new -s babytmux
อย่าลืมเปลี่ยนชื่อ ("babytmux") ได้ตามใจชอบ!
Tmux ควรเปิดทันที และ Shell session ใหม่ควรเริ่มต้นให้คุณ แต่เราต้องการมากกว่าหนึ่ง ต้องการ!
เพื่อเข้าสู่โหมดคำสั่งของ tmux เราต้องใช้ Prefix ปกติคือ Ctrl และ b กดพร้อมกัน เพียงอย่างเดียว คุณจะไม่สังเกตการเปลี่ยนแปลงอะไรจากการกด Prefix แต่เราสามารถพิมพ์คำสั่งได้โดยใส่ : ทันทีหลังจากนั้น เพื่อออกจากโหมดคำสั่ง ให้กด Enter เพื่อยืนยันคำสั่ง หรือกด ESC เพื่อออกโดยไม่ทำการเปลี่ยนแปลง
เราจะใช้ Shortcut สร้างการแบ่งแนวนอน: กด Ctrl และ b แล้ว "
เยี่ยม! ตอนนี้เราสามารถนำทางระหว่างสองอันได้ด้วย: Ctrl และ b แล้ว o
แต่ละ Session เป็นอิสระจากกัน ดังนั้นเราสามารถเปิดโปรแกรมแยกกันในแต่ละ Pane ได้ มาแบ่งหน้าจอเป็น 4 ส่วนด้วยการแบ่งแนวตั้งและลองดู: Ctrl และ b แล้ว %
เปิดอะไรก็ได้ในแต่ละ Pane มันจะทำงานต่อไปขณะที่คุณเข้าถึงอีกอัน
เพื่อสร้าง Window ใช้: Ctrl และ b แล้ว c
คุณสามารถสลับกลับไป Window ก่อนหน้า หรือไปข้างหน้าหนึ่ง Window ด้วย:
Ctrl และ b แล้ว p
หรือ
Ctrl และ b แล้ว n
Status Bar ที่ด้านล่างหน้าจอแสดงกระบวนการที่กำลังรันในแต่ละ Window และว่าคุณอยู่ Window ไหน (มี "*" บอก) เพื่ออ้างอิง
เพื่อออกจาก Session tmux นี้ ใช้: Ctrl และ b แล้วพิมพ์ :detach-client
Session ของคุณจะไม่หยุดทำงาน เว้นแต่เครื่องของคุณ Reboot หรือคุณยกเลิกด้วยตนเอง เพื่อเข้าถึงอีกครั้ง ใช้:
tmux a -t babytmux
เพื่อสร้าง Tmux Sessions ที่เป็นอัศจริย์จริงๆ ที่กลับมาหลัง Reboot เราต้องติดปลั๊กอินหรือสอง
ติดตั้งปลั๊กอิน
การใช้ปลั๊กอินใน tmux ค่อนข้างตรงไปตรงมา แต่มี Plugin Manager ที่ติดตั้งได้เพื่อให้การติดตั้งปลั๊กอินต่อไปง่ายขึ้น
Plugin Manager
ติดตั้ง Tmux Plugin Manager โดยโคลนไฟล์จาก Github:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
เพิ่มโค้ดต่อไปนี้ลงใน .tmux.conf ในโฟลเดอร์ Home:
# List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' # Other examples: # set -g @plugin 'github_username/plugin_name' # set -g @plugin 'git@github.com/user/plugin' # set -g @plugin 'git@bitbucket.com/user/plugin' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run -b '~/.tmux/plugins/tpm/tpm'
เห็นได้ว่าจำเป็นต้องเพิ่ม GitHub username และชื่อปลั๊กอิน (พบใน URL GitHub ของปลั๊กอิน) สำหรับแต่ละปลั๊กอินที่ต้องการติดตั้ง Plugin Manager จะจัดการส่วนที่เหลือ ใช้โค้ดนี้เพื่อให้ Plugin Manager ทำงาน:
tmux source ~/.tmux.conf
ตอนนี้ สำหรับปลั๊กอินที่เราต้องการกู้คืน Session หลัง Reboot อ่านต่อไป
Resurrect
Tmux Resurrect ทำตามชื่อของมัน นำ Session ที่บันทึกกลับมาใช้งานด้วยคำสั่งง่ายๆ
ติดตั้งปลั๊กอินนี้โดยเพิ่มในไฟล์ .tmux.conf:
set -g @plugin 'tmux-plugins/tmux-resurrect'
ตอนนี้ ให้ Tmux Plugin Manager ติดตั้งด้วยคำสั่งใน tmux: Ctrl และ b แล้ว I (นี่คือ "i" ตัวพิมพ์ใหญ่)
เมื่อติดตั้งแล้ว เราสามารถเริ่ม Session และบันทึกได้ด้วย: Ctrl และ b แล้ว Ctrl + s
เพื่อกู้คืน Session ใช้: Ctrl และ b แล้ว Ctrl + r
ด้วยข้างต้น คุณสามารถรักษา Tmux Session ที่เป็นอัศจริย์ พร้อมเครื่องมือและกระบวนการที่คุณชอบไว้ แม้หลัง Reboot ลองทำดูและสำรวจคุณสมบัติของ tmux เพิ่มเติมเพื่อดึงประโยชน์สูงสุดจากเทอร์มินัลของคุณ