Tôi đã là một người sử dụng màn hình nặng trong một thời gian dài, nhưng tôi sử dụng một phiên bản mà tôi đã sửa đổi vào năm 2002. Chủ yếu là vì tôi muốn có thể có cửa sổ điều hướng "tiếp theo / trước" phù hợp với thứ tự mới cửa sổ đã được tạo, tương tự như trình quản lý cửa sổ ốp lát như i3 hoặc Ion . Hành vi màn hình tiêu chuẩn dành cho 'next' và 'trước' đi theo số cửa sổ, do đó, thông thường cửa sổ 'mới' (lấy số có sẵn nhỏ nhất) sẽ được đặt ở nơi khác ngoài cửa sổ 'next' - gây nhầm lẫn nếu bạn không ' t nhớ các số. Hành vi ưa thích của tôi đã được triển khai trong Tmux dưới dạng cờ cho lệnh cửa sổ mới trong năm 2010 và tùy chọn renumber-windows vào năm 2012. Bản vá màn hình của tôi, mà tôi đã cố gắng làm cho có thể chấp nhận được nhất có thể, bao gồm cả bổ sung tài liệu, v.v., đã không tạo ra bất kỳ cuộc thảo luận nào về danh sách Màn hình vào tháng 7 năm 2002 (sau đó "screen@informatik.uni-erlangen.de", không thể tìm tài liệu lưu trữ). Trong thực tế, nó thậm chí không được thừa nhận, ngay cả khi tôi gửi lại một năm sau đó.
Kể từ năm 2002, tôi đã "khởi động lại" bản vá của mình một vài lần để áp dụng cho các phiên bản Màn hình mới hơn. Tuy nhiên, khi tôi đến phiên bản 4.3 (2015), tôi nhận thấy một sự thay đổi không có giấy tờ đã phá vỡ một trong những cách sử dụng màn hình của tôi - cụ thể là 'thứ đó' hiện nội suy các biến môi trường . Tôi không cần tính năng đó và tôi không thể tìm ra cách dễ dàng thoát khỏi đối số để 'nội dung' (để tôi có thể gửi văn bản có chứa ký hiệu đô la) vì vậy tôi chỉ tiếp tục sử dụng phiên bản 4.0 (từ năm 2004).
Tôi sử dụng 'công cụ' của màn hình ('khóa gửi' trong Tmux) trong chức năng Emacs để gửi nội dung của vùng Emacs hiện tại đến một số cửa sổ cụ thể. Theo cách đó, khi tôi viết mã bằng ngôn ngữ kịch bản, tôi mở trình thông dịch, tôi cung cấp cho cửa sổ intepreter một số đặc biệt và sau đó tôi có thể gửi các dòng mã từ cửa sổ soạn thảo của mình trực tiếp đến cửa sổ trình thông dịch bằng liên kết Emacs này. Thật khó khăn nhưng tôi thích nó hơn giải pháp Emacs thuần túy , vì tôi cũng có thể tương tác với trình thông dịch trong cửa sổ Màn hình của nó bằng cách sử dụng tổ hợp phím tiêu chuẩn. Nó hơi giống với IDE GUI, nhưng tôi không phải sử dụng chuột hoặc nhìn chằm chằm vào một con trỏ nhấp nháy.
Một tính năng khác tôi đã triển khai trong bản vá của mình là khả năng "đánh dấu" một cửa sổ và sau đó định vị lại cửa sổ được đánh dấu là "tiếp theo" sau cửa sổ hiện tại. Đối với tôi đây là một cách sắp xếp lại các cửa sổ tự nhiên hơn nhiều so với việc đánh số lại; nó giống như mô hình sao chép / dán hoặc "kéo và thả". ( Gần đây tôi đã tìm ra cách để làm điều này trong i3 .)
Có thể làm điều tương tự trong Tmux, ví dụ như năm 2015 có một cơ sở để "đánh dấu" một khung. Hoặc có lẽ một giải pháp cơ bản hơn có thể được thực hiện với các kịch bản shell có trạng thái. Tôi đã triển khai một đoạn script và keybindings ngắn để thử phương thức "khung được đánh dấu" và nó đã hoạt động một vài lần nhưng sau đó Tmux đã gặp sự cố với "[máy chủ bị mất]". Sau đó, tôi thấy Tmux bị sập ngay cả khi tôi không cố làm gì phức tạp. Rõ ràng nó đã bị sập đối với một số người dùng trong một vài năm . Đôi khi máy chủ gặp sự cố, đôi khi nó bắt đầu sử dụng 100% CPU và không phản hồi. Tôi chưa bao giờ thấy Screen làm một trong những điều này.
Về lý thuyết, Tmux vượt trội hơn so với Screen theo nhiều cách. Nó có khả năng viết kịch bản tốt hơn nhiều, có nghĩa là bạn có thể thực hiện những việc như truy vấn danh sách các cửa sổ trong phiên hiện tại từ dòng lệnh, điều này là không thể với Screen. Ví dụ: 2015 Screen đã thêm một lệnh "sắp xếp các cửa sổ theo tiêu đề" . Tôi không chắc khi nào một lệnh chuyên dụng như vậy sẽ hữu ích, nhưng điều này và các biến thể thực tế hơn (ví dụ như sắp xếp các cửa sổ theo cách sử dụng CPU) có thể dễ dàng thực hiện từ một tập lệnh shell trong Tmux. Đối với tôi có vẻ khó thực hiện bất cứ điều gì sáng tạo trong Màn hình, ít nhất là không sửa đổi mã C.
Như các áp phích khác đã đề cập, Tmux có một mô hình máy chủ duy nhất mà tôi xem là nhược điểm chính, đặc biệt là khi máy chủ gặp sự cố. Có thể giải quyết vấn đề này bằng cách chỉ định một ổ cắm riêng cho mỗi "phiên". Tuy nhiên, tôi thích mặc định một máy chủ mỗi phiên của Screen, có vẻ thanh lịch hơn một chút.
Làm việc với mã màn hình, trở lại năm 2002, mang tính giáo dục và thú vị đối với tôi. Thật kỳ lạ, với tất cả các tính năng bổ sung của nó, Tmux có ít hơn 25% dòng mã so với Màn hình (30k so với 40k). Tôi nhận thấy rằng Tmux sử dụng nhiều cấu trúc dữ liệu cây và liệt kê, điều này hơi khó hiểu đối với tôi. Màn hình dường như thích mảng hơn.
Theo tôi hiểu, vì giao diện thiết bị đầu cuối Unix rất ổn định, nên không cần mã Screen hay Tmux để thích ứng với các thay đổi trong hệ điều hành bên dưới. Các chương trình này không thực sự có các bản cập nhật bảo mật như trình duyệt web hoặc máy chủ web hoặc thậm chí cả trình bao. Tôi chưa nhận thấy bất kỳ sự cố nào khi chạy phiên bản Màn hình tùy chỉnh của mình, được cập nhật lần cuối vào năm 2004 (ngoại trừ việc cần thêm một số tệp cấu hình để ngăn Systemd xóa ổ cắm; những tập tin này thường là một phần của gói phân phối). Có lẽ tôi chỉ có thể giải quyết các vấn đề tôi gặp phải trong Tmux bằng cách chạy phiên bản Tmux từ trước khi nó bắt đầu gặp sự cố. Tất nhiên, nếu đủ người dùng làm điều này thì nó sẽ không tốt cho người dùng mới, vì điều đó có nghĩa là sẽ có ít chuyên gia tìm kiếm lỗi hơn trong các phiên bản chính thức mới nhất của các chương trình này. Tuy nhiên, thật khó để thúc đẩy bản thân chuyển sang một sản phẩm không ổn định đối với tôi (Tmux mới nhất) hoặc thiếu các tính năng nhất định mà tôi muốn (Màn hình tiêu chuẩn).
Tôi biết điều này không cung cấp một câu trả lời dễ dàng cho câu hỏi của OP, nhưng tôi hy vọng rằng quan điểm của tôi là hữu ích.