Câu hỏi tmux so với màn hình


Tôi chuẩn bị quay lại sử dụng Màn hình GNU, nhưng tôi đã nghe người ta thỉnh thoảng đề cập đến tmux như một lựa chọn tốt hơn. Liệu nó thực sự cung cấp một thay thế cho tất cả các tính năng Màn phiếu mua hàng, chẳng hạn như giám sát hoạt động trong các cửa sổ khác nhau, v.v ...? Những ưu và nhược điểm của mỗi cái là gì?


213
2018-01-06 15:20


gốc


Cũng thảo luận tại unix.stackexchange.com/questions/549/tmux-vs-gnu-screen - Lloyd Dewolf
Trong màn hình, bạn có thể gửi lệnh đến phiên đính kèm qua screen -S automate_me -X stuff 'command'$(echo -ne '\015') bạn không thể trong tmux. Khá hữu ích nếu bạn đang thử nghiệm một ISO / image virtualbox và cần thực hiện một số lệnh từ xa một cách nhanh chóng. Ví dụ tôi có nó trong một lệnh Vim để nhanh chóng gỡ lỗi các kịch bản trong một màn hình Virtualbox. Trong các phiên bản trước đó của tmux tôi thấy rằng màn hình xử lý nhiều văn bản đi qua một cách nhanh chóng trong khi tmux bị rơi. Ngoài ra màn hình không yêu cầu bất kỳ cấu hình để xử lý UTF-8 vv tmux nào. - dezza


Các câu trả lời:


Một số lý do (chính) tôi thích tmux kết thúc screen:

  • Thanh trạng thái dễ sử dụng hơn nhiều. Bạn có thể dễ dàng thiết lập văn bản / kiểu khác nhau cho cửa sổ hiện tại, cửa sổ có hoạt động, v.v. và bạn có thể đặt mọi thứ ở bên trái và bên phải thanh trạng thái, bao gồm các lệnh shell có thể chạy tại một khoảng thời gian cụ thể (mặc định là 15 giây).
  • Hầu như bất kỳ lệnh nào bạn có thể chạy bên trong tmux có thể chạy từ một trình bao tmux command [args]. Điều này làm cho nó dễ dàng thực thi, cũng như làm cho nó dễ dàng thực hiện các lệnh phức tạp.
  • Đổi tên cửa sổ tự động chính xác hơn nhiều. Trong khi screen đặt tiêu đề dựa trên từ đầu tiên của lệnh và yêu cầu cấu hình vỏ để làm ngay cả trong cửa sổ trình bao, tmux theo dõi quá trình thực sự đang chạy trong mỗi cửa sổ và cập nhật tiêu đề cho phù hợp. Bằng cách này bạn sẽ có được đổi tên năng động với bất kỳ cấu hình shell và zero nào. Ví dụ: Giả sử bạn đang chạy Z Shell; tên của cửa sổ sẽ là "zsh". Bây giờ, giả sử bạn muốn chỉnh sửa một số tệp cấu hình, do đó bạn nhập sudo emacs /etc/somefile. Trong khi sudo yêu cầu mật khẩu của bạn, tên của cửa sổ sẽ là "sudo", nhưng khi bạn đã thực hiện điều đó và sudo ra mắt emacs, tiêu đề sẽ là "emacs". Khi bạn đã hoàn tất và thoát emacs, tiêu đề sẽ đổi thành "zsh". Điều này khá hữu ích cho việc theo dõi các cửa sổ và nó cũng có thể đặc biệt hữu ích trong các tình huống cụ thể, như nếu bạn có một số quy trình chạy dài trong một cửa sổ khác thỉnh thoảng nhắc bạn nhập bằng dialog; tên cửa sổ sẽ thay đổi thành "hộp thoại" khi điều đó xảy ra, vì vậy bạn sẽ biết bạn phải chuyển sang cửa sổ đó và làm điều gì đó.
  • Xử lý phiên làm việc tốt hơn (IMHO). Bạn có thể làm được nhiều hơn với các phiên trong tmux chinh no. Bạn có thể dễ dàng chuyển đổi, đổi tên, v.v. và bạn có thể di chuyển và chia sẻ các cửa sổ giữa các phiên. Nó cũng có một mô hình khác nhau, trong đó mỗi người dùng có một máy chủ điều khiển các phiên của họ và khách hàng nào kết nối đến. Nhược điểm của việc này là nếu máy chủ bị treo, bạn sẽ mất mọi thứ; Tuy nhiên, tôi chưa bao giờ gặp sự cố máy chủ.
  • tmux dường như được phát triển tích cực hơn. Có bản cập nhật khá thường xuyên và bạn có thể gửi báo cáo lỗi hoặc yêu cầu tính năng theo Câu hỏi thường gặp này và nhận được câu trả lời trong vòng vài ngày.

