Developers, system administrators, and power users frequently juggle numerous command-line processes simultaneously, from compilation pipelines and log streams to SSH connections. While legacy terminal multiplexers like tmux and screen have served the community for decades, their steep learning curves and intricate keybindings can hinder productivity. Zellij is a modern, Rust-powered terminal workspace and multiplexer designed out of the box with intuitive visual status bars, responsive floating panes, modular layouts, and built-in session resilience.
This technical guide explains how to install Zellij on various Linux distributions, master essential keyboard navigation, configure bespoke pane layouts, and manage persistent background sessions.
Why Choose Zellij Over Legacy Multiplexers?
Zellij elevates the terminal multiplexing experience through several distinctive architectural design choices:
- Self-Documenting Interface: A clean status bar at the bottom dynamically displays available shortcuts matching your active modal state, eliminating the need to memorise obscure cheat sheets.
- Floating and Tiled Panes: Seamlessly toggle between conventional tiled grids and floating overlays for transient tasks like quick git commits or monitoring system resources.
- WebAssembly Plugin Architecture: Custom extensions and file pickers run sandboxed using WebAssembly (Wasm) without degrading shell latency.
- Native Session Resurrecting: Detach from long-running tasks on remote servers and reattach effortlessly without losing terminal scrollback or running processes.
Installing Zellij on Linux Distributions
Zellij is available across standard package repositories, cargo, and direct standalone binaries.
Method 1: Direct Binary Installation (Universal)
To acquire the latest pre-compiled static binary directly from GitHub releases:
curl -LO https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz
tar -xvf zellij-x86_64-unknown-linux-musl.tar.gz
sudo install zellij /usr/local/bin/
zellij --version
Method 2: Ubuntu and Debian (via Cargo or PPA)
If you have the Rust toolchain installed, compile Zellij directly via cargo:
cargo install --locked zellij
Alternatively, install via Homebrew on Linux:
brew install zellij
Method 3: Arch Linux and Fedora
On Arch Linux, Zellij resides in the official extra repositories:
sudo pacman -S zellij
On Fedora Linux, install via the official repository or COPR:
sudo dnf install zellij
Core Navigation and Modal Modes
Zellij employs an intuitive modal structure similar to modern text editors. Pressing specific modifier keys enters targeted action modes:
| Keybinding | Action / Mode | Description |
|---|---|---|
Ctrl + p |
Pane Mode | Create, split (vertical/horizontal), close, or float panes |
Ctrl + t |
Tab Mode | Spawn new tabs, switch active tabs, or rename workspaces |
Ctrl + n |
Resize Mode | Expand or shrink active pane dimensions using arrow keys |
Ctrl + s |
Scroll Mode | Navigate buffer scrollback and search output text |
Ctrl + o |
Session Mode | Detach from session or manage background workspaces |
Alt + f |
Toggle Floating | Convert active pane between tiled and floating view |
Managing Persistent Sessions
One of Zellij’s most practical strengths is maintaining background terminal sessions across SSH disconnections or system logouts:
- Start a named session for a dedicated development project:
zellij --session dev-workspace - To detach from your session while leaving all tasks running in the background, press
Ctrl + ofollowed byd. - List all currently running background sessions:
zellij list-sessions - Reattach to an active session at any time:
zellij attach dev-workspace - Kill a completed session cleanly:
zellij kill-session dev-workspace
Creating Custom Workspace Layouts
Zellij allows you to declare reproducible workspace layouts using human-readable KDL syntax. Layout files reside in ~/.config/zellij/layouts/. Create a file named dev.kdl:
layout {
default_tab_template {
children
pane size=1 borderless=true {
plugin location="zellij:status-bar"
}
}
tab name="Code" split_direction="vertical" {
pane size="60%"
pane split_direction="horizontal" {
pane
pane command="htop"
}
}
}
Launch your declared layout instantly with a single command:
zellij --layout dev
Configuring Default Theme and Behaviour
To initialise and inspect the default configuration file, execute:
zellij setup --dump-config > ~/.config/zellij/config.kdl
Open ~/.config/zellij/config.kdl in your preferred editor to adjust default colour palettes (such as Catppuccin, Gruvbox, or Nord), simplify the UI bar, or remap modifier keys to match your daily workflow.