tmux logo

Terminal Multiplexer atau yang sejauh ini dikenal sebagai TMUX, berdasarkan pengalaman saya selama menggunakannya, merupakan salah satu tools open source yang menurut saya sangat membantu bagi yang biasa bekerja menggunakan terminal/ssh ke dalam server yang menggunakan sistem operasi Linux. Salah satu kegunaan TMUX yang paling membantu saya dalam pekerjaan adalah ketika saya diharuskan menjalankan sebuah command line dalam Linux misalnya menjalankan instalasi dan update package, atau menjalankan script yang dimana dalam proses jalannya command line tersebut membutuhkan waktu yang lama atau tidak sebentar, saya tidak perlu khawatir proses yang berjalan itu akan terhenti di tengah jalan atau menuju akhir karena koneksi atau session saya yang terputus dari server. Karena TMUX ini akan berjalan membuat sesi dan sesi tersbut tidak akan hilang selama server tempat kita menjalankan TMUX itu tidak mati atau sesi kita di hentikan. Pada tulisan ini saya akan menjelaskan dengan singkat cara menggunakan TMUX dan beberapa shortcut dalam TMUX yang biasa saya gunakan untuk membantu dalam pekerjaan saya.

Sebelumnya apabila TMUX belum di install pada server anda, bisa menggunakan cara berikut :

DistroCommand Instalasi
Arch Linuxpacman -S tmux
Debian/Ubuntuapt install tmux
Fedoradnf install tmux
RHEL/CentOSyum install tmux
MacOSbrew install tmux
OpenSUSEzypper install tmux

Setelah proses instalasi selesai, jalankan TMUX menggunakan command tmux atau tmux new -s <nama-sesi> untuk memulai sesi. Bedanya kedua command tersebut adalah apabila menjalankan command tmux saja ia akan membuat sesi dengan nama default dari tmux, sedangkan apabila tmux new -s itu akan membuat sesi dengan nama sesi sesuai dengan nama sesi yang kita inginkan.

tmux command only part 2

tmux command only

Kedua gambar diatas merupakan output apabila memulai sesi TMUX dengan command tmux saja. Bisa dilihat pada gambar nama default ketika saya menjalankan command tmux nama sesi nya “0”.

tmux new -s

tmux new -s part 2

Kedua gambar diatas merupakan output apabila memulai sesi TMUX dengan command tmux new -s <nama-sesi> . Bisa dilihat pada gambar diatas saya membuat sesi TMUX dengan nama “miftah”. Lalu bagaimana caranya untuk keluar dari sesi? Untuk keluar dari sesi TMUX bisa menggunakan shortcut dengan menekan kombinasi pada keyboard Ctrl+b kemudian d. Maka output nya anda akan keluar dari sesi TMUX (bisa dilihat pada gambar dibawah)

ctrl+b+d

Kemudian apabila ingin masuk kembali ke sesi sebelumnya, bisa menggunakan command tmux a -t <nama-sesi>. Apabila lupa dengan nama sesi yang baru saja atau sudah sebelumnya dibuat, untuk melihat sesi apa TMUX siapa saja yang berjalan bisa pada komputer/server kita bisa menggunakan command tmux ls (bisa dilihat pada gambar dibawah).

tmux ls

Sebenarnya bisa saja kita keluar dengan menggunakan kombinasi Ctrl+d, namun apabila kita menjalankan kombinasi tersebut maka otomatis sesi tmux yang sudah kita buat akan hilang. Ini sebenarnya saya tidak rekomendasikan karna takutnya ketika saya/kita sedang menjalankan command line yang prosesnya panjang dan dapat saya tinggal untuk mengerjakan pekerjaan lain, malah terhenti karena sesi tmux nya hilang :)

Setelah mengetahui cara membuat sesi tmux, kemudian masuk dan keluar dari sesi tmux yang sudah kita buat, berikut beberapa shortcut yang biasa saya gunakan beserta fungsinya :

  1. Membuat beberapa panel.

panel atas bawah panel kesamping

Shortcut untuk membuat beberapa panel ini terbagi 2 yaitu untuk membuat split panel baru kesamping dan kebawah. Untuk membuat panel baru kesamping menggunakan kombinasi Ctrl+b kemudian %, sedangkan untuk membuat panel baru kebawah menggunakan kombinasi Ctrl+b kemudian ". Shortcut ini biasanya saya gunakan untuk membandingkan isi dari kedua file yang berbeda. Seperti di gambar saya membandingkan isi file log1 dan log2. Kemudian shortcut ini juga bisa digunakan untuk membandingkan file konfigurasi antar server. Misalnya saya ingin membandingkan isi konfig pada server a dan server b, dengan shortcut ini saya bisa membandingkan kedua isi konfig server a dan server b hanya dengan membuat panel baru kemudian ssh ke server a atau b. Hanya saja ada kententuannya yaitu tempat saya menjalankan tmux ini adalah server jumphost atau server yang harus bisa mengakses server a dan server b.

  1. Berpindah panel.