Đó chỉ là những điều chính mà ngay lập tức nảy ra trong đầu. Có những điều nhỏ nhặt khác nữa, và tôi chắc chắn tôi đang quên một số thứ. Nó chắc chắn giá trị nó để cung cấp cho tmux một thử, mặc dù.


140
2018-01-17 20:36



Phát triển tmux tích cực hơn vì nó Mới. Màn hình GNU gần như 25 tuổi, vì vậy họ đã sửa hầu hết các lỗi. - a paid nerd
một bình luận của mọt sách trả tiền là một bằng cấp rất quan trọng của điểm cuối cùng của bạn. Và điểm thứ hai như đã nói không thực sự là một sự khác biệt vì nó cũng áp dụng cho màn hình trừ khi bạn có thể cụ thể hơn. - jw013
@a nerd trả tiền: techrepublic.com/blog/opensource/is-tmux-the-gnu-screen-killer/… - sjas
@apaidnerd đó là một tuyên bố rất phong phú: savannah.gnu.org/bugs/… - Błażej Michalik


(Phiên là bộ sưu tập của các cửa sổ có thể được tách ra và gắn lại sau. Windows có thể chứa một hoặc nhiều panes. Ví dụ: cấu hình, hãy kiểm tra đây và đây.)

tmux

  • Ưu điểm
    • Có thể gửi các khóa đến các ô khác, giống như một IDE
    • Keybindings dễ dàng - với cấu hình đúng, bạn sẽ cảm thấy như ở nhà từ Vim hoặc Screen
    • Vim-ish và Emacs-ish bindings được xây dựng trong
    • Quản lý bố cục tốt, rất giống với trình quản lý cửa sổ ốp lát
    • Unicode dường như chỉ hoạt động với các thiết bị đầu cuối hiện đại
    • Một số vấn đề về thiết bị đầu cuối được khắc phục TERM=tmux
  • Nhược điểm
    • Chậm - không chắc chắn tại sao, nhưng tổ hợp phím có vẻ chậm chạp Không còn vấn đề gì với sự chậm chạp
    • Ghép kênh buộc toàn bộ chiều rộng và chiều cao của phiên đến đầu cuối được gắn nhỏ nhất
    • Đã bị lỗi nhiều lần trên Mac OS X, mất toàn bộ phiên
    • Đã thất bại trên Linux sau khi nâng cấp, nơi tôi không thể kết nối lại với phiên cũ của mình
    • Thỉnh thoảng nhấn phím lệnh - ^ A ^ [ mất một vài lần thử cho chế độ sao chép
    • Không thể di chuyển ngăn từ cửa sổ này sang cửa sổ khác Đã sửa với join-pane chỉ huy
    • Không có dòng unwrapping (hoặc "reflow" hoặc "rewrap") sau khi thay đổi chiều rộng thiết bị đầu cuối (cửa sổ thay đổi kích thước)

Màn hình GNU

  • Ưu điểm
    • Cực kỳ ổn định (v1.0 là năm 1987)
    • Một số vấn đề về thiết bị đầu cuối được khắc phục TERM=screen
    • Các ràng buộc Emacs-ish được tích hợp
    • Dễ dàng di chuyển và điều khiển các ô nằm ngang
    • Khi ghép kênh, bất kỳ thiết bị đầu cuối nào có thể thay đổi kích thước ngăn
  • Nhược điểm
    • Không chia tách dọc mà không có bản vá (ngoại trừ trên Ubuntu)
    • Phân chia cánh bị mất khi tách ra
    • Bắt Unicode để làm việc mất một chút khéo léo và quyết tâm
    • Cấu hình dòng trạng thái điên

84
2018-05-04 18:28



Các phím tắt có bị lag chỉ khi nhấn Esc? tmux có một sự chậm trễ, nơi nó chờ đợi để xem nếu bạn đang nhập một chuỗi xterm hoặc chỉ là một Esc đơn độc, và kết hợp với vim của, nó có thể có vẻ khá laggy. Đặt thời gian thoát thành giá trị thấp hơn như 50. - Eevee
Nó cũng buồn cười bạn nói ^A ^[ đôi khi không hoạt động; Tôi có cùng một vấn đề với màn hình, nhưng không bao giờ tmux! Và tôi tin rằng bạn có thể di chuyển xung quanh bằng join-pane. - Eevee
Tôi thấy rằng màn hình sử dụng khá nhiều bộ nhớ hơn, có thể được bao gồm như một bất lợi. - paradroid
Tốt, tmux hút với vim, trong một số trường hợp (của tôi là cụ thể), không có giải pháp nào từng được đăng ở bất cứ đâu, và thậm chí mọi người dành thời gian giải quyết vấn đề của tôi cũng không thể. Thật khó chịu khi bạn không thể sử dụng <C-Left> và <C-Right> trong vim. - yo'
No vertical splits without patch (except on Ubuntu) Tôi không nghĩ đó là sự thật. Tôi đã sử dụng màn hình trong một vài năm nay và tôi chưa bao giờ gặp phải bất kỳ vấn đề nào phân tách theo chiều ngang hoặc chiều dọc trên Debian và Fedora. Ngay cả trên Android với Termux nó hoạt động như một sự quyến rũ. - Forivin


Một chuyên gia cho màn hình: nó có sẵn khá nhiều out-of-the-box trên Linux và Solaris. Khi bạn phải chuyển đổi qua lại giữa các nền tảng, nó là tốt đẹp không có chuyển đổi ngữ cảnh tâm thần.

Tôi chắc rằng bạn có thể nhận được tmux được biên dịch trên bất kỳ nền tảng nào, nhưng đôi khi bạn có đủ quyền truy cập để sử dụng màn hình, nhưng quản trị viên hệ thống thực sự không thực sự muốn thêm bất kỳ phần mềm nào không thực sự cần thiết.


9
2018-04-10 18:05





Những điều tôi nhận được ra khỏi tmux tôi không nhận được một cách dễ dàng trong màn hình là:

  1. thực hiện chia tách ngăn dọc
  2. ghép kênh, mà chúng tôi sử dụng cho ghép nối từ xa và cục bộ.

8
2018-04-19 17:30



Không hỗ trợ ghép kênh màn hình với -x tùy chọn và acladd? - poolie
Như những bài viết trước đây, màn hình có các ngăn chia theo chiều dọc (yêu cầu một bản vá w / o Ubuntu, rõ ràng). Ngoài ra, ghép kênh hoạt động tốt và có nhiều năm. - EntangledLoops
phân chia dọc đã nằm trong đường chính screen kể từ 4.2, phát hành vào năm 2014. Nhiều tàu distro rất các phiên bản cũ, đặc biệt là Apple. - Neal Fultz
Cả hai điểm đều không chính xác. - Forivin


Tôi đã sử dụng tmux trong khoảng 2 ngày, do đó, sự nhiệt tình không kiềm chế của tôi cho nó vẫn chưa được khắc phục bằng cách nhấn các trường hợp sử dụng gây phiền nhiễu. Trong khi trải qua những cơn đau ngày càng lan truyền từ chương trình này sang chương trình khác, tôi bị ấn tượng bởi một số tính năng tích cực, nhưng tính năng khiến tôi tin rằng mình sẽ không bao giờ quay lại màn hình là tiện ích của chế độ copy-n-paste. Trong màn hình, bạn không thể vào chế độ sao chép, cuộn lại trong bộ đệm, và sau đó đi đến một cửa sổ khác. Trong tmux, bạn có thể có nhiều cửa sổ đồng thời ở chế độ sao chép với bộ đệm được cuộn trở lại các vị trí khác nhau. Ngoài ra, có nhiều bộ đệm bản sao. Và bạn không cần phải vá nguồn để có được chuyển động của con trỏ fFtT.


7
2018-01-17 16:10





Tôi đã thay thế Màn hình GNU với tmux trong mọi trường hợp sử dụng ngoại trừ một trường hợp - khi tôi cần HyperTerminal tương đương với kết nối với cổng nối tiếp. Như Aaron Toponce đã lưu ý trong bài viết của mình "Kết nối với modem nối tiếp với màn hình GNU", các Câu hỏi thường gặp về tmux tiểu bang:

màn hình đã xây dựng nối tiếp và hỗ trợ telnet; đây là sưng lên và khó có thể     được thêm vào tmux.

Điển hình của tôi tmux trường hợp sử dụng là tạo các phiên phát triển nhiều cửa sổ và nhiều cửa sổ kết hợp với tmuxinator. Nếu bạn muốn học tmux, Tôi khuyên bạn nên lấy cuốn sách của Brian P. Hogan, tmux: Phát triển chuột miễn phí hiệu quả.


4
2018-06-21 15:27





Tôi cho rằng tính khả dụng của màn hình là sức mạnh của màn hình, nhưng hệ thống cửa sổ của nó không dễ xử lý như 'S. Tôi phải nói tôi sử dụng  phần lớn thời gian hiện tại và kết quả là có nhiều tab đầu cuối thay vì cửa sổ Màn hình.

@Jed Schneider: Bạn có thể nhận được các ngăn chia theo chiều dọc với Ctrl+A và sau đó | (thanh dọc).


1
2017-12-15 22:15





Một trong những người bảo trì tmux, Thomas Adam, cũng là liệt kê như một người bảo trì cho screen dự án mặc dù anh ta chỉ chạm vào mã tmux, đó là phần lớn của tmux trên màn hình.


0
2018-01-10 23:20