Zellij — терминальный мультиплексор, написанный на Rust: панели, вкладки, плавающие окна, лейауты и статус-бар с подсказками. В отличие от tmux, он показывает доступные действия прямо на экране, поэтому им проще пользоваться без заучивания комбинаций. Разберём установку, работу с сессиями и конфигурацию.

Установка

Zellij есть в репозиториях многих дистрибутивов, а также в виде готового бинарника и Flatpak.

# Debian/Ubuntu
sudo apt install zellij
# Fedora
sudo dnf install zellij
# Arch
sudo pacman -S zellij
# Flatpak
flatpak install flathub org.zellij.Zellij
# проверить версию
zellij --version

Если в репозитории старая версия, установите через cargo или возьмите готовый бинарник с официальной страницы релизов — и проверьте контрольную сумму перед запуском.

# если установлен Rust
cargo install --locked zellij
# либо скачайте архив с релизами проекта, сверьте sha256 и распакуйте в ~/.local/bin
sha256sum zellij-*.tar.gz
mkdir -p ~/.local/bin && tar -xzf zellij-*.tar.gz -C ~/.local/bin

Первый запуск и интерфейс

После запуска внизу отображается строка подсказок: нажатия модификатора переключают режимы, а подсказки показывают, что доступно. Это главное отличие от tmux.

# запустить
zellij
# сразу с именем сессии
zellij -s work
# посмотреть доступные команды
zellij --help | head -30

По умолчанию модификатор — Ctrl + p для панелей и Ctrl + t для вкладок. Точные сочетания зависят от версии и конфигурации, поэтому ориентируйтесь на подсказки внизу экрана.

Панели и вкладки

Панель — область внутри вкладки, вкладка — набор панелей. Разделение похоже на tmux, но переключение нагляднее.

# типовые действия
# Ctrl+p, затем n — новая панель
# Ctrl+p, затем d — разделить вправо
# Ctrl+p, затем r — разделить вниз
# Ctrl+t, затем n — новая вкладка
# Ctrl+t, затем стрелки — переключение вкладок
# Ctrl+p, затем x — закрыть панель

Плавающие панели удобны для быстрого просмотра логов или документации, не нарушая основную раскладку.

# плавающая панель
# Ctrl+p, затем w
# переместить фокус
# Ctrl+p, затем стрелки

Сессии

Сессия переживает закрытие терминала: к ней можно подключиться с другого окна или по SSH. Это основной сценарий для серверной работы.

# список сессий
zellij list-sessions
# подключиться к сессии
zellij attach work
# создать новую, если нет
zellij attach --create work
# убить сессию
zellij kill-session work
# убить все
zellij kill-all-sessions

На сервере держите одну именованную сессию на задачу: так проще вернуться к работе после обрыва соединения.

Конфигурация

Файл конфигурации написан на KDL — это простой текстовый формат. Настройте тему, модификатор, поведение копирования и стартовый лейаут.

mkdir -p ~/.config/zellij
cat > ~/.config/zellij/config.kdl <<'EOF'
keybinds {
    normal {
        bind "Ctrl g" { SwitchToMode "locked"; }
    }
}
theme "catppuccin-mocha"
default_shell "bash"
copy_command "wl-copy"
EOF
# проверить, что файл читается и версия на месте
zellij --version
ls -l ~/.config/zellij/config.kdl

Тема задаётся именем из встроенного набора или пользовательским файлом. Для Wayland укажите copy_command "wl-copy", для X11 — xclip -selection clipboard.

Лейауты

Лейаут описывает стартовую раскладку: сколько панелей, какие команды в них запускать. Это избавляет от ручной сборки окружения каждый раз.

cat > ~/.config/zellij/layouts/work.kdl <<'EOF'
layout {
    tab name="code" {
        pane command="nvim" { args "src/main.py"; }
        pane split_direction="vertical" {
            pane command="bash" { size "60%"; }
            pane command="htop";
        }
    }
    tab name="logs" {
        pane command="journalctl" { args "-f"; }
    }
}
EOF
# запуск с лейаутом
zellij --layout work

Плагины

Zellij поддерживает плагины на WASM: файловый менеджер, просмотр сессий, таймеры. Устанавливайте только те, которым доверяете: плагин работает внутри вашего терминала.

# каталог плагинов
ls ~/.config/zellij/plugins 2>/dev/null | head
# список доступных плагинов проекта
# https://zellij.dev/plugins

Zellij или tmux

  • Zellij проще для новичков: подсказки и единый модификатор.
  • tmux зрелее и чаще встречается на серверах по умолчанию.
  • Zellij лучше работает с современными терминалами и Wayland-буфером.
  • tmux имеет больше плагинов и примеров в интернете.
# оба можно держать установленными
tmux -V 2>/dev/null; zellij --version 2>/dev/null

Типичные проблемы

  • Не копируется текст — не задан copy_command.
  • Ломаются горячие клавиши — конфликт с терминалом или оболочкой.
  • Сессия не находится — проверьте имя и права пользователя.
  • Плагин не запускается — несовместимая версия или отсутствует разрешение.
# журнал
ls ~/.cache/zellij 2>/dev/null
zellij --debug 2>&1 | tail -30

Работа по SSH и восстановление сессии

Главный сценарий мультиплексора — не потерять работу при обрыве соединения. Сессия продолжает жить на сервере, а вы подключаетесь заново.

# на сервере
ssh user@server
zellij attach --create main
# при обрыве связи просто подключитесь снова
ssh user@server -t "zellij attach main"

Команда -t выделяет псевдотерминал, без неё attach может завершиться ошибкой. Для нескольких задач держите разные сессии: main, db, logs.

# переименовать текущую сессию (в интерфейсе)
# Ctrl+p, затем s — список сессий
zellij list-sessions
zellij kill-session old-work

Автоматизация запуска

Лейауты можно комбинировать с переменными окружения и вызывать из скриптов: например, одна команда поднимает окружение для конкретного проекта.

#!/bin/bash
# /usr/local/bin/project-shell
set -euo pipefail
cd "$1"
zellij attach --create "$(basename "$1")" 2>/dev/null || zellij --layout dev

Не храните в лейауте пароли и токены: файл читается всеми, у кого есть доступ к домашнему каталогу.

Настройка статус-бара и подсказок

# в config.kdl можно скрыть подсказки, когда они мешают
# simplified_ui true
# show_startup_tips false
grep -n "simplified_ui\|show_startup_tips" ~/.config/zellij/config.kdl 2>/dev/null

Ограничения и типичные ошибки

  • Старые терминалы не поддерживают часть escape-последовательностей.
  • Конфликт модификатора с tmux или оболочкой.
  • Плагины требуют совместимой версии Zellij.
  • Копирование в Wayland не работает без настроенного wl-copy.
# проверить TERM и поддержку цветов
echo $TERM
tput colors 2>/dev/null

Итог

Zellij — удобный современный мультиплексор с понятными подсказками, сессиями и лейаутами. Начните с одной сессии и двух панелей, затем добавьте конфиг и лейаут под свою работу. Для серверов держите именованные сессии, а для копирования на Wayland настройте wl-copy.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте