- 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.