Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Tmux vs. Screen: Terminal Multiplexer Nào Tốt Hơn?

Khi làm việc thường xuyên với terminal trên Linux, bạn chắc chắn sẽ gặp khó khăn khi muốn đa nhiệm. Nhiều cửa sổ hoặc tab là ổn, nhưng khi đăng nhập vào máy chủ từ xa hoặc hệ thống khác, bạn không lúc nào cũng có quyền truy cập tab hoặc nhiều cửa sổ terminal. Đó là lúc hai "trụ cột" của thế giới quản trị hệ thống Linux – tmux và screen – xuất hiện. Tuy nhiên, như mọi thứ trong cộng đồng mã nguồn mở, lựa chọn ở đây không rõ ràng về lệnh nào tốt hơn cho nhu cầu của bạn. Hôm nay, chúng ta sẽ đi qua so sánh tmux vs screen để quyết định terminal multiplexer nào là tốt nhất.

Các Tính Năng Của Terminal Multiplexer

Vì cả tmux và screen đều là terminal multiplexer, có một số tính năng chính tôi muốn nói đến vì chúng làm cho sự khác biệt giữa hai công cụ này rõ rệt hơn. Bạn thường sẽ nhấn một tổ hợp phím cụ thể không được đăng ký ở đâu khác trong hệ thống để sử dụng các tính năng khác nhau của multiplexer.

Tách (Detach) và Gắn Lại (Reattach)

Bạn có thể bắt đầu một phiên trong Terminal Multiplexer, làm việc một chút, sau đó tách nó để lấy nó ra khỏi màn hình. Điều này cũng giữ cho phiên đó sống nếu bạn đăng xuất, giúp dữ liệu nhạy cảm không bị mất. Sau đó bạn có thể gắn lại nó khi sẵn sàng và cần tiếp tục làm việc tại đó.

Chia Màn Hình (Split Screen)

Bạn cũng có thể chia phiên terminal thành các ô, tạo ra nhiều phiên terminal nhìn thấy được cùng một lúc. Điều này tuyệt vời nếu bạn theo dõi một vài khía cạnh khác nhau của việc sử dụng tài nguyên hệ thống, như điện năng, RAM, CPU và disk IO, và muốn dùng các màn hình khác nhau để theo dõi những thứ đó. Hoặc bạn có thể theo dõi một system monitor trong khi biên dịch hoặc nén một dự án lớn, giúp dễ dàng theo dõi tải nếu có sự cố.

Quản Lý Phiên (Session Management)

Có một vài cách Terminal Multiplexer giúp bạn theo dõi các phiên. Một trong số đó là khi bạn tách nhiều phiên, bạn có thể thấy tất cả chúng ở một cái nhìn. Điều này tiện lợi nếu bạn bắt đầu nhiều phiên, sau đó không chắc nên quay lại phiên nào. Thêm vào đó, bạn cũng có thể đặt tên hoặc gán nhãn cho các phiên, giúp đơn giản hóa việc theo dõi không gian làm việc. Chúng bắt đầu trở nên hơi giống như các desktop ảo trên hệ điều hành desktop thông thường.

Các Tính Năng Của tmux

Một trong những tính năng chính mà tôi thực sự thích ở tmux là bạn có thể điều khiển các phiên từ dấu nhắc shell bình thường mà không cần phải vào phiên bạn đã tạo. (Bạn có thể tìm hiểu về cách dùng tmux ở đây.) Một ví dụ hay là kill session, có thể thực hiện qua lệnh tmux kill-session. Nếu bạn chắc chắn đã xong với một phiên tmux cụ thể, bạn có thể kill nó ngay từ dấu nhắc shell.

Cũng có một thanh trạng thái đẹp ở dưới màn hình thay vì chiếm chỗ dấu nhắc terminal ở trên cửa sổ. Nó hơi dễ hình dung quy trình làm việc tmux hơn so với screen. Ngoài ra, các phiên tự động đổi tên dựa trên lệnh bạn đang chạy, rất hữu ích nếu bạn quên đặt tên cho chúng.

Các Tính Năng Của screen

Để bắt đầu với screen, hãy xem hướng dẫn của chúng tôi ở đây. Có một tính năng chính của screen giúp nó nổi bật so với tmux: chia sẻ phiên với người dùng khác, rất tuyệt vời trên hệ thống đa người dùng có nhiều admin cùng làm việc cùng lúc để troubleshooting.

Một điểm cộng khác là nếu bạn dùng Mac, bạn không cần loay hoay với homebrew để cài screen – nó đã tích hợp sẵn trong terminal.

screen vs. tmux: Tóm Tắt

Nếu phải đề xuất một, tôi sẽ đề xuất tmux. Có một vài điều làm tmux tốt hơn. Ví dụ điển hình là bạn có thể thay attach bằng kill-session và kết thúc phiên mà không cần quay lại, kết thúc lệnh, rồi gõ exit. Thêm vào đó, thanh trạng thái dễ đọc hơn, và các lệnh hơi dễ hiểu hơn (human-readable).

Đối với người dùng macOS, screen có thể tiện hơn, vì không cần homebrew để bắt đầu.

Đừng quên xem thêm các bài viết công cụ Linux khác của chúng tôi, như 15 lệnh ls bạn cần biết, hướng dẫn git cho người mới, và hướng dẫn về biến bash và cách sử dụng chúng.