Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Linux

Zellij: Terminal Multiplexer ที่เปลี่ยนเกม แทนที่ Tmux และ Screen ได้จริง

Terminal Multiplexer ไม่ได้แค่จัดระเบียบ Workflow มันเปลี่ยนแปลงการโต้ตอบกับ Development Environment ทั้งหมด ช่วยให้ดำเนินการลื่นไหลระหว่าง Deploy Code, Debug Server หรือแค่เขียน Script มี Multiplexer หลายตัว อย่าง Tmux และ Screen แต่ถ้าคุณมือใหม่ อาจรู้สึกซับซ้อน ยากต่อการตั้งค่า Zellij ตอบโจทย์: ใช้งานง่าย ทำงานทันที ไม่ต้อง Setup

คุณสมบัติหลักของ Zellij

Zellij มีฟีเจอร์ครบครันที่ Multiplexer สมัยใหม่ต้องการ มาดูบ้าง:

  • ใช้งานได้ทันทีหลังติดตั้ง ไม่ต้องสร้างหรือดูแล Config File ซับซ้อน
  • มี Terminal UI ภายในพร้อม Status Bar คงอยู่ แสดง Keybindings ที่ใช้งานอยู่ โหมดปฏิสัมพันธ์ปัจจุบัน และข้อมูล Pane/Tab
  • ระบบ Mode-based Interaction ที่ชัดเจนสำหรับจัดการ Panes, Tabs และ Resize พร้อมแสดง Action ที่พร้อมใช้ในแต่ละโหมดบนหน้าจอ
  • ระบบ Pane รองรับ Split แนวนอน/แนวตั้ง นำทางด้วยคีย์บอร์ดแบบ 직관ปรับขนาดแบบไดนามิก Floating Panes สำหรับงานชั่วคราว และรองรับ Mouse
  • Tabs จัดกลุ่ม Panes ที่เกี่ยวข้องเป็น Workspace แยกกัน จัดการหลาย Task/Project ใน Session เดียวได้ง่าย
  • กำหนด Layout Templates ใช้ซ้ำได้ ระบุตำแหน่ง Pane และคำสั่งเริ่มต้น เปิดสภาพแวดล้อมทำงานครบถ้วนทันที
  • รันเป็น Background Server Process Session คงอยู่ข้าม Crash, Network Disconnect และ Reboot รองรับ Reattach และ Session Resurrection
  • Plugin System ベース WebAssembly ขยายได้ปลอดภัย และมี Web Client เข้าถึง Session ผ่าน Browser

การติดตั้งและตั้งค่า

ติดตั้งผ่าน Package Manager แนะนำ เพราะผสานกับระบบสะอาด เช่น Arch Linux:

sudo pacman -S zellij

Fedora Linux:

sudo dnf install zellij

Zellij มีใน Repo ส่วนใหญ่ แต่ ไม่มีใน Ubuntu หรือ Debian ติดตั้งผ่าน Snap:

sudo snap install zellij --classic

หรือผู้ที่มี Rust Toolchain ติดตั้งผ่าน Cargo:

cargo install --locked zellij

--locked ให้ Version และ Dependencies ตรงกับที่โปรเจกต์ทดสอบ

นอกจากนี้ Zellij มี Launch Script เบาๆ รันได้โดยไม่ต้องติดตั้งถาวร เหมาะทดลองเร็วหรือ Env ชั่วคราว

bash 

บน macOS ติดตั้งผ่าน Homebrew ปกติ:

brew install zellij

ติดตั้งเสร็จ เรียกใช้ด้วย:

zellij
Zellij: Terminal Multiplexer ที่เปลี่ยนเกม แทนที่ Tmux และ Screen ได้จริง

Interface เปิดทันทีใน Terminal พร้อม Default Layout ใช้ Panes, Tabs, Sessions ได้เลย ไม่ต้อง Config ก่อน

หมายเหตุ: Zellij ออกแบบสำหรับ Unix-like (Linux, macOS) ผู้ใช้ Windows ใช้ผ่าน WSL ได้ดีมาก

ปรับแต่ง Configuration File

Zellij ไม่ต้องการ Config File ก็ใช้งานได้ แต่ถ้าอยากปรับพฤติกรรม ทำได้ผ่าน Config File เขียนด้วย KDL (KDL Document Language) เน้นความอ่านง่ายและยืดหยุ่น ไฟล์อยู่ที่ ~/.config/zellij/config.kdl

ผ่านไฟล์นี้ ปรับ Keybindings, กำหนด Default Layouts, ปรับ UI, Config Plugins, เปลี่ยน Themes ได้ ทั้งหมด Optional เพิ่มทีละน้อยตาม Workflow ที่เปลี่ยนไป

