Saya telah menjadi pengguna berat Screen untuk waktu yang lama, tetapi saya menggunakan versi yang saya modifikasi kembali pada tahun 2002. Sebagian besar karena saya ingin dapat memiliki jendela "next / prev" pemesanan navigasi sesuai dengan urutan yang baru jendela dibuat, mirip dengan manajer jendela ubin seperti i3 atau Ion . Perilaku Layar standar adalah untuk 'berikutnya' dan 'sebelumnya' untuk pergi dengan nomor jendela, sehingga biasanya jendela 'baru' (meraih nomor terkecil yang tersedia) akan ditempatkan di tempat lain selain jendela 'berikutnya' - membingungkan jika Anda tidak ' t ingat angkanya. Perilaku pilihan saya sejak itu telah diterapkan di Tmux sebagai bendera ke perintah jendela baru pada tahun 2010 , dan opsi nomor jendela pada tahun 2012. Tambalan Layar saya, yang saya coba buat sebisa mungkin diterima, termasuk penambahan dokumentasi dan sebagainya, tidak menghasilkan diskusi apa pun di daftar Layar pada Juli 2002 (lalu "screen@informatik.uni-erlangen.de", tidak bisa temukan arsip). Bahkan itu bahkan tidak diakui, bahkan ketika saya mengirimnya lagi setahun kemudian.
Sejak 2002, saya "mengubah" tambalan saya beberapa kali untuk diterapkan ke versi Layar yang lebih baru. Namun, ketika saya sampai ke versi 4.3 (2015) saya melihat perubahan tidak berdokumen yang memecahkan salah satu penggunaan layar saya - yaitu bahwa 'barang' sekarang menginterpolasi variabel lingkungan . Saya tidak memerlukan fitur itu, dan saya tidak tahu cara mudah menghindari argumen ke 'barang' (sehingga saya bisa mengirim teks yang berisi tanda dolar) jadi saya terus menggunakan versi 4.0 (dari 2004).
Saya menggunakan 'barang' Layar ('tombol-kirim' di Tmux) dalam fungsi Emacs yang mengirimkan konten wilayah Emacs saat ini ke nomor jendela tertentu. Dengan begitu ketika saya menulis kode dalam bahasa scripting, saya membuka seorang juru bahasa, saya memberikan jendela intepreter nomor khusus, dan kemudian saya dapat mengirim baris kode dari jendela editor saya langsung ke jendela juru bahasa menggunakan jendela Emacs mengikat ini. Ini hacky tapi saya lebih menyukainya daripada solusi murni-Emacs , karena saya juga dapat berinteraksi dengan penerjemah di jendela Layar menggunakan penekanan tombol standar. Ini agak seperti GUI IDE, tapi saya tidak harus menggunakan mouse atau menatap kursor yang berkedip.
Fitur lain yang saya terapkan di tambalan saya adalah kemampuan untuk "menandai" jendela, dan kemudian memposisikan ulang jendela yang ditandai menjadi "berikutnya" setelah yang sekarang. Bagi saya ini adalah cara yang jauh lebih alami untuk menata ulang jendela daripada memberi nomor baru; itu seperti paradigma copy / paste, atau "drag-and-drop". ( Baru-baru ini saya menemukan cara melakukannya di i3 juga.)
Seharusnya dimungkinkan untuk melakukan hal yang sama di Tmux, misalnya pada 2015 ada fasilitas untuk "menandai" sebuah panel. Atau mungkin solusi yang lebih mendasar dapat diselesaikan dengan skrip shell stateful. Saya menerapkan skrip dan keybindings pendek untuk mencoba metode "ditandai pane", dan itu bekerja beberapa kali tetapi kemudian Tmux crash dengan "[server yang hilang]". Kemudian saya menemukan Tmux crash bahkan tanpa saya mencoba melakukan sesuatu yang rumit. Rupanya itu telah crash untuk beberapa pengguna setidaknya selama beberapa tahun . Terkadang server macet, terkadang mulai menggunakan 100% CPU dan menjadi tidak responsif. Saya belum pernah melihat Screen melakukan ini.
Secara teori, Tmux lebih unggul daripada Screen dalam beberapa cara. Ini memiliki kemampuan skrip yang jauh lebih baik, artinya Anda dapat melakukan hal-hal seperti permintaan daftar jendela di sesi saat ini dari baris perintah, yang tidak mungkin dilakukan dengan Layar. Misalnya pada 2015 Layar menambahkan perintah untuk "mengurutkan jendela berdasarkan judul" . Saya tidak yakin kapan perintah khusus seperti itu akan berguna, tetapi ini dan variasi yang lebih praktis (mis. Mengurutkan windows dengan penggunaan CPU) relatif dapat dengan mudah dilakukan dari skrip shell di Tmux. Bagi saya akan terasa sulit untuk melakukan sesuatu yang sangat kreatif di Layar, setidaknya tanpa memodifikasi kode C.
Seperti poster lain yang disebutkan, Tmux memiliki model server tunggal yang saya lihat sebagai kelemahan utama, terutama ketika server mogok. Dimungkinkan untuk menyiasatinya dengan menetapkan soket terpisah untuk setiap "sesi". Tetap saya lebih suka satu-server-per-sesi Layar standar, yang tampaknya sedikit lebih elegan.
Bekerja dengan kode Layar, pada tahun 2002, mendidik dan menyenangkan bagi saya. Anehnya, untuk semua fitur tambahannya, Tmux memiliki sekitar 25% lebih sedikit baris kode daripada Layar (30k vs 40k). Saya perhatikan bahwa Tmux menggunakan banyak struktur data pohon dan daftar, yang agak sulit untuk saya pahami. Layar sepertinya lebih memilih array.
Seperti yang saya pahami, karena antarmuka terminal Unix sangat stabil, ada sedikit kebutuhan untuk kode Layar atau Tmux untuk beradaptasi dengan perubahan dalam sistem operasi yang mendasarinya. Program-program ini tidak benar-benar memiliki pembaruan keamanan seperti browser web atau server web atau bahkan shell. Saya belum melihat adanya masalah dalam menjalankan versi kustom Layar saya, terakhir diperbarui pada tahun 2004 (kecuali karena perlu menambahkan beberapa file konfigurasi untuk mencegah Systemd dari menghapus soket; file-file ini biasanya merupakan bagian dari paket distribusi). Mungkin saya bisa mengatasi masalah yang saya temui di Tmux dengan menjalankan versi Tmux sebelum mulai macet. Tentu saja, jika cukup banyak pengguna melakukan ini maka itu tidak akan sangat baik bagi pengguna baru, karena itu berarti bahwa lebih sedikit ahli akan mencari bug di versi resmi terbaru dari program-program ini. Namun, sulit untuk memotivasi diri saya untuk beralih ke produk yang tidak stabil untuk saya (Tmux terbaru) atau yang tidak memiliki fitur tertentu yang saya inginkan (Layar standar).
Saya tahu ini tidak memberikan jawaban yang mudah untuk pertanyaan OP, tetapi saya berharap perspektif saya bermanfaat.