1 điểm bởi GN⁺ 2024-05-27 | 1 bình luận | Chia sẻ qua WhatsApp

tmux có phải là lựa chọn tốt hơn

Giới thiệu về tmux

  • tmux là viết tắt của "terminal multiplexer", cho phép chia terminal thành nhiều shell độc lập
  • Được cài sẵn mặc định trên OpenBSD
  • Hữu ích với các lập trình viên thường xuyên dùng SSH
  • Có thể chia màn hình mà không cần môi trường đồ họa
  • Phù hợp với những người theo đuổi chủ nghĩa tối giản số

Quan điểm của Kovid Goyal

  • Kovid Goyal là nhà phát triển của phần mềm ePub calibre và trình giả lập terminal Kitty
  • Goyal không thích tmux
  • Trong phần FAQ của mình, ông bày tỏ quan điểm tiêu cực về tmux
    • Terminal multiplexer tạo thêm overhead không cần thiết
    • Độ phức tạp tăng lên dẫn đến suy giảm hiệu năng
    • Kém hiệu quả về mặt năng lượng và hiệu suất
    • Gây ảnh hưởng tiêu cực đến toàn bộ hệ sinh thái

Trải nghiệm sử dụng cá nhân

  • Tác giả dùng UNIX ở nhà và Windows tại nơi làm việc
  • Trong những tình huống phải dùng SSH nhiều lần, tác giả thường xuyên sử dụng tmux
  • tmux có thể hoạt động trên nhiều trình giả lập terminal khác nhau
  • Kitty cần phải chạy được trên hệ thống được truy cập từ xa

Triết lý "Worse is better"

  • "Worse is better" gần với một triết lý quản lý sản phẩm hơn là triết lý phần mềm
  • Nó nhấn mạnh tầm quan trọng của việc tối ưu chức năng cốt lõi của phần mềm cho những trường hợp sử dụng phổ biến nhất
  • Cá nhân tác giả thích VM hơn, nhưng trên thực tế lại dùng tmux thường xuyên hơn

Kết luận

  • Tác giả chủ yếu truy cập từ xa trên Windows
  • Tác giả đã thuộc các phím tắt của tmux
  • Các phím tắt của Kitty cũng rất tốt, nhưng tmux hữu ích hơn

Ý kiến của GN⁺

  • tmux rất hữu ích với các nhà phát triển thường xuyên dùng SSH. Đặc biệt, khả năng chạy đồng thời nhiều shell là một lợi thế lớn.
  • Như ý kiến của Kovid Goyal, terminal multiplexer có thể ảnh hưởng đến hiệu năng, nhưng phần lớn người dùng có lẽ sẽ coi trọng lợi ích mà nó mang lại hơn.
  • Các trình giả lập terminal như Kitty có thể mang lại hiệu năng tốt hơn, nhưng khó có thể thay thế được tính phổ dụng và sự tiện lợi của tmux.
  • Với những người theo đuổi chủ nghĩa tối giản số, tmux là một công cụ rất hấp dẫn. Nó cung cấp các tính năng mạnh mẽ ngay cả khi không có môi trường đồ họa.
  • Khi dùng tmux cùng với Kitty, có thể tận dụng tối đa ưu điểm của từng công cụ. Ví dụ, dùng Kitty ở máy cục bộ và tmux trên máy chủ từ xa.

1 bình luận

 
GN⁺ 2024-05-27
Ý kiến trên Hacker News

Tóm tắt các bình luận trên Hacker News

  • "Tôi không nghĩ việc phân tích phím bấm hai lần là nguyên nhân lớn gây lãng phí chu kỳ CPU và hao pin. Kitty có tích hợp sẵn phần lớn tính năng của tmux, nhưng điều đó không giúp ích nhiều cho những người làm việc qua SSH. Việc gói mọi thứ vào terminal emulator có vẻ là bổ sung tính năng không cần thiết."

  • "Lý do thực sự cần tmux là khả năng duy trì phiên từ xa. Tôi không muốn mất phiên vim chỉ vì kết nối tới máy chủ bị ngắt."

  • "Tính năng sát thủ của tmux là duy trì không chỉ shell mà cả không gian làm việc. Kitty và screen không giải quyết được vấn đề này. Nếu có khả năng duy trì không gian làm việc dựa trên terminal emulator, tôi sẽ bỏ tmux."

  • "Kovid Goyal, nhà phát triển của Kitty, không thích tmux. Kitty có hầu hết các tính năng của tmux, nhưng không cung cấp khả năng duy trì phiên từ xa. Nếu phụ thuộc vào terminal emulator, khi chuyển sang emulator khác sẽ phải học lại muscle memory mới."

  • "Cách dùng cơ bản của screen hoặc tmux (khởi động, tạo và chuyển cửa sổ, gắn lại kết nối) nên là một phần trong bộ công cụ của bất kỳ ai cần SSH vào máy chủ. Đặc biệt ở startup, bạn phải hiểu hệ thống và có thể làm việc sáng tạo, hiệu quả."

  • "Có thể thêm cấu hình vào ~/.ssh/config để ghép kênh nhiều phiên SSH qua một kết nối duy nhất. Phiên đầu tiên dùng xác thực dấu vân tay, sau đó có thể kết nối trong 300 giây mà không cần xác thực lại. Có thể duy trì phiên ngay cả khi ngoại tuyến thông qua Tailscale."

  • "Giá trị lớn nhất của SSH là các tác vụ dài vẫn có thể tiếp tục dù kết nối bị ngắt. Bị rớt kết nối khi một tác vụ tải xuống dài gần hoàn tất là điều cực kỳ bực bội."

  • "Tôi dùng Windows làm host OS và làm việc trên Linux. Tôi dùng tmux để chạy nhiều shell. Có vấn đề về hiệu năng, nhưng xét về năng suất thì nó rất hữu ích."

  • "Đối với SSH từ xa, tôi dùng cấu hình .ssh/config để tự động khởi động tmux ở máy từ xa. Nhờ vậy có thể lưu lại công việc ngay cả khi kết nối không ổn định. Tôi dùng tmux mỗi ngày và chưa tìm được lựa chọn thay thế nào khác."

  • "Ý kiến của Kovid có thể đúng về mặt kỹ thuật, nhưng sai về mặt khả dụng. Người dùng thích những gì khiến cuộc sống đơn giản hơn. Tôi đã thử zellij nhưng rồi quay lại tmux. tmux có rào cản tiếp cận thấp hơn."