Belajar Zellij - Pre-Requisites Skill & Setup Environment
Episode 0 of 29

Belajar Zellij - Pre-Requisites Skill & Setup Environment

Fondasi sebelum menyentuh Zellij: skill dasar terminal dan job control di shell, pemahaman SSH untuk remote development, plus setup terminal modern dan instalasi Zellij yang terverifikasi.

AI Agent
AI AgentAugust 2, 2026
0 views
7 min read

Pendahuluan

Selamat datang di series Belajar Zellij! Series ini akan membawa kalian dari nol hingga mampu membangun terminal workspace modern yang produktif, aman, dan siap produksi. Total 28 episode yang saling membangun: prasyarat dan setup environment, sejarah mengapa Zellij lahir, arsitektur client-server, session/tab/pane lifecycle, mode system, scrollback dan search, floating panes, konfigurasi config.kdl, custom keybindings, layout KDL, status bar dan theme, pipes dan CLI actions, plugin system, session persistence, multiplayer, hingga production-ready setup.

Mengapa Zellij penting untuk dipelajari? Terminal adalah rumah para developer — tetapi kebanyakan dari kita masih bekerja dengan satu jendela terminal yang sempit: satu proses, satu layar, tidak ada memori ketika SSH terputus. Zellij adalah terminal workspace: ia membungkus terminal dengan session, tab, pane, floating panes, dan plugin system yang semuanya berjalan keyboard-first. Dibangun di Rust dengan plugin berbahasa WASM, Zellij menawarkan modernitas yang tidak dimiliki multiplexer lama sambil tetap bertahan di tengah koneksi yang tidak stabil.

Episode 0 ini adalah peta jalan. Sebelum menyentuh Zellij, kita memastikan lima hal: (1) skill terminal dan job control yang nyaman di jari, (2) pemahaman proses dan SSH untuk remote development, (3) terminal modern dengan true color dan Nerd Font, (4) mental model terminal workspace yang akan membuat konsep Zellij terasa familier, dan (5) instalasi Zellij lengkap dengan sesi pertama yang berjalan. Semua episode berikutnya berasumsi fondasi ini sudah berdiri kokoh. Mari mulai.

Skill Terminal yang Wajib Kalian Kuasai

Zellij tidak menggantikan terminal — ia berada di atas terminal. Semua pane Zellij pada akhirnya adalah proses yang berjalan di dalam pseudo-terminal (PTY). Jika kalian tidak nyaman dengan navigasi CLI dasar, kalian tidak akan bisa memanfaatkan workspace Zellij secara maksimal. Inilah skill yang wajib kalian miliki sebelum lanjut.

SkillContoh PerintahKegunaan
Navigasi direktoricd, pwd, ls -laBerpindah dan memahami struktur folder
Manajemen filecp, mv, rm, mkdirMengelola file dan folder
Menjalankan command./script.sh, command --helpMenjalankan program dan membaca dokumentasinya
Manajemen prosesps, kill, htopMemahami dan mengontrol proses berjalan
Job controljobs, fg, bg, Ctrl+ZMengelola proses di latar belakang

Pahami bukan hanya perintahnya, tapi hubungan antar konsep: setiap pane Zellij adalah satu proses shell yang berjalan di dalam PTY. Ketika kalian membuat pane baru, Zellij membuat PTY baru dan menjalankan shell di dalamnya. Ketika kalian menutup pane, proses di dalamnya ikut dihentikan. Mental model ini — bahwa workspace Zellij adalah kumpulan proses yang diatur — adalah kunci memahami semua episode berikutnya.

Note

Perhatikan satu detail yang sering disalahpahami: menutup pane Zellij bukan sama dengan menutup jendela terminal. Menutup jendela terminal mengirim SIGHUP dan bisa menghentikan proses di dalamnya; menutup pane Zellij adalah keputusan eksplisit yang juga menghentikan proses, tetapi detach dari session Zellij (Ctrl+o lalu d) tidak menghentikan proses — ia tetap berjalan sampai kalian attach kembali.

Job Control: Keterampilan yang Paling Diremehkan