pindah panel

Shortcut ini ada hubungannya dengan shortcut yang pertama. Untuk berpindah panel dari panel lama ke panel yang baru kita buat dapat menggunakan kombinasi Ctrl+b kemudian 🡠🡩🡢🡣tergantung keinginan kita ingin berpindah ke panel mana. Shortcut ini memungkinkan kita untuk membuat beberapa split panel dengan cara shortcut yang pertama(bisa lihat hasilnya gambar dibawah).

beberapa split panel

  1. Mengubah posisi panel.

Kadang kala ketika saya membuat banyak panel dalam session ini akan terjadi dimana panel berantakan, ada yang lebar ada yang sempit yang mengakibatkan ketika saya sedang menjalankan command line atau membaca informasi dari server menjadi tidak nyaman. Shortcut untuk mengubah posisi panel ini menurut saya berguna untuk merapihkan posisi panel menjadi lebih tertata rapih. Untuk shortcut nya sendiri dapat menggunakan kombinasi Ctrl+b kemudian spasi. Mungkin untuk lebih jelas nya dapat dilihat pada gambar dibawah ini.

posisi panel before

posisi panel after

Oiya untuk shortcut ini komposisi panelnya dapat berubah-ubah dengan terus menekan kombinasi Ctrl+b kemudian spasi sampai anda menemukan komposisi panel yang dirasa anda inginkan.

  1. Zoom in dan zoom out pada panel.

Shortcut ini menggunakan kombinasi Ctrl+b kemudian z untuk zoom in kedalam panel, dan kombinasi Ctrl+b kemudian z lagi untuk zoom out nya. Untuk lebih jelasnya dapat dilihat pada 2 gambar dibawah.

zoom before zoom after

Apabila dirasa shortcut ke 3 masih dirasa kurang untuk membuat saya nyaman untuk menjalankan command line atau membaca informasi dari server, maka saya gunakan shortcut ini untuk membuat saya lebih nyaman dalam menjalankan command line atau membaca informasi dari server.

  1. Menghapus/kill panel.

Apabila panel yang dibuat sudah terlalu banyak dan dirasa sudah tidak dibutuhkan, maka shortcut ini dapat membantu untuk menghapus/kill panel yang sudah tidak digunakan. Shortcut ini menggunakan kombinasi Ctrl+b kemudian x kemudian akan muncul dialog yes/no bisa ketik y kemudian tekan enter. Untuk contohnya dapat dilihat pada 2 gambar dibawah.

hapus panel before hapus panel after

  1. Membuat kolom panel terbaru.

Mungkin membingungkan dimana poin 6 ini sebenarnya mirip pada poin 1. Secara fungsional memang sama namun shortcut ini berbeda dimana pada shortcut ini adalah membuat kolom panel terbaru jika panel yang kita gunakan di kolom pertama kali membuat sesi tmux ini sudah tidak cukup lagi. Mungkin lebih jelas saya jabarkan pada gambar dibawah ini.

ctrl+b+c before ctrl+b+c after

Nah dari gambar diatas terlihat saya membuat kolom baru karena kolom pertama saat saya membuat sesi tmux ini sudah tidak cukup. Untuk shortcut nya sendiri dapat menggunakan kombinasi ctrl+b kemudian c. Untuk menghapus kolom terbaru yang sudah dibuat dapat langsung saja menggunakan kombinasi Ctrl+d. Pertanyaannya adalah bagaimana jika kita ingin kembali ke kolom sebelumnya apabila sudah membuat kolom panel terbaru? Untuk kembali atau berpindah dari kolom 1 ke kolom 2 begitupun sebaliknya dapat menggunakan kombinasi Ctrl+b kemudian p, p disini saya artikan sebagai previous atau kombinasi Ctrl+b kemudian n yang dimana n disini saya artikan sebagai next.

  1. Scrolling up and down.

Shortcut untuk scrolling ke atas dan bawah dalam tmux bisa menggunakan kombinasi Ctrl+b kemudian PageUp. Nah untuk scrolling ke atas bisa tekan terus PageUp nya, lalu untuk scroll kebawah dengan PageDown. Untuk keluar nya bisa menekan key q atau saya sebut quit.

  1. Fitur Synchronize Panes.

