Setelah memahami arsitektur, saatnya menggerakkan mesin: membuat dan mengelola session, menavigasi window layaknya tab, serta membagi dan menavigasi pane dengan prefix key.

Di episode 2 sebelumnya kita membedah arsitektur tmux: model client-server, hierarki session → window → pane, komunikasi lewat Unix socket, dan cara status bar dirender. Pada episode ini kita mulai menggerakkan mesinnya: mengelola lifecycle session, window, dan pane — tiga tingkat yang akan kalian sentuh setiap hari.
Mengapa ini penting di dunia nyata? Saat memulai pekerjaan di server produksi, kalian biasanya membuat satu session bernama sesuai konteks tugas (misalnya deploy, migrasi, debug-api), membuka beberapa window untuk editor, log, dan top, lalu membagi pane untuk memantau beberapa hal sekaligus. Siklus buat → pakai → lepas → sambung lagi → hancurkan adalah pola harian setiap engineer. Kalian akan melakukannya ratusan kali seumur hidup — jadi buatlah otomatis.
Session adalah unit persistence: inilah yang kalian buat, lampirkan, lepaskan, dan hancurkan. Seluruh lifecycle-nya bisa dikendalikan dari command line, di dalam tmux, atau lewat skrip.
tmux new -s deploy
tmux new -s migrasitmux new -s <nama> membuat session dengan nama yang mudah dikenali. Nama yang deskriptif penting karena kalian akan memilihnya lagi saat attach. Jika nama tidak diberikan, tmux memberi nomor urut (0, 1, ...).
tmux new-session -d -s deploy "sudo systemctl status nginx"Flag -d (detached) membuat session di background tanpa menempelkan client — sangat berguna untuk mem-bootstrap environment kerja dari skrip. Kita akan menggali otomasi ini di episode 11.
Untuk masuk ke session yang sudah ada:
tmux attach -t deploy
tmux attach
tmux a -t deploytmux attach tanpa -t menempel ke satu-satunya session yang berjalan. tmux a adalah alias singkatnya.
Untuk keluar sementara dari session tanpa menutupnya: tekan Ctrl+B lalu d. Kalian kembali ke prompt shell, tapi semua proses di dalam session tetap berjalan.
Tip
Ini momen yang paling sering disalahpahami: detach (Ctrl+B lalu d) berbeda dengan exit (Ctrl+D atau exit). Detach melepas client dari server; exit menutup shell di pane — dan jika itu pane terakhir, session ikut mati. Kalau kalian hanya ingin "menunda" pekerjaan, gunakan detach.
tmux ls
deploy: 2 windows (created Mon Aug 2 08:00:00 2026)
migrasi: 1 windows (created Mon Aug 2 08:05:00 2026)tmux ls (atau tmux list-sessions) menampilkan semua session beserta jumlah window-nya.
tmux kill-session -t migrasi
tmux kill-servertmux kill-session -t <nama> mematikan session dan semua proses di dalamnya — gunakan dengan hati-hati. tmux kill-server mematikan server beserta seluruh session.
Warning
kill-session bukan "save dan tutup". Ini membunuh proses di dalam pane tanpa peringatan — seperti menutup terminal yang berisi proses berjalan. Pastikan tidak ada pekerjaan penting yang belum selesai sebelum mengeksekusi perintah ini.
Setiap session (dan window) memiliki working directory sendiri. Saat membuat session, tmux mengambil working directory dari direktori tempat kalian menjalankan tmux new. Untuk kontrol eksplisit:
tmux new -s proyek -c ~/proyek/web
tmux new-window -c ~/proyek/apiIni penting: window editor, window log, dan window CLI bisa dimulai dari direktori yang berbeda tanpa harus cd manual.
Window adalah "tab" dalam sesi. Semua dikendalikan lewat prefix key.
| Shortcut | Fungsi |
|---|---|
Ctrl+B lalu c | Buat window baru (create) |
Window baru langsung aktif dengan prompt shell di working directory session.
| Shortcut | Fungsi |
|---|---|
Ctrl+B lalu n | Window berikutnya (next) |
Ctrl+B lalu p | Window sebelumnya (previous) |
Ctrl+B lalu 0-9 | Langsung ke window nomor n |
Ctrl+B lalu w | Pilih window lewat daftar interaktif |
Ctrl+B lalu l | Kembali ke window yang terakhir diakses |
| Shortcut | Fungsi |
|---|---|
Ctrl+B lalu , | Rename window (ketik nama, tekan Enter) |
Ctrl+B lalu f | Temukan window berisi teks (find) |
Ctrl+B lalu f sangat berguna saat banyak window terbuka — ketik potongan teks yang tampil di window tujuan, dan tmux melompat ke sana.
Tip
Biasakan memberi nama window yang bermakna (log, code, top) dengan Ctrl+B lalu ,. Status bar akan menampilkan nama-nama ini, dan menavigasi sesi yang ramai terasa jauh lebih mudah — apalagi saat berbagi layar dengan tim.
| Shortcut | Fungsi |
|---|---|
Ctrl+B lalu & | Tutup window (konfirmasi dengan y) |
exit di pane terakhir | Tutup window sekaligus |
Sama seperti session, menutup window mengakhiri proses di dalam semua panenya. tmux meminta konfirmasi sebelum menutup.
Pane adalah split viewport dalam window. Di sinilah tmux menawarkan "layar ganda" yang bebas mouse.
| Shortcut | Fungsi | Layout |
|---|---|---|
Ctrl+B lalu % | Split vertikal (kiri-kanan) | Dua pane berdampingan |
Ctrl+B lalu " | Split horizontal (atas-bawah) | Dua pane bertumpuk |
Perhatikan: % membuat batas pemisah vertikal (pane di kiri & kanan), sedangkan " membuat batas pemisah horizontal (pane di atas & bawah). Keduanya bisa dikombinasikan berulang:
Ctrl+B + % Ctrl+B + " Ctrl+B + % di pane kiri
+----------+----------+ +------+------+------+
| a | b | | a | b | c |
| | | | | | |
+----------+----------+ +------+------+------+| Shortcut | Fungsi |
|---|---|
Ctrl+B lalu panah | Pindah ke pane di arah tersebut |
Ctrl+B lalu q | Tampilkan nomor pane di layar |
Ctrl+B lalu z | Zoom satu pane ke layar penuh (tekan lagi untuk kembali) |
Ctrl+B lalu o | Pindah ke pane berikutnya (rotate) |
Ctrl+B lalu ! | Promosikan pane menjadi window sendiri (break) |
Ctrl+B lalu x | Tutup pane (konfirmasi dengan y) |
Ctrl+B lalu q menampilkan nomor tiap pane — sangat membantu saat menavigasi layout yang kompleks. Ctrl+B lalu z (zoom) memperbesar satu pane sementara: mengedit file tanpa gangguan lalu kembali ke layout.
| Shortcut | Fungsi |
|---|---|
Ctrl+B lalu x | Tutup pane (konfirmasi y) |
exit di dalam pane | Tutup pane (jika pane terakhir, window ikut tertutup) |
Note
Ketika sebuah window hanya punya satu pane, Ctrl+B lalu x atau exit akan menutup window tersebut. Dan ketika hanya ada satu window, menutupnya menutup session. Aturan berantai ini penting — ikuti jalur "pane → window → session" saat menghancurkan sesuatu.
| Level | Shortcut | Fungsi |
|---|---|---|
| Session | tmux new -s <nama> | Buat session |
| Session | tmux attach -t <nama> | Attach session |
| Session | tmux ls | Daftar session |
| Session | Ctrl+B lalu d | Detach |
| Session | tmux kill-session -t <nama> | Hancurkan session |
| Window | Ctrl+B lalu c / n / p / 0-9 | Buat / next / prev / lompat |
| Window | Ctrl+B lalu , / f / & | Rename / find / tutup |
| Pane | Ctrl+B lalu % / " | Split vertikal / horizontal |
| Pane | Ctrl+B lalu panah / q / z | Navigasi / nomor / zoom |
| Pane | Ctrl+B lalu x | Tutup pane |
tmux new -s latihan, lalu buat 3 window (Ctrl+B lalu c tiga kali).Ctrl+B lalu n / p / 0-3 sampai tanpa berpikir.Ctrl+B lalu ,, ketik nama, Enter.Ctrl+B lalu % lalu Ctrl+B lalu ", lalu Ctrl+B lalu panah untuk berpindah.Ctrl+B lalu z untuk memperbesar, tekan lagi untuk kembali.Ctrl+B lalu d, lalu tmux attach -t latihan. Proses tetap hidup.tmux kill-session -t latihan.exit di pane terakhir mematikan session. Jika hanya ingin menunda, gunakan detach (Ctrl+B lalu d), bukan exit.-t. tmux kill-session -t salah akan gagal dengan can't find session. Cek dulu tmux ls.deploy, tapi menjalankan tmux new -s deploy lagi malah membuat session kedua (tmux otomatis menamainya). Jika ingin kembali ke pekerjaan lama, selalu tmux attach -t deploy.-s <nama> dan Ctrl+B lalu ,.% membagi kiri-kanan (batas vertikal), " membagi atas-bawah (batas horizontal). Ingat: % adalah split yang "tinggi", " adalah split yang "lebar".Ctrl+B lalu x membunuh proses di pane. Pastikan proses build/deploy di pane itu memang sudah selesai.Di episode 3 ini kalian sudah menguasai lifecycle dasar tmux: membuat dan mengelola session (new, attach, ls, detach, kill-session), menavigasi window layaknya tab (c, n/p/0-9, , rename, f find), serta membagi dan menavigasi pane (% split vertikal, " split horizontal, panah, z zoom). Siklus buat → pakai → lepas → sambung lagi → hancurkan sekarang ada di ujung jari kalian.
Poin penting yang harus kalian bawa:
Ctrl+B lalu d) ≠ exit — detach menyimpan, exit menghancurkan.% = split vertikal, " = split horizontal — kombinasi keduanya menciptakan layout kompleks.Ctrl+B lalu q menampilkan nomor pane; Ctrl+B lalu z untuk zoom fokus.Sekarang kalian bisa "tinggal" di dalam tmux. Di episode 4 selanjutnya, kita akan membahas Prefix Key & Keybindings — memahami sistem keybinding tmux, cara melihat dan mencari shortcut (Ctrl+B lalu ?), dasar-dasar bind-key dan unbind-key, menambahkan custom keybinding di ~/.tmux.conf, hingga membuat kombinasi keybinding yang berlapis. Pastikan tetap semangat, karena kontrol penuh atas keyboard tmux akan segera ada di tangan kalian!