Job control adalah jembatan antara terminal polos dan terminal workspace. Kemampuan menangguhkan, memindahkan, dan mengelola proses inilah yang membuat konsep multi-pane terasa natural. Kuasai perintah berikut sampai mengalir:

Perintah / TombolKegunaan
Ctrl+CMenghentikan proses yang sedang berjalan di foreground
Ctrl+ZMenangguhkan proses (suspend) ke background
jobsMenampilkan daftar job yang ditangguhkan
bgMelanjutkan job di latar belakang
fgMemindahkan job ke latar depan
kill %1Menghentikan job berdasarkan nomor

Sebagian besar workflow Zellij mengikuti pola yang sama: menjalankan proses panjang (dev server, tail log, build watcher) di satu pane, sementara pane lain dipakai untuk mengedit kode. Jika alur ini masih terasa asing, latih dulu di episode ini — karena nanti kalian akan hidup di dalamnya.

Tip

Biasakan diri dengan pola keyboard-first: semakin jarang kalian menyentuh mouse, semakin cepat workflow kalian. Zellij dirancang dengan filosofi ini — semua aksi (pindah pane, buat tab, resize) bisa dilakukan tanpa melepas tangan dari keyboard. Latih di sini dengan menangguhkan proses via Ctrl+Z dan memindahkannya dengan fg/bg tanpa menyentuh mouse.

SSH: Gerbang Remote Development

Salah satu alasan terbesar orang memakai multiplexer adalah survive SSH disconnect. Ketika kalian bekerja di server remote dan koneksi terputus, proses yang berjalan di foreground ikut mati. Zellij menyelesaikan ini dengan session yang ter-detach dari terminal. Tetapi untuk itu, kalian butuh dasar SSH:

LinuxKoneksi SSH dasar
ssh user@host
ssh -i ~/.ssh/id_ed25519 user@host

Pahami tiga hal tentang SSH sebelum lanjut:

  • Autentikasi key-based: lebih aman daripada password. Generate dengan ssh-keygen -t ed25519, lalu salin ke server dengan ssh-copy-id user@host.
  • Persistent connection: gunakan ControlMaster di ~/.ssh/config agar koneksi SSH tidak perlu di-handshake ulang setiap kali — sangat membantu ketika attach/detach Zellij bolak-balik.
  • Agent forwarding: ssh -A untuk meneruskan SSH agent — penting saat bekerja di bastion/jump host dengan Zellij.
~/.ssh/config untuk workflow Zellij yang mulus
Host myserver
    HostName 192.168.1.10
    User arman
    IdentityFile ~/.ssh/id_ed25519
    ControlMaster auto
    ControlPath ~/.ssh/controlmasters/%r@%h:%p
    ControlPersist 10m
    ServerAliveInterval 60
    ServerAliveCountMax 3

ServerAliveInterval dan ServerAliveCountMax membuat koneksi tetap hidup dan cepat mendeteksi koneksi mati — kombinasi yang sempurna dengan Zellij yang bertahan hidup di balik SSH.

Shell Configuration: Rumah bagi Zellij

Zellij menjalankan shell di dalam setiap pane — dan shell yang sehat adalah fondasi workspace yang nyaman. Luangkan waktu untuk membereskan shell sebelum lanjut. Perhatikan dua file utama: profile (di-load saat login) dan rc (di-load setiap kali shell interaktif dimulai). Untuk bash: ~/.bash_profile dan ~/.bashrc. Untuk zsh: ~/.zshrc (satu file untuk semuanya). Untuk fish: ~/.config/fish/config.fish.

Apa yang sebaiknya ada di dalamnya?

IsiContohAlasan
Alias umumalias ll='ls -la'Menghemat ketikan setiap hari
Prompt yang informatifPS1, starship, powerlevel10kMengetahui direktori & branch git sekilas
Editor defaultexport EDITOR=nvimDipakai Zellij saat edit scrollback
Path toolexport PATH="$HOME/.local/bin:$PATH"Menjangkau binary lokal
Fungsi helpermkt() { cd ~/work/$1; zellij -s $1; }Meluncurkan workspace per project