Nah ini merupakan fitur yang jitu dari TMUX menurut saya. Fitur synchronize panes ini adalah fitur yang membuat antara panel 1 dan panel 2 ini dapat mengetik secara bersamaan. Lebih detailnya adalah contoh saya diharuskan menjalankan command line apt-update pada server a sampai i, tentunya akan merepotkan jika saya sudah membuat split panel kemudian ssh dari server a sampai server i lalu berpindah panel dari a sampai i untuk menjalankan command line apt-update secara satu persatu. Nah dengan synchronize panes semua dapat dilakukan secara berbarengan. Shortcut untuk mengaktifkan fitur synchronize panes yakni dengan kombinasi Ctrl+b kemudian : lalu ketikan set synchronize-panes dan tekan enter. Maka dengan otomatis fitur ini akan aktif. Untuk menonaktifkan fitur ini dapat menggunakan cara yang sama seperti saat anda mengaktifkan fitur synchronize panes ini. Berikut saya berikan contoh gambar setelah diaktifkan fitur synchronize panes ini.

synchronize panes

  1. Fitur Mouse.

Tidak kalah jitu, fitur mouse ini singkatnya adalah fitur untuk mengaktifkan mode mouse pada tmux yang dimana ketika kita aktifkan fitur ini, kita dapat berpindah dari panel 1 ke panel lainnya dengan hanya klik mouse ke panel yang kita inginkan. Tidak hanya itu, kita juga bisa scroll dan juga copy paste tanpa harus menggunakan shortcut ke 7. Cara mengaktifkan dan menonaktifkan fitur ini ialah dengan kombinasi Ctrl+b kemudian : lalu ketikan set mouse dan tekan enter.

  1. Rename Panel & Session.

Seperti namanya, Rename disini berfungsi untuk mengganti nama baik nama sesi ataupun nama panel. Untuk mengubah nama panel bisa menggunakan kombinasi Ctrl + , (koma) kemudian hapus nama panel sebelumnya dalam dialog box ketikan nama baru untuk panel nya dan Enter apabila sudah selesai. Disini saya berikan contoh saya membuat 3 panel dengan nama default dari tmux nya.

Before rename panel

Kemudian saya jalankan kombinasi dari Ctrl+, lalu saya ganti namanya pada dialog box nya

Rename panel process

Saat sudah selesai menggunakan caranya, bisa dilihat di gambar berikut panel sudah ter-rename semuanya, sehingga memudahkan saya untuk mengkategorikan dalam panel ping berarti saya hanya menjalankan ping, kemudian panel dengan nama utility saya gunakan sebagai panel untuk melihat utilisasi dari server yang saya sedang remote , lalu panel dengan nama config saya gunakan sebagai panel untuk melihat atau merubah konfigurasi pada server yang sedang saya remote. Kurang lebih penerapan dari fitur ini bisa di gunakan seperti itu.

After rename panel

Kemudian untuk Rename Session , caranya adalah dengan kombinasi Ctrl+: lalu kemudian ketikan rename-session -t [nama session saat ini] kemudian [nama session baru] lalu Enter. Disini saya memberikan contoh mengubah nama session saya yaitu miftah menjadi new-miftah. Berikut nama sesi sebelum saya rubah

Before rename session

Saya jalankan caranya lalu berikut proses nya saya mengganti nama sesi dari miftah menjadi new-miftah

Rename Session

Kemudian apabila sudah selsai berikut hasilnya

After rename Session

  1. Kill Session.

Untuk kill session tmux bisa menggunakan command tmux kill-session -t targetSession yang dimana targetSession disini ialah nama tmux yang sudah dibuat. Namun kita juga bisa untuk kill session saat kita sedang berada dalam session tmux tersebut. Caranya adalah dengan cara kombinasi Ctrl+b kemudian : lalu ketikan kill-session. Bisa dilihat dari gambar dibawah

kill session nanti setelah session ter-kill, kita akan otomatis keluar seperti kita keluar dari session tmux dengan command Ctrl+d yang akan mengeluarkan output berikut :

1
[exited]

Kira-kira sekian beberapa shortcut pada tmux yang biasa saya gunakan untuk membantu saya dalam pekerjaan. Semoga tulisan ini dapat membantu, apabila ada kesalah pemahaman atau kekeliruan dari tulisan saya, feel free untuk dikoreksi dan didiskusikan bersama karena saya pun masih belajar sampai tulisan ini dibuat. Akhir kata terima kasih sudah membaca and have a nice day! :D

Refrensi : https://github.com/tmux/tmux/wiki