Zellij: Terminal Multiplexer ที่เปลี่ยนเกม แทนที่ Tmux และ Screen ได้จริง

เซฟไฟล์ รีสตาร์ท Zellij 設定才生效 จากนั้นปรับค่าเบาๆ ตามความต้องการ Workflow

Layouts, Sessions และ Keybindings ที่เข้าใจง่ายสุดๆ

Layout ของ Zellij ทำให้ทุกอย่างมองเห็นได้ เปิดแล้ว Status Bar คงอยู่แสดงโหมดปัจจุบันและ Keys ที่ใช้ได้ ไม่ต้องเดาว่าจะจัดการ Panes หรือ Tabs ยังไง กำจัด Context-switching ที่ทำช้าลงใน Multiplexer ตัวอื่น

Zellij: Terminal Multiplexer ที่เปลี่ยนเกม แทนที่ Tmux และ Screen ได้จริง

กำหนด Layout ครั้งเดียว Zellij กู้คืนทุกอย่างเหมือนเดิม: Process ที่รันอยู่, Logs, ตำแหน่ง Panes, Scroll History สลับ Project ใช้ไม่ถึงวินาที ไม่ต้องจัดใหม่ทุกครั้งเริ่มงาน

อีกจุดสำคัญ: Zellij ผูก Keybindings ผ่าน Modes แทนที่จะเป็น Key Combo ซับซ้อน ให้เข้าสู่ Mode แล้วใช้ Keys เรียบง่าย จดจำง่าย ใช้งานเร็ว

ขยาย Zellij ด้วย Plugins และ Extensions

จุดนี้ Zellij เปลี่ยนจากเครื่องมือง่าย กลายเป็น Workspace อันทรงพลัง Plugin System ใช้ WebAssembly (WASM) เร็ว ปลอดภัยจาก Crash และทำงานเหมือนกันทุกเครื่อง เพราะรันใน Sandbox ลองเครื่องมือชุมชนได้โดยไม่กลัว Crash Terminal Session ทั้งหมด

Out-of-the-box มี Essentials ที่ชีวิตง่ายขึ้น โปรดของผมคือ Strider File Manager Built-in 长得像 VS Code Sidebar เรียกดูและเปิดไฟล์ได้โดยไม่ต้องออกจาก Terminal ยังมี Session Manager เป็น Dashboard 視覺化 ช่วยตั้งชื่อ จัดระเบียบ สลับ Project ทันที

Zellij: Terminal Multiplexer ที่เปลี่ยนเกม แทนที่ Tmux และ Screen ได้จริง

แม้แต่ Status Bar ก็ปรับแต่งได้ แสดงเฉพาะสิ่งที่ต้องการ เช่น แบตเตอรี่ปัจจุบัน หรือ Active Git Branch

Zellij vs Tmux: ควรสลับหรือไม่?

Tmux เป็น Multiplexer เก่าแก้ว ไว้ใจได้ เบา และมีเกือบทุก Server เหมาะสำหรับงาน Remote ที่ติดตั้งซอฟต์ใหม่ไม่ได้ 雖然 Tmux ทำอะไรก็ได้ แต่มักรู้สึกซับซ้อนกับมือใหม่

Zellij: Terminal Multiplexer ที่เปลี่ยนเกม แทนที่ Tmux และ Screen ได้จริง

แตกต่างกัน Zellij รองรับ Modern Dev Workflow โดยเฉพาะบน Local Machine ใช้งานได้ทันที Out-of-the-box รองรับ Mouse 直覺 Status Bar แสดง Keys ใช้งานอยู่ Layout Engine ยืดหยุ่น รองรับ Floating Panes ฟีเจอร์เหล่านี้ทำให้จัดการหลายหน้าต่างรู้สึก tự nhiên ลด Friction ที่ทำช้าใน Tmux

ควรสลับไหม? ถ้าคุณเป็น Developer ใช้เวลาส่วนใหญ่บน Local Machine มือใหม่ถูก Tmux ข่มขู่ หรือรู้สึกรำคาญกับ Config ซับซ้อน Zellij จะเข้าใจง่ายและผลิตภาพมากกว่า คนที่ทำงาน Remote Server หลัก หรือมี Tmux Setup ที่สมบูรณ์แล้ว อาจไม่ต้องสลับ

สรุป

ถ้าคุณใช้เวลามากใน Terminal ควรลอง Zellij เหมาะสำหรับผู้ใช้ Terminal ที่อยากทำงานมีประสิทธิภาพใน Workspace ที่จัดระเบียบดี นอกจากนี้ ถ้าหาเครื่องมือทำให้ Terminal สนุกขึ้น คู่มือนี้คุ้มค่าที่จะดู