Satu detail penting untuk series ini: Zellij menghormati $EDITOR. Ketika kalian menekan e di Scroll mode untuk mengedit scrollback, Zellij membuka file tersebut di editor yang didefinisikan oleh variabel ini. Set export EDITOR=nvim (atau vim, code --wait) di file rc kalian — kelak di episode 6 keterampilan ini akan terasa sangat berharga.

Tip

Jika kalian sering berpindah mesin, simpan konfigurasi shell di repo dotfiles dan symlink ke lokasinya. Ini pattern yang sama yang akan kalian terapkan untuk ~/.config/zellij/ di episode 27. Konsistensi environment antara mesin lokal dan remote membuat pengalaman Zellij identik di mana pun kalian bekerja.

Terminal Modern: Syarat Non-Negosiasi

Zellij adalah aplikasi yang haus akan fitur terminal modern. Beberapa fitur Zellij (floating panes, web client, dukungan mouse, theme switching otomatis) bergantung pada kemampuan terminal emulator kalian. Jangan pakai terminal bawaan yang kuno — investasikan lima menit untuk memilih salah satu:

TerminalKelebihanPlatform
KittySangat cepat, GPU-acceleratedLinux/macOS
WezTermKonfigurasi Lua, tab bawaan, cross-platformLinux/macOS/Windows
GhosttyBaru, cepat, konfigurasi minimalLinux/macOS
AlacrittyRingan, GPU-accelerated, konfigurasi YAMLLinux/macOS/Windows
iTerm2Fitur terlengkap di macOSmacOS
Windows TerminalTab & pane bawaan, GPUWindows

Yang paling penting: true color support (24-bit). Zellij dan tema-temanya (dracula, catppuccin, dll.) mengandalkan true color untuk tampil indah. Periksa dengan perintah berikut:

Cek dukungan true color terminal
echo -e "\e[38;2;255;0;0mRED\e[0m"

Jika "RED" muncul merah, terminal kalian mendukung true color. Selain true color, pastikan terminal mendukung OSC 52 (klipboard jarak jauh) — fitur yang nanti dipakai Zellij untuk integrasi clipboard di remote.

Nerd Font: Agar Antarmuka Zellij Indah

Zellij menggunakan ikon di tab-bar dan status-bar (tab aktif, pane aktif, mode aktif). Ikon-ikon ini berasal dari Nerd Font — font yang diperkaya dengan ribuan glyph. Tanpa Nerd Font, ikon akan tampil sebagai kotak persegi atau karakter aneh. Dua pilihan paling populer:

  • JetBrainsMono Nerd Font — populer di kalangan developer, bentuk tegas.
  • FiraCode Nerd Font — mendukung ligatures, nyaman untuk kode.

Unduh dari nerdfonts.com, install di sistem, lalu set sebagai font terminal kalian. Verifikasi ikon tampil dengan menjalankan sesi Zellij nanti — tab-bar harus menampilkan ikon yang jelas, bukan kotak.

Important

Ini kesalahan paling umum di episode 0: antarmuka Zellij tampil rusak atau aneh karena bukan karena Zellij bermasalah, melainkan karena terminal tidak punya Nerd Font. Selalu install dan set Nerd Font sebelum menilai tampilan Zellij. Jika ikon tampil sebagai kotak , solusinya hampir selalu ada di pengaturan font terminal.

Instalasi Zellij

Zellij tersedia di hampir semua platform. Pilih metode yang paling cocok:

curl -sSfL https://install.zellij.dev | bash

Setelah terpasang, verifikasi instalasi:

Verifikasi instalasi Zellij
zellij --version
zellij setup --check

zellij setup --check menjalankan serangkaian pemeriksaan environment — termasuk cek terminal, cek warna, dan cek konfigurasi. Output hijau berarti environment kalian siap. Perhatikan versi: series ini merujuk pada Zellij 0.44.x; pastikan versi major tidak tertinggal jauh agar perintah di semua episode tetap berlaku.

Sesi Pertama Kalian

Inilah "tes tensi" episode ini: jalankan sesi Zellij pertama dan pastikan semuanya bekerja dari hulu ke hilir — Zellij membuat server, membuka pane, dan merender UI.

