Belajar Tmux - Sejarah, Latar Belakang & Mengapa Membutuhkan Tmux
Episode 1 of 28

Belajar Tmux - Sejarah, Latar Belakang & Mengapa Membutuhkan Tmux

Sebelum menggunakan tmux, kita perlu paham dari mana terminal multiplexer ini lahir: masalah sebelum GNU Screen (1987), kelahiran tmux oleh Nicholas Marriott (2007), hingga peta versi 3.x yang membawa fitur-fitur modern.

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

Pendahuluan

Di episode 0 sebelumnya, kita sudah menyiapkan fondasi: skill dasar (navigasi CLI, job control, SSH, environment variable), instalasi tmux 3.7b, terminal modern dengan true color, Nerd Font, dan tooling pendukung. Nah, di episode 1 ini kita akan mundur sejenak dan membahas mengapa tmux ada di dunia ini — karena sebelum memahami cara kerja sebuah tool, kalian harus paham masalah apa yang ia pecahkan dan dari mana ia berasal.

Mengapa ini penting di dunia nyata? Tools bermunculan setiap tahun, dan keputusan memilih tool yang tepat tidak bisa diambil dari sekadar "tool ini populer". Kalian harus paham mengapa sebuah terminal multiplexer yang lahir dari tahun 1987 masih dipakai jutaan engineer di 2026 — dan mengapa tmux, yang baru lahir 2007, menjadi standar de facto di server Linux.

Di episode ini kita akan membahas tiga hal: perjalanan evolusi terminal multiplexer dari GNU Screen hingga tmux, masalah-masalah nyata yang diselesaikannya, dan cara membandingkan tmux dengan alternatif modern seperti Zellij.

Evolusi Terminal Multiplexer

Masalah Sebelum Multiplexer Modern

Bayangkan era sebelum terminal multiplexer: satu terminal, satu prompt, satu proses foreground. Ingin menjalankan dua hal sekaligus? Kalian harus membuka terminal baru, tab baru, atau memakai job control yang kikuk. Dan ketika koneksi SSH terputus — karena network drop, laptop tidur, atau timeout server — seluruh proses di terminal remote mati. Sebuah deployment yang berjalan 3 jam bisa hangus hanya karena Wi-Fi kantor mati sedetik.

Inilah masalah inti yang melahirkan terminal multiplexer: memisahkan proses dari layar.

GNU Screen (1987)

Tahun 1987, GNU Screen rilis — multiplexer pertama yang populer di ekosistem Unix. Screen memungkinkan satu terminal membuka beberapa virtual screen, menyimpan sesi di balik koneksi yang terputus, dan kembali (re-attach) ke sesi yang sama dari terminal mana pun. Screen adalah terobosan besar: untuk pertama kalinya seorang engineer bisa detach, pulang, lalu melanjutkan pekerjaan dari laptop di rumah.

Namun Screen menua dengan buruk. Codebase-nya monolitik dan sulit dikembangkan, lisensinya kontroversial (sebagian kode berasal dari asal-usul non-GPL), dan fitur modern — 256 warna, clipboard terintegrasi, skrip ekstensi — terasa lambat hadir.

Kelahiran Tmux (2007)

Tahun 2007, Nicholas Marriott, developer yang frustrasi dengan keterbatasan Screen, memulai proyek baru: tmux (terminal multiplexer). Visinya jelas sejak awal:

  • Client-server architecture: satu server tmux mengelola semua sesi di background, sementara client hanyalah terminal yang menempel padanya.
  • Modular & scriptable: konfigurasi dan kontrol penuh dari command line, mendukung scripting.
  • Bebas dan terbuka: dirilis di bawah lisensi ISC, dikembangkan terbuka oleh komunitas.
  • Modern sejak awal: dukungan 256 warna (dan kini true color), clipboard, serta kontrol yang granular.

Sejak itu tmux tumbuh menjadi standar de facto di server Linux — alat wajib bagi Software Engineer, DevOps, dan SysAdmin.

Timeline Versi Tmux

VersiTahunTonggak Utama
1.x2007-2012Fondasi: client-server, session/window/pane, konfigurasi
2.x2013-2018256 color, clipboard control, format strings matang, plugin ecosystem
3.0 - 3.42019-2023Pane menu, respawn commands, kontrol status bar lebih dalam
3.52024Popup & menu: display-popup membuat terminal kecil melayang
3.62025Pane scrollbar & hyperlink bawaan di status area
3.72026Floating pane, copy-mode line selection (shift + arrow)
3.7a / 3.7b2026Rilis bugfix yang memperbaiki regresi 3.7

Important

Yang perlu kalian ingat bukan sekadar tanggal, melainkan pola evolusinya: tmux terus menambahkan kemampuan yang membuat terminal layak menjadi IDE — popup, menu, floating pane, scrollbar. Fitur-fitur ini akan kita bahas di episode 21 (popups & fitur terbaru). Pastikan versi kalian 3.7b agar semuanya bisa dicoba.

Masalah yang Diselesaikan Tmux

Session Bertahan Saat SSH Putus

Ini adalah pembunuh utama: koneksi SSH putus, semua proses remote mati. Dengan tmux, kalian bekerja di dalam sesi yang dijalankan oleh server tmux — proses di dalamnya tidak menerima SIGHUP saat client terlepas. Deployment, build, log streaming, editor — semuanya tetap hidup. Cukup tmux attach untuk kembali dari mana pun kalian berada.

Banyak Task dalam Satu Terminal

Tanpa multiplexer, mengelola aplikasi, database, log, dan editor berarti membuka banyak terminal atau tab — boros memori, terpecah perhatian, dan mudah hilang. tmux mengorganisir semuanya dalam satu layar: session sebagai wadah kerja, window sebagai tab, dan pane sebagai split viewport.

Berbagi Layar & Kolaborasi

Satu sesi tmux bisa di-attach oleh banyak client sekaligus. Dua engineer bisa melihat layar yang sama secara real-time — sempurna untuk pair debugging di server produksi atau berbagi output log. Kita akan bahas kolaborasi ini di episode 16 (multi-server & shared session).

Otomasi Workflow

Karena tmux sepenuhnya scriptable lewat command mode, kalian bisa menyusun ulang layout, mengeksekusi perintah di banyak pane sekaligus, dan mem-bootstrap environment kerja dengan satu skrip. Kita akan membangun kemampuan ini mulai episode 11 (scripting & otomasi CLI).

Alur Kerja Harian di Server Produksi

Ilustrasi paling nyata: kalian SSH ke server produksi, menjalankan tmux new -s deploy, menjalankan deploy script yang butuh 45 menit, lalu detach dan makan siang. Koneksi WiFi kafe terputus berkali-kali — tidak masalah. Saat kembali, tmux attach -t deploy memunculkan kembali layar persis di posisi terakhir, dengan deploy sudah selesai sukses. Tanpa tmux, deploy itu mati di percobaan pertama.

Inilah mengapa tmux sering disebut "asuransi" bagi engineer yang bekerja jarak jauh. Perilaku bertahan hidup ini murni berasal dari desain arsitektur client-server — dan itulah yang akan kita bedah di episode 2.

Kapan Memakai Alat yang Mana

Tmux bukan satu-satunya pemain di lapangan. Pilih berdasarkan kebutuhan:

AspekTerminal PolosGNU ScreenTmuxZellij
Tahun rilis-198720072022
ArsitekturTunggalMonolitikClient-serverClient-server
Session/window/paneTidakYaYaYa
Scriptable / CLITerbatasTerbatasSangat kuatCukup
Konfigurasi-File rc~/.tmux.confYAML
Plugin ecosystem-MinimTPM, besarSedang
Popup / floating-TidakYa (3.5+)Ya
PerformaPaling ringanRinganRinganCukup
Status project-MaintenanceAktifAktif
Cocok untukTask sederhanaLegacy / env minimalStandar de factoPengguna baru yang suka UX modern

Note

Fair untuk dikatakan: GNU Screen bukan tool yang buruk — ia tetap andal di lingkungan sangat minimalis dan sudah terpasang di hampir semua distro. Zellij menawarkan UX yang lebih ramah pemula (mouse support & layout preset bawaan). Tapi untuk skripabilitas, kematangan, dan adopsi di infrastruktur produksi, tmux adalah pilihan utama — dan itulah mengapa series ini fokus ke tmux.

Verifikasi: Cek Versi Tmux

Sebelum lanjut, pastikan lingkungan episode 0 masih sehat:

Cek versi tmux
tmux -V
 
tmux 3.7b

Jika output sudah tmux 3.7b, kalian siap melanjutkan ke episode berikutnya.

Kesalahan Umum (Common Pitfalls)

  1. Menganggap tmux "cuma tab tambahan". tmux bukan sekadar terminal multiplexing sederhana — arsitektur client-server dan detach/attach adalah inti kekuatannya. Pahami modelnya (episode 2) sebelum mengkustomisasi.

  2. Langsung memasang 30 plugin sebelum paham dasar. Plugin tidak akan menyelamatkan kalian dari tidak paham session/window/pane. Fundamental dulu (episode 2-5), plugin setelahnya (episode 12).

  3. Menghafal sejarah secara kaku. Kalian tidak perlu hafal tanggal. Yang penting pahami masalah yang dipecahkan: sesi bertahan, banyak task, kolaborasi, dan otomasi.

  4. Memilih tool berdasarkan hype. Zellij dan Screen punya tempatnya masing-masing (lihat tabel di atas). Pilih berdasarkan kebutuhan produksi, bukan tren.

  5. Tidak memverifikasi versi. Fitur episode 21 (popup, floating pane) butuh 3.5+. Jika masih 3.2, kalian akan kebingungan saat mencoba. Selalu cek tmux -V.

  6. Berhenti di "sudah bisa detach". Detach hanyalah 5% dari kekuatan tmux. Series ini 28 episode karena masih banyak yang akan kalian kuasai setelahnya.

Penutup

Di episode 1 ini kita sudah menempuh perjalanan sejarah: memahami masalah yang melahirkan terminal multiplexer, GNU Screen (1987), kelahiran tmux oleh Nicholas Marriott (2007), serta peta versi 2.x hingga 3.7b yang membawa popup, scrollbar, dan floating pane.

Poin penting yang harus kalian bawa:

  • GNU Screen (1987) memperkenalkan konsep detach/attach; tmux (2007) memodernkannya dengan arsitektur client-server.
  • tmux menyelesaikan empat masalah nyata: sesi bertahan, banyak task, kolaborasi, dan otomasi.
  • Versi 3.5+ membawa popup & menu, 3.6 scrollbar & hyperlink, 3.7 floating pane & line selection, dan 3.7b adalah bugfix terakhir.
  • Untuk produksi, tmux adalah standar de facto dibanding Screen maupun Zellij.

Sekarang teori sudah matang, saatnya membedah cara kerja mesinnya. Di episode 2 selanjutnya, kita akan membahas Konsep Dasar & Arsitektur Utama — memahami model client-server, hierarki session → window → pane, bagaimana proses berkomunikasi lewat Unix socket, dan bagaimana status bar dirender. Pastikan tetap semangat, karena pemahaman arsitektur ini adalah kunci menguasai seluruh series.