Terminal multiplexer adalah sebuah program yang memungkinkan kita membuka beberapa pseudo terminal di satu terminal. Atau bisa dianalogikan: window manager untuk mode teks. Dua terminal multiplexer yang terkenal adalah GNU Screen dan tmux. Terminal multiplexer ini sangat praktis untuk banyak hal:
- Menjalankan beberapa program yang outputnya bisa dibandingkan dengan split Window
- Bisa untuk copy paste di mode teks antar program apapun
- Bisa bisa meninggalkan program yang sedang berjalan dan bisa diteruskan aksesnya dari komputer lain
Dulu saya memakai GNU Screen untuk pemakaian sehari-hari. Screen ini merupakan program yang sudah sangat lama, sejak 1987. Sampai sekarang pun saya masih memakai Screen untuk mengakses serial port.
Sejak ada tmux di tahun 2007, banyak orang berpindah ke tmux. Beberapa kelebihan tmux adalah: lebih ringan (butuh lebih sedikit resource) dan lebih mudah dikendalikan dengan script dibandingkan Screen. Fitur akses serial port tidak ada di tmux, jadi itu alasan saya masih memakai screen.
Untuk pemula, pemakaian tmux sangat sederhana: jalankan “tmux”, nanti kita akan diberi shell, tapi di bagian bawah ada indikator bahwa kita berada dalam tmux. Defaultnya dengan menekan Ctrl-B lalu D, kita akan keluar (detach). Untuk kembali: jalankan tmux attach (atau “tmux a”) saja sudah cukup. Kita akan kembali ke layar terakhir waktu melakukan “Detach”.
Kita bisa menjalankan program yang lama (misalnya mendownload sesuatu), menekan Ctrb-B D, logout (tentunya jangan dimatikan komputernya), dan ketika login lagi lalu tmux attach, maka program akan terus berjalan dan kita bisa melihat outputnya.
Ada banyak fitur tmux yang bisa dibaca di berbagai tutorial, beberapa yang bisa dipelajari di antaranya:
- Bagaimana mengubah prefix Ctrl-B menjadi tombol lain (ini bentruk dengan key Emacs, jadi saya ganti)
- Bagaimana membuka multiple session
- Bagaimana melakukan split pane
- Bagaimana scroll ke atas (Control B-[) dan copy paste
Tmux bisa dikendalikan dari command line, misalnya kita bisa membuat Window baru, lalu menjalankan perintah di window tersebut. Ada juga package Python yang bisa digunakan untuk mengendalikan tmux dari skrip kita.
Demikian perkenalan singkat mengenai screen dan tmux. Tmux ini merupakan salah satu tool yang saya pakai setiap hari. Di Android ada juga program yang namanya Termux, ini juga bisa dipandang sebagai terminal multiplexer (walau fungsi lainnya ada banyak). Termux tidak ada hubungannya dengan tmux (dan dari dalam Termux kita bisa menjalankan tmux).