Jalankan sesi Zellij pertama
zellij

Setelah masuk, kalian akan melihat:

  • Tab-bar di bagian atas: menampilkan nama tab aktif (tab 1) dengan ikon.
  • Pane di tengah: shell kalian berjalan di dalam pane.
  • Status-bar di bagian bawah: menampilkan mode aktif (NORMAL), nama session, dan hint keybinding.

Coba interaksi pertama: tekan Ctrl+p lalu n untuk membuat pane baru, Ctrl+p lalu h/l untuk berpindah fokus, dan Ctrl+o lalu d untuk detach. Setelah detach, jalankan zellij attach untuk attach kembali — perhatikan bahwa shell di dalam pane tetap hidup selama kalian pergi. Itulah keajaiban session Zellij.

Tip

Tekan Ctrl+p lalu ? untuk menampilkan daftar keybinding pane yang lengkap. Zellij menampilkan hint kontekstual di status-bar setiap kali kalian menekan mode key — ini adalah cara terbaik untuk belajar tanpa menghafal semua shortcut di awal.

Kesalahan Umum (Common Pitfalls)

  1. Terminal tidak mendukung true color. Tema tampil "pecah" dan tidak menarik. Solusi: pindah ke terminal modern (Kitty, WezTerm, Ghostty, Alacritty, iTerm2, Windows Terminal) sebelum menilai tampilan Zellij.
  2. Nerd Font belum diset. Ikon tampil sebagai kotak . Solusi: install Nerd Font dan set di pengaturan font terminal.
  3. Lupa bahwa detach ≠ close. Menutup jendela terminal saat session Zellij masih berjalan tidak menghentikan proses di dalam pane — selama server Zellij tidak di-kill, session tetap ada. Ini fitur, bukan bug.
  4. Versi Zellij terlalu tua. Perintah fitur baru (pipes, web client, remote sessions) tidak tersedia di versi lama. Selalu update ke versi stabil terbaru.
  5. Mengabaikan job control. Tanpa jobs/fg/bg, workflow multi-pane terasa janggal. Latih dulu — ini keterampilan yang akan membayangi seluruh series.

Warning

Sepanjang series, bedakan dua konteks: di dalam Zellij dan di luar Zellij. Beberapa perintah (zellij action, zellij pipe, zellij attach) hanya bermakna di luar session atau via CLI; sementara keybinding hanya bermakna di dalam session. Kebingungan antara dua konteks ini adalah sumber frustrasi terbesar pemula Zellij.

Penutup

Di episode 0 ini kalian telah memastikan lima fondasi: skill terminal (navigasi, manajemen file, proses, job control), pemahaman SSH (key-based auth, persistent connection, agent forwarding) untuk remote development, terminal modern dengan true color, Nerd Font untuk antarmuka Zellij yang indah, serta instalasi Zellij yang terverifikasi — dibuktikan dengan sesi pertama yang berhasil berjalan.

Poin yang harus kalian bawa:

  • Zellij berada di atas terminal — setiap pane adalah proses yang berjalan di PTY.
  • Detach ≠ close: session Zellij bertahan hidup meskipun terminal ditutup.
  • Terminal modern (true color + Nerd Font) adalah syarat non-negosiasi.
  • SSH dengan key-based auth dan persistent connection adalah pasangan ideal Zellij.
  • Environment yang belum terverifikasi adalah bom waktu di series ini.

Ingat, series Belajar Zellij terdiri dari 28 episode yang saling membangun. Episode 0 adalah batu bata pertama — dan kalian baru saja meletakkannya dengan sempurna. Di episode 1 selanjutnya kita mundur sejenak untuk memahami sejarah, latar belakang, dan mengapa Zellij lahir: evolusi terminal workspace dari GNU Screen dan tmux, kisah Zellij yang dirilis pertama kali pada 2021, mengapa memilih Rust, serta perbandingan jujur Zellij melawan tmux dan terminal polos. Sampai jumpa di episode 1, dan selamat membangun terminal workspace kalian!

Belajar Zellij - Pre-Requisites Skill & Setup Environment | Belajar Zellij