Perintah tmux Linux adalah terminal multiplexer, seperti layar. Pendukungnya banyak dan vokal, jadi kami memutuskan untuk membandingkan keduanya. Apakah tmux benar-benar lebih baik, atau hanya sekedar memilih apa yang Anda ketahui?
tmux vs. screen
Baik perintah layar tmux dan GNU adalah terminal multiplexer. Mereka memungkinkan Anda untuk memiliki banyak jendela dalam satu jendela terminal, dan berpindah-pindah di antara jendela-jendela tersebut. Sebuah jendela dapat dibagi menjadi beberapa panel, yang masing-masing memberi Anda baris perintah independen.
Anda juga dapat melepaskan sesi dan sesi tersebut menjadi entitas tanpa kepala yang berjalan di latar belakang---Anda bahkan dapat menutup jendela terminal yang meluncurkannya. Jika sudah siap, Anda dapat membuka jendela terminal baru dan menyambungkan kembali sesi yang masih berjalan. Anda juga dapat melakukan ini melalui koneksi SSH.
Anda dapat melepaskan sesi di satu komputer, pulang, dan masuk ke komputer jarak jauh. Saat tersambung kembali, Anda dapat menyambungkan kembali sesi latar belakang dan menggunakannya secara interaktif lagi.
Apa Perintah layarnya?
Perintah layar juga merupakan terminal multiplexer, dan dikemas dengan opsi. Untuk mengetahui segala hal yang dapat Anda lakukan dengannya, lihat artikel mendalam kami. Nbsp Kali ini, kami akan berkonsentrasi pada tmux. Seiring berjalannya waktu, kami akan menyebutkan bagaimana layar menangani fitur atau fungsi yang sama.
Hanya satu hal yang mengganggu kami tentang layar. Kita akan membahasnya saat kita membahasnya, dan melihat apakah tmux lebih baik.
Menginstal tmux
Meskipun screen umumnya diinstal secara default pada distribusi Linux populer, tmux tidak. Untuk menginstal tmux di Ubuntu, ketik berikut ini:
sudo apt-get install tmux
Di Manjaro Anda dapat menggunakan pacman:
sudo pacman -Sy tmux
Pada Fedora 31, tmux sudah diinstal.
Memulai Sesi tmux
Untuk memulai tmux, cukup ketik dan tekan Enter:
tmux
Jendela terminal akan menampilkan bilah status saat Anda berada dalam sesi tmux.
Sisi kanan bilah status menunjukkan nama host, serta waktu dan tanggal. Sisi kiri menunjukkan informasi terkait sesi berikut:
[0]: Ini adalah nama sesi. Secara default, mereka diberi nomor, dimulai dari nol. Kami membahas bagaimana Anda dapat memberi nama yang bermakna pada sesi di bawah ini. 0:bash*: Angka 0 menunjukkan ini adalah jendela pertama dalam sesi ini. Satu-satunya proses yang berjalan di sesi ini adalah bash. Jika Anda menjalankan suatu program, namanya akan muncul di sini. Tanda bintang (*) berarti ini adalah jendela yang sedang Anda lihat. Setiap kali Anda membuat jendela baru di sesi tmux, nomor jendelanya dan nama program yang berjalan di dalamnya ditambahkan ke bilah status.
Perintah layar tidak memberi Anda bilah status secara default. Anda harus buta dan mengandalkan akal Anda untuk mengetahui apa yang sedang terjadi, yang memerlukan sedikit latihan. (Kecuali Anda mengonfigurasi bilah status Anda sendiri.)
Di sisi positifnya, Anda tidak akan kehilangan sederet real estat jendela terminal. Tentu saja, Anda biasanya memperluas jendela terminal agar penggunaan terminal multiplexer bermanfaat. Dalam hal ini, hilangnya satu baris pada bilah status tidak menjadi masalah besar. Kami telah membiarkan gambar jendela terminal di sini dalam ukuran default sehingga Anda dapat melihat informasinya.
Perintah diberikan kepada tmux menggunakan penekanan tombol, dan ada dua bagian di dalamnya. Pertama, Anda menekan Ctrl+B untuk menarik perhatian tmux. Anda kemudian dengan cepat menekan tombol berikutnya untuk mengirim perintah totmux. Perintah diberikan dengan menekan huruf, angka, tanda baca, atau tombol panah.
Sama saja di layar, kecuali Anda menekan Ctrl+A untuk mendapatkan perhatiannya.
Untuk menutup jendela, tekan Ctrl+B, lalu tekan X dengan cepat. bilah status berubah menjadi kuning. Anda kemudian diminta untuk mengonfirmasi bahwa Anda ingin mematikan jendela.
Tekan Y untuk menutup jendela atau N jika Anda berubah pikiran. Anda tidak perlu menekan Enter sesudahnya; Y atau N cukup untuk mendaftarkan pilihan Anda.
Jika Anda menekan Y, jendela akan tertutup. Karena ini adalah satu-satunya jendela di sesi ini, sesi dihentikan.
Sesi tmux ditutup dan Anda kembali ke baris perintah tempat Anda meluncurkan tmux. Anda akan melihat "[keluar]" di jendela terminal.
Ini mungkin tampak seperti pernyataan yang sudah jelas, tetapi ini merupakan konfirmasi bahwa Anda telah menutup sesi dan tidak membiarkannya terlepas dan berjalan. Kita akan membahas sesi pelepasan di bawah ini.
Memulai Sesi tmux yang Dinamakan
Jika Anda secara teratur memulai beberapa sesi tmux, Anda akan segera menghargai fungsionalitas memberi masing-masing sesi nama yang bermakna. Anda juga dapat memberi nama sesi di layar, tetapi sesi tersebut tidak ditampilkan di mana pun di jendela sesi.
Untuk memulai tmux dengan nama sesi, gunakan perintah baru (sesi baru), dan opsi -s (nama sesi). Sesi kita akan disebut "geek-1", jadi kita mengetikkan yang berikut:
tmux new -s geek-1
Saat sesi tmux dimuat, "geek-1" ditampilkan sebagai entri pertama di bilah status, paling jauh kiri.
Menambahkan Lebih Banyak Windows
Untuk membuat jendela baru di sesi saat ini, tekan Ctrl+B, lalu C. Anda akan mendapatkan jendela terminal kosong di sesi saat ini. Jadi kita akan menjalankan sesuatu di jendela baru ini, mari kita mulai perintah dmesg dengan opsi -w (ikuti):
dmesg -w
Sekarang kita memiliki dua jendela dalam sesi tersebut; satu berjalan teratas, dan yang lainnya dmesg. Namun, kami hanya dapat melihatnya satu per satu (lebih lanjut tentang itu sebentar lagi).
Lihatlah sisi kiri bilah status. Kami masih dalam sesi tmux "geek-1". Di jendela nol, top sedang berjalan, dan di jendela satu, dmesg sedang berjalan. Tanda bintang (*) setelah dmesg memberitahu kita jendela mana yang terlihat.
Untuk berpindah antar jendela, tekan Ctrl+B, lalu salah satu tombol berikut:
- N: Menampilkan jendela berikutnya.
- P: Menampilkan jendela sebelumnya.
- 0 hingga 9: Menampilkan jendela bernomor 0 hingga 9.
Anda juga dapat memilih jendela dari daftar. Jika Anda menekan Ctrl+B, lalu W, daftar jendela akan muncul.
Untuk memindahkan bilah sorotan kuning, tekan Panah Atas atau Bawah, Beranda, atau Akhir. Bagian bawah tampilan menampilkan pratinjau konten di jendela yang disorot.
Tekan Enter untuk berpindah ke jendela yang disorot, atau Esc untuk keluar dari daftar jendela tanpa berpindah.
Melepas dan Melampirkan Sesi
Jika Anda menekan Ctrl+B, lalu D , Anda akan melepaskan sesi tersebut. Ini akan terus berjalan di latar belakang, tetapi Anda tidak akan dapat melihat atau berinteraksi dengannya.
Kami telah memulai sesi teratas sehingga kami memiliki proses yang berjalan untuk didemonstrasikan. Lalu, kita tekan Ctrl+B, lalu D. Sesi menghilang dan menjadi sesi latar belakang.
Kami kembali ke jendela terminal asli. Ada pesan dari tmux yang memberi tahu kami bahwa sesi tersebut terlepas. Itu juga mengingatkan kita pada nama yang kita berikan pada sesi tersebut. Ini berguna karena itulah yang kita gunakan untuk melampirkan ke sesi latar belakang, dan kemudian mengembalikannya ke sesi interaktif.
Untuk melampirkan sesi terpisah, kita akan menggunakan perintah lampirkan sesi yang cukup jelas dengan -t (target sesi) pilihan. Kami juga akan memberikan nama sesi yang ingin kami panggil kembali.
Kami mengetikkan yang berikut:
tmux attachment-session -t geek-1
Sesi kami kembali dan menjadi sesi yang terlihat dan interaktif lagi.
Setiap proses yang berjalan lama atau berkelanjutan yang Anda luncurkan sebelumnya melepaskan sesi akan tetap berjalan di latar belakang (kecuali sudah selesai) ketika Anda melampirkan sesi.
layar dapat melakukan ini, tetapi tidak secara intuitif.
Menangani Banyak Sesi
Mari kita buka jendela terminal lain, dan mulai sesi tmux baru yang disebut " geek-2":
tmux new -s geek-2
Dalam sesi itu, kita akan memulai dmesg:
dmesg -w
Sekarang, kita memiliki sesi tmux "geek-1" asli, dan sesi baru yang disebut "geek-2".
Bilah status menunjukkan kepada kita sesi ini disebut "geek-2", dan memiliki satu jendela yang menjalankan dmesg.
Jika kita menekan Ctrl+B, lalu D, kita melepaskan sesi itu.
Kembali ke sesi tmux "geek-1" , kita tekan Ctrl+B, lalu S untuk melihat daftar sesi tmux.
Untuk lebih jelasnya, ini adalah daftar sesinya. Tampilan serupa yang kita lihat sebelumnya adalah daftar jendela dalam satu sesi.
Anda dapat memindahkan bilah sorotan kuning dengan menekan Panah Atas dan Bawah, Beranda, dan Akhir. Bagian bawah menampilkan pratinjau konten dalam sesi yang disorot.
Jika Anda menekan Panah Kanan, jendela untuk sesi yang disorot akan ditampilkan.
Tekan Enter untuk berpindah ke sesi atau jendela yang disorot atau Esc untuk keluar dari daftar sesi tanpa mengubah sesi . Jika Anda memilih sesi baru, sesi Anda saat ini akan terlepas, dan sesi yang Anda pilih akan dilampirkan.
Kami melepaskan sesi "geek-2" sebelum kami melakukan ini. Namun, Anda dapat melakukan ini dengan sesi yang masih melekat pada jendela terminal aslinya. Ketika Anda melakukannya, setiap perubahan layar akan muncul secara bersamaan di kedua sesi tmux.
Perintah screen juga dapat melakukan hal ini, melalui serangkaian perintah serupa.
Bekerja dengan Panel Jendela
Jika Anda menekan Ctrl+B, lalu tanda kutip ganda ("" ), Anda membagi jendela secara horizontal menjadi dua panel.
Ini hanya memengaruhi jendela saat ini; yang lain dalam sesi ini tidak akan diubah. Kami telah menggunakan perintah tmux ls di panel atas untuk membuat daftar jendela di sesi ini. Ada dua, dan baris status memberitahu kita bahwa kita berada di jendela satu. Jika kita melompat ke jendela nol dengan menekan Ctrl+B, lalu 0 (nol), kita akan melihatnya seperti saat kita meninggalkannya.
Ini adalah dua baris perintah independen, bukan dua tampilan dalam satu jendela; mereka adalah cangkang yang berbeda dan terpisah. Kita dapat menunjukkan ini dengan menjalankan perintah berbeda di setiap panel.
Kami mengetikkan perintah berikut:
uname -als -hl
Untuk berpindah dari satu panel ke panel lainnya, tekan Ctrl+B, lalu Panah Atas, Bawah, Kiri, atau Kanan.
Jika Anda menekan Ctrl+B, lalu tanda persentase (%) akan membagi panel saat ini secara vertikal.
Tekan Ctrl+B, lalu Q untuk membuat tmux mem-flash sebentar nomor setiap panel.
Nomor-nomor ini digunakan dalam perintah dan pesan dari tmux. Tekan Ctrl+B, lalu X untuk menutup panel saat ini. Bilah status berubah menjadi kuning, dan Anda diminta mengonfirmasi bahwa Anda ingin menutup nomor panel tersebut. Tekan Y untuk menghapus panel, atau N untuk membiarkannya apa adanya.
Jika Anda menekan Y, panel akan dihapus.
Perintah layar juga memiliki panel, tetapi, sekali lagi, kurang intuitif untuk digunakan. Hal yang mengganggu kami tentang layar adalah jika Anda melepaskan sesi dengan panel, panel tersebut akan hilang saat Anda memasang kembali sesi itu. Ini menjadi tua dengan sangat cepat.
A Ctrl+B
Cheat Sheet
Kami telah menyertakan lembar contekan dari berbagai perintah yang dapat Anda gunakan di tmux di bawah ini.
Session Commands
S: Daftar sesi. $: Ganti nama sesi saat ini. D: Lepaskan sesi saat ini. Ctrl+B, lalu ?: Tampilkan halaman Bantuan di tmux. Perintah Jendela
C: Buat jendela baru. ,: Ganti nama jendela saat ini. W: Daftar jendelanya. N: Pindah ke jendela berikutnya. P: Pindah ke jendela sebelumnya. 0 hingga 9: Pindah ke nomor jendela yang ditentukan. Perintah Panel
%: Membuat pemisahan horizontal. ": Membuat pemisahan vertikal. H atau Panah Kiri: Pindah ke panel di sebelah kiri. I atau Panah Kanan: Pindah ke panel di sebelah kanan. J atau Panah Bawah: Pindah ke panel di bawah. K atau Panah Atas: Pindah ke panel di atas. Q: Tampilkan nomor panel secara singkat. O: Bergerak di antara panel secara berurutan. Setiap penekanan akan membawa Anda ke panel berikutnya, hingga Anda mengulang semuanya. }: Tukar posisi panel saat ini dengan panel berikutnya. { : Tukar posisi panel saat ini dengan sebelumnya. X: Tutup panel saat ini. Bagaimana Mereka Membandingkan
Dalam hal fungsionalitas, screen dan tmux keduanya memiliki kinerja yang sama dan menawarkan fitur utama yang sama. Ini adalah cara Anda mengakses fitur-fitur itu sangat berbeda. tmux menawarkan cara yang lebih apik dan nyaman untuk mengakses berbagai fungsi. Namun, itu bukan satu-satunya perbedaan.
Kemampuan untuk mengganti nama sesi dan jendela di tmux sangat rapi, dan fakta bahwa ia tetap mempertahankan panel saat Anda memasang kembali sesi adalah pengubah permainan. Layar
, di sisi lain, benar-benar kehilangan panel saat Anda melepaskan dan memasang kembali sesi. Ini hampir cukup menjengkelkan hingga membuat Anda menghindari pelepasan sejak awal.
Ada banyak hal lain di tmux, termasuk kemampuan skripnya yang sangat fleksibel. Anda berhutang pada diri Anda sendiri untuk memeriksanya.