Sejauh ini saya telah menggunakan Konsole untuk mengelola beberapa sesi shell tetapi saya belum mencoba Byobu , Layar GNU , dan tmux , yang menawarkan dukungan yang lebih baik untuk banyak shell. Mereka semua berbagi satu fitur utama, yaitu untuk memungkinkan memisahkan sesi saat ini dan kemudian menempel kembali ke sesi lama itu.
Untuk membantu saya memilih alat untuk dipelajari, saya ingin tahu: bagaimana perbedaannya dalam hal berikut?
- Fitur (jelas)
- Kematangan proyek. Saya tidak ingin mempelajari alat yang terlalu banyak berubah. Penyempurnaan dipersilahkan, tapi saya tidak suka kejutan seperti fitur yang hilang.
- Kurva belajar
- Ketersediaan di berbagai platform. Jika saya mempelajari alat, saya ingin dapat menggunakannya di server FreeBSD, desktop SuSE, atau Ubuntu.
- Kompatibilitas dengan program shell interaktif lainnya. Masih bisakah saya menggunakan
vim
danemacs -nw
(mode non-jendela, atau mode teks) dengan cara yang sama seperti dulu? Apakah pintasan keyboard akan bertentangan dengan yang ada di alat lain?
Saya baru saja mencoba semuanya dan Byobu terlihat seperti semacam front end untuk Layar GNU dan tmux. Lalu mengapa seseorang membuat Byobu alih-alih berkontribusi pada proyek layar GNU dan menambahkan fitur baru? Mengapa Byobu bukan semacam mode antarmuka lanjutan di Layar GNU? Jika saya menggunakan Byobu sebagai alat harian saya dengan layar GNU sebagai backend, dapatkah saya mentransfer pengetahuan ini untuk menggunakan Layar GNU tanpa Byobu jika mesin tertentu hanya memiliki Layar GNU?
sumber
byobu
hanya garpuscreen
dengan fitur tambahan, makagnu-screen
tag tersebut berlaku.Jawaban:
Untuk Tmux vs Layar GNU, baca
dan beberapa inkarnasi perbandingan lainnya yang dapat ditemukan di blog dan semacamnya.
Beberapa istilah umum yang sering diulang:
Terlepas dari ini, orang dapat melihat fungsi spesifik untuk satu atau alternatif lain, dan preferensi pribadi akan mendominasi diskusi. Saya pribadi dulu sering menggunakan Layar GNU - sekarang saya menggunakan Tmux.
Saya belum menemukan Byobu memiliki "fitur pembunuh" untuk saya. Ini memberikan abstraksi di mana saya percaya tidak diperlukan untuk kasus penggunaan saya.
Cara lain untuk melihatnya adalah dengan mencatat bahwa Byobu dapat menggunakan GNU Screen atau Tmux sebagai backend, yang menunjukkan bahwa perbedaan dari pengguna POV sebagian besar dangkal.
sumber
Pertanyaan bagus! Untuk apa nilainya, saya penulis dan pengelola Byobu .
Byobu adalah lapisan konfigurasi, awalnya ditulis untuk duduk di atas Layar GNU , tetapi sekarang juga berfungsi di atas Tmux .
Saya mulai menulis Byobu pada bulan Desember 2008 , ketika saya bertemu dengan sekelompok pengguna Screen dan Ubuntu Server di Googleplex dan menemukan bahwa kita semua memelihara banyak hack yang rapi / menyenangkan / bermanfaat dalam
~/.screenrc
konfigurasi kita . Dan kami harus memindahkan secara manual antara puluhan atau ratusan server yang kami gunakan. Kami mulai menukar tip dan trik, dan saya mulai mengumpulkannya ke dalam proyek GPLv3 asli yang disebut "profil layar". Sekitar 6 bulan kemudian, seluruh komunitas telah mengembangkan " profil layar " dan proyek ini menjadi lebih dari sekadar peretas layar - kami memiliki utilitas konfigurasi, plugin status langsung, dan ikatan kunci. Jadi kami mengganti nama proyek "Byobu", yang merupakan kata dalam bahasa Jepang untuk "layar" lipat yang elegan, dan memiliki manfaat tambahan untuk dapat lebih berhasil di Google untuk "Byobu $ FOO" daripada "Screen $ FOO".Dengan Byobu sekarang di sebagian besar distribusi Linux ( Ubuntu , Debian , Fedora , Arch ), dan fungsional pada sebagian besar Mac / BSDs dan UNIX lainnya, ini memberikan tampilan dan nuansa yang sama, ikatan kunci yang nyaman, informasi status sistem dinamis pada terminal apa pun yang Anda mungkin perlu mengakses.
Mengapa tidak berkontribusi kembali ke proyek Layar GNU? Beberapa alasan ... Semua yang dilakukan Byobu sama baiknya dengan opsi konfigurasi. Tidak ada yang perlu dimasukkan dalam basis sumber Layar agar berfungsi. Beberapa hal mungkin bekerja lebih baik atau berkinerja lebih baik jika Screen memasukkannya secara default, tetapi banyak dari perubahan itu sangat "pendapat", yang biasanya sulit atau tidak mungkin untuk berkontribusi pada proyek hulu 25 tahun . Juga, proyek Layar GNU bergerak sangat lambat, jika tidak sama sekali. Ini berusia 25 tahun ke atas, dan belum memiliki rilis resmi sejak Agustus 2008 . Setiap distribusi membawa tumpukan besar tambalan hanya untuk menjaga agar / usr / bin / layar Anda bekerja dan aman. misal, Ubuntu dan Debian saat ini membawa 19K baris kode di ~ 48tambalan .
Saya belajar tentang Tmux sekitar 2 tahun yang lalu, dan benar-benar jatuh cinta dengan kode sumber, desain, antarmuka, dan komunitas aktif! Saya memiliki waktu yang jauh lebih mudah menyumbang perbaikan ke hulu Tmux dan mendiskusikan topik di milis. Dan sebagai pengguna Byobu yang menggunakannya di mana-mana, saya ingin tampilan dan nuansa yang sama untuk sesi Tmux saya dengan apa yang saya nikmati dalam 4+ tahun Byobu. Jadi saya mem - porting semua kode Byobu agar berfungsi sama baiknya dengan Tmux sebagai backend, sebagai Screen. Pada rilis Byobu 5.0 , Tmux sekarang menjadi backend default, dengan Layar masih didukung dalam mode lawas. Byobu sekarang memanfaatkan banyak fitur modern Tmux over Screen, termasuk dukungan 256 warna yang jauh lebih baik, karakter UTF8, dan pemisahan jendela horizontal / vertikal.
Jika Anda puas dengan pengaturan default di Screen atau Tmux, atau ingin menulis file konfigurasi Anda sendiri dari awal, maka tentu saja, Screen dan Tmux sebagai utilitas fantastis yang telah menambahkan efisiensi bertahun-tahun dalam kehidupan kita. Jika Anda tertarik dengan serangkaian konfigurasi yang benar-benar memperluas dan memperluas apa yang dilakukan Screen dan Tmux di luar kotak, lihatlah Byobu!
Cheers, Dustin
sumber
CTRL+` as escape. With
layar` dantmux
ini berfungsi seperti pesona, tetapi tidak denganbyobu
(Debian 7.1 Wheezy).screen
telah memiliki pengelola baru dan pengembangan tampaknya telah mengambil tenaga, apakah semuanya berubah?Dari use case aktual, perbedaan terbesar antara
screen
dantmux
bagaimana mereka menangani split windows.Jendela dalam
screen
adalah terminal pseudo-tunggal. Saat dilampirkan kescreen
sesi, Anda dapat membagi terminal Anda menjadi beberapa wilayah, yang masing-masing dapat menampilkanscreen
jendela. Beberapa wilayah dapat menampilkan jendela yang sama. Perpecahan bukan bagian dari sesi; jika Anda melepaskan, perpecahan Anda hilang.Jendela dalam
tmux
terdiri dari satu atau lebih terminal palsu, satu terminal. Ini berarti bahwa panel tetap ada jika Anda melepaskan dan memasang kembali nanti. Ini juga berarti bahwa Anda hanya dapat menampilkan satu jendela pada satu waktutmux
, dan panel tidak dapat dibagi di antara banyak jendela.tmux
memang memungkinkan jendela untuk dibagikan di antara beberapa sesi, namun.Saya lebih suka model yang digunakan oleh
tmux
, tetapi saya tidak bisa membantah bahwa itu lebih baik daripada model yang digunakan olehscreen
.sumber
tmux
adalah Deutsche Bahn . Naik kereta cepat, cobalah untuk bekerjassh
menggunakan koneksi seluler dan Anda akan segera melihat bahwatmux
modelnya jauh lebih unggul, karena setelah salah satu koneksi yang sering terputus Anda tidak perlu mengatur ulang semua panel di jumphost Anda setelah login ulang. SCNRssh
Bagi saya, pemecah kesepakatan untuk tmux adalah implementasi sesi berbagi.
Di Layar GNU, jika Anda membiarkan pengguna lain terhubung ke satu sesi, atau hanya menyambungkan sesi Anda ke lebih dari satu terminal, mereka dapat beroperasi secara mandiri (berpindah layar dalam sesi A dari terminal B tidak membuat terminal A juga membuat layar A juga berganti layar di sesi A).
Di atas bukan kasus dengan tmux (belum?) Atau saya belum dapat menemukan cara untuk mengubah perilaku.
Jika seseorang mengetahui cara untuk mengubah perilaku ini di tmux atau jika tmux memperbarui untuk mengubah perilaku ini atau memberikan opsi untuk sekarang mengubah perilaku ini, silakan tinggalkan komentar.
sumber
tmux
memiliki gagasan tentang sesi "tertaut" dengannew-session -t shared
. Windows dari 'shared' muncul di sesi baru, jendela baru di satu muncul di yang lain, dan menutup jendela di satu menutupnya di yang lain. Namun, jendela mana yang dilihat setiap klien khusus untuk sesi aktual yang dilampirkannya.