tmuxを何年も使い続けてきたが、画面を分割するたびに「tmux split pane horizontally」をGoogle検索していたのを今でも覚えている。デフォルトのキーバインドはCtrl+bに続いて%、そして"……初心者にはまったく優しくない。Zellijはまさにその痛みを解決するために生まれた。
従来のターミナルマルチプレクサが抱える現実的な問題
tmuxは優れたツールだが、習得コストが高い。使いこなすには専用のキーバインドを覚え、セッション・ウィンドウ・ペインの概念を理解し、まともなUIにするには~/.tmux.confをゼロから書く必要がある。Linuxサーバー管理を始めたばかりの人には不要なオーバーヘッドだ。
Zellijはアプローチが異なる。すべての操作は画面下部のステータスバーに直接表示される。今どのモードにいて、次に何ができるかが一目でわかる。覚える必要も、壁にチートシートを貼る必要もない。
技術的な面では、ZellijはRustで書かれているため、メモリフットプリントが小さく、時間が経ってもメモリリークが起きない。職場の古いCentOS 7サーバーでは、数か月連続稼働させるとscreenやtmuxのメモリ使用量がかなり膨らんでいた。Zellijにはその問題がない。
LinuxへのZellijインストール
Ubuntu / Debian
Zellijはaptのデフォルトリポジトリにはまだ含まれていない。最も手早い方法はバイナリリリースをダウンロードすることだ:
VERSION=$(curl -s https://api.github.com/repos/zellij-org/zellij/releases/latest \
| grep '"tag_name"' | cut -d'"' -f4)
curl -L "https://github.com/zellij-org/zellij/releases/download/${VERSION}/zellij-x86_64-unknown-linux-musl.tar.gz" \
-o /tmp/zellij.tar.gz
tar xf /tmp/zellij.tar.gz -C /tmp
sudo mv /tmp/zellij /usr/local/bin/
zellij --version
Arch Linux / Manjaro
sudo pacman -S zellij
Fedora / RHEL / CentOS
muslリンクのバイナリはglibcバージョンに依存しないためCentOS 7でも正常に動作する — これが職場のサーバーで使っている方法だ:
curl -L https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz \
| tar xz -C /tmp
sudo mv /tmp/zellij /usr/local/bin/
またはRustツールチェーンがある場合:
cargo install zellij
インストール後の確認
which zellij
zellij --version
# 出力: zellij 0.41.x
Zellijの詳細設定
設定ファイル
Zellijは以下の優先順位で設定ファイルを探す:
- 環境変数
$ZELLIJ_CONFIG_FILE ~/.config/zellij/config.kdl- 組み込みデフォルト
デフォルト設定をファイルに書き出して編集する:
mkdir -p ~/.config/zellij
zellij setup --dump-config > ~/.config/zellij/config.kdl
設定にはKDL形式を使用 — JSON/YAMLのような括弧やインデントを気にせず読みやすい:
// ~/.config/zellij/config.kdl
theme "catppuccin-mocha"
// ターミナルエミュレータでテキストを選択したい場合はマウスモードを無効化
mouse_mode false
// スクロールバッファ
scroll_buffer_size 10000
// ペインの枠線と名前を表示
pane_frames true
// クリップボードへコピー(Linux X11)
copy_command "xclip -selection clipboard"
// Waylandの場合: "wl-copy"
レイアウト — 保存して再利用できる画面構成
これはtmuxと比べたZellijの最大の強みだ。レイアウトはKDLファイルで定義でき、必要なときにいつでも読み込める。手動セットアップは不要:
mkdir -p ~/.config/zellij/layouts
// ~/.config/zellij/layouts/dev.kdl
layout {
pane size=1 borderless=true {
plugin location="zellij:tab-bar"
}
pane split_direction="vertical" {
pane split_direction="horizontal" {
pane {
name "editor"
command "nvim"
}
pane {
name "git"
size "30%"
}
}
pane {
name "server"
size "35%"
}
}
pane size=2 borderless=true {
plugin location="zellij:status-bar"
}
}
レイアウトを指定して起動:
zellij --layout ~/.config/zellij/layouts/dev.kdl
キーバインドのカスタマイズ
デフォルトではZellijはPaneモードにCtrl+p、TabモードにCtrl+tを使用する。より素早く操作したい場合は上書きできる:
// config.kdlに追加
keybinds {
normal {
// Alt+nで新しいペインを素早く作成
bind "Alt n" { NewPane; }
// 現在のペインを閉じる
bind "Alt w" { CloseFocus; }
// フローティングペインを素早く表示
bind "Alt f" { ToggleFloatingPanes; }
}
}
テーマ
利用可能なテーマ一覧を表示:
zellij setup --dump-themes | grep -E "^[a-z]"
人気のテーマ:dracula、tokyo-night-dark、catppuccin-mocha、gruvbox-dark、nord。config.kdlで設定:
theme "tokyo-night-dark"
実践的な使い方と動作確認
日常的な基本操作
zellij # 新しいセッションを開く
zellij attach # 実行中のセッションにアタッチ
zellij list-sessions # 現在のセッション一覧を表示
zellij -s dev # "dev"という名前のセッションを作成
セッション内の操作 — すべてステータスバーに表示されるので覚える必要はない:
- ペインを縦分割:
Ctrl+p→d - ペインを横分割:
Ctrl+p→n - ペイン間を移動:
Ctrl+p→ 矢印キー - ペインのリサイズ:
Ctrl+n→ 矢印キー - 新しいタブ:
Ctrl+t→n - フローティングペイン:
Ctrl+p→w - セッションをデタッチ:
Ctrl+o→d
フローティングペイン — tmuxにない機能
フローティングペインは最もよく使う機能だ。エディタ作業中に、コンテキストを失わずに素早くコマンドを実行したいときに使う:
# Ctrl+pを押してからwを押す
# 画面中央にフローティングペインが現れる — コマンドを実行
# もう一度Ctrl+p → wで非表示にして、エディタに戻る
タブを切り替える必要なく、作業中のペインのフォーカスを失わない。
セッション永続化の確認
SSH経由でリモートサーバーを操作する際の最重要ユースケースだ:
# サーバーにSSH接続してZellijを起動
zellij -s main
# 長時間実行するプロセスを開始
watch -n 2 df -h
# デタッチ: Ctrl+o → d
# ターミナルを閉じて、後でSSH再接続
# 再アタッチ — プロセスはまだ実行中
zellij attach main
SSH時の自動アタッチ
~/.bashrcまたは~/.zshrcに追加して、SSH接続のたびに自動でZellijに入るようにする:
# すでにZellijセッション内なら実行しない
if [[ -z "$ZELLIJ" ]]; then
zellij attach -c main 2>/dev/null || zellij -s main
fi
$ZELLIJ変数はセッション内で自動的に設定されるため、このコードが無限ループになることはない。
リソース使用量の確認
# ZellijのRAM使用量を確認
ps aux | grep zellij | grep -v grep
# より詳細に確認
pidof zellij | xargs -I{} cat /proc/{}/status | grep -E 'VmRSS|VmSize'
職場のCentOS 7サーバーでは — 目標のパフォーマンスを達成するためにかなりの最適化を行った後 — screenからZellijに移行することで、同数のセッションを開いた状態でメモリフットプリントが約50MBから約18MBに削減された。RAM 2GBのサーバーで多くのサービスを稼働させている場合、この数値は実際に意味がある。
Zellijとtmuxのどちらをいつ使うか
- ターミナルマルチプレクサ初心者: Zellij — 習得が速く、チートシート不要
- tmuxに慣れていてワークフローが問題ない: 急いで移行する必要はない
- フローティングペインが必要: Zellijが明確に優れている
- 豊富なプラグインエコシステムが必要: 現時点ではtmuxの方が大きい
- glibcバージョンが古いサーバー: ZellijのmuslバイナリならOK、tmuxはソースからビルドが必要な場合も
Zellijは急速に発展しており、リリースのたびに大幅な改善が加えられている。WebAssemblyを使用したプラグインシステムはまだ成熟していないが、長期的なポテンシャルは大きい。ゼロから作業環境を構築するなら、試してみる価値がある選択肢だ。

