How to Install and Use Zellij in Linux for Fast Terminal Multiplexing and Workspace Management

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:

  1. Start a named session for a dedicated development project:
    zellij --session dev-workspace
  2. To detach from your session while leaving all tasks running in the background, press Ctrl + o followed by d.
  3. List all currently running background sessions:
    zellij list-sessions
  4. Reattach to an active session at any time:
    zellij attach dev-workspace
  5. 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.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.