17 poin oleh GN⁺ 2025-08-04 | Belum ada komentar. | Bagikan ke WhatsApp
  • tmux telah digunakan dalam waktu lama, tetapi belakangan muncul keraguan terhadap kompleksitas dan keterbatasannya (kompatibilitas warna, scrollback, penyalinan dengan mouse, tidak mendukung protokol tertentu, dll.)
  • Fitur utama tmux seperti persistensi sesi (detach/attach) atau pembagian/pengelolaan jendela tidak harus selalu diwujudkan dengan tmux
  • Dengan memanfaatkan tool ringan berfilosofi Unix seperti dtach, abduco, shpool, kita bisa fokus pada pengelolaan sesi sambil tetap mendapatkan scrollback native dan kesederhanaan
  • Khususnya, melalui kombinasi shpool + ssh, dimungkinkan membangun lingkungan untuk mengelola beberapa sesi remote langsung dengan window manager, sambil tetap memakai fitur native (notifikasi, scroll, title, dll.) apa adanya
  • Meski tidak sempurna, menurut penulis pendekatan ini sepenuhnya bisa menggantikan tmux, dan menghadirkan workflow yang sederhana serta mudah dirawat

Kelebihan dan Kekurangan tmux

  • Fitur seperti mempertahankan sesi (detach/attach) dan pengelolaan jendela (tab, split) selama ini merupakan inti workflow yang disediakan tmux
  • Namun, tanpa pengaturan TERM yang benar, muncul masalah rendering warna, dan kompleksitas bertambah karena perlu mempertimbangkan interaksi antara terminal dan tmux
  • Penggunaan buffer scroll juga mengharuskan pengguna membiasakan diri dengan cara kerja tmux yang terpisah, dan penyalinan area dengan mouse juga terasa kurang nyaman di lingkungan splits
  • Dukungan terhadap fitur terminal baru seperti kitty graphics protocol juga kurang memadai, termasuk masalah tidak didukungnya protokol eksperimental
  • Ada juga kritik bahwa multiplexer, karena menafsirkan ulang escape code yang tumpang tindih serta menambahkan konsep sesi/jendela, menghambat perkembangan ekosistem terminal

Menjelajahi Cara Pengganti tmux

  • Persistensi sesi:
    • Solusi sederhana seperti ctrl-z + fg, nohup, disown memang ada, tetapi sulit menjadi pengganti penuh
    • Muncul berbagai tool yang memang bertujuan hanya mempertahankan sesi (dtach, abduco, shpool)
      • Menghubungkan daemon dan klien melalui kombinasi fork() dan UNIX socket
      • Berbeda dari tmux, tanpa split virtual sehingga mendukung scrollback native, dan sebagian juga menyediakan pemulihan buffer
    • Dari pengalaman penggunaan, sebagian besar tool pengganti masih kurang matang karena bug dan masalah seperti keybind detach yang tidak berfungsi di dalam nvim
    • Hanya shpool yang dinilai paling matang dari sisi perintah detach/attach dan kustomisasi keymap
  • Pengelolaan jendela:
    • Di lokal, pembagian dan penataan dikelola oleh window manager
    • Di lingkungan remote (SSH) pun, dengan menggabungkan ssh_config dan shpool, beberapa sesi dapat dipertahankan secara independen di jendela terpisah
    • Dikombinasikan dengan autossh, sesi tetap terjaga bahkan di lingkungan yang memerlukan reconnect jaringan

Workflow Baru

  • Secara pribadi, penulis mengelola jendela dengan ghostty (laptop) dan sway+foot (PC pribadi). Server berjalan di VM headless berbasis Proxmox, sehingga lingkungan pengembangan via SSH selalu aktif
  • Beberapa sesi shpool dihubungkan otomatis melalui shortcut ssh, lalu dikendalikan secara independen dari window manager lokal
    • Otomatisasi attach sesi shpool untuk tiap host di ssh_config
    • Memungkinkan akses terpisah ke banyak sesi seperti IRC, pengelolaan dotfiles, dan lingkungan neovim yang berbeda untuk tiap terminal
  • Fitur-fitur yang didukung tmux secara kurang stabil, seperti scroll native, notifikasi, dan title terminal, justru bekerja lebih alami
  • Tetap ada kekurangan: pemulihan status terminal saat reconnect ke vim bisa tertunda, dan ada masalah resize saat memakai nvim
    • Tidak mendukung multiplayer (konflik sesi saat autossh aktif bersamaan dari beberapa klien)
  • Namun, menurut standar pribadi penulis, ini merupakan keberhasilan penuh dalam menggantikan tmux

Kesimpulan

  • Meski tidak sepenuhnya identik, ada kemungkinan beralih ke workflow pengelolaan sesi yang lebih sederhana dan fleksibel, lepas dari kompleksitas serta keterbatasan tmux
  • Bergantung pada workflow masing-masing, tool alternatif seperti shpool layak dipertimbangkan

Belum ada komentar.

Belum ada komentar.