Tại sao tmux đặt biến TERM thành màn hình?


19

Trang trích dẫn tmux:

Biến môi trường TERM phải được đặt thành màn hình trực tuyến cho tất cả các chương trình chạy bên trong tmux. Các cửa sổ mới sẽ tự động có thêm TUL = màn hình được thêm vào môi trường của chúng, nhưng cần chú ý không đặt lại phần này trong các tệp khởi động shell.

Đây có phải là vì tmuxphiên có thể được gắn vào bất kỳ thiết bị đầu cuối nào (ví dụ từ xa), screenlà mẫu số chung thấp nhất? Nếu tôi biết thiết bị đầu cuối của mình, tôi có thể buộc nó mà không có kết quả không mong muốn, hoặc một số khả năng không được hỗ trợ sẽ bị hỏng (như cuộn)?

Câu trả lời:


13

Nó thực hiện điều này để tận dụng mô tả thiết bị đầu cuối được cài đặt trước đó cho màn hình GNU.

Cả tmuxmàn hình đều cung cấp cho các ứng dụng (ít nhiều) các mô tả thiết bị đầu cuối "giống nhau" để đơn giản hóa việc kết nối từ các thiết bị đầu cuối khác nhau. Các chương trình tmux và màn hình được cho là để xử lý sự khác biệt giữa nội bộ (TERM = màn hình) và bên ngoài (xterm, linux, v.v.). Vì vậy, screenmô tả thiết bị đầu cuối đã được cài đặt "ở mọi nơi" (thường là bởi các tài khoản).

Có một số khác biệt:

  • Màn hình GNU có một vấn đề rất cũ đại diện cho tính năng "nổi bật" (về mặt kỹ thuật không phải là một tính năng đầu cuối cụ thể mà là một sự trừu tượng hóa để thuận tiện cho các ứng dụng nguyền rủa). tmux không có giới hạn đó. Nhưng TERM = tmux được cải thiện không nhất thiết là "ở mọi nơi".
  • Màn hình GNU có một tính năng để sử dụng các mô tả thiết bị đầu cuối lai. Với TERM = xterm bên ngoài và sự tồn tại của "screen.xterm", nó sẽ chọn giá trị TERM bên trong. (xem ví dụ cơ sở dữ liệu đầu cuối ). tmux không làm điều đó.

5

Kể từ tmux 2.1 , bạn có thể sử dụng tmux terminfo :

'default-terminal' hiện là một tùy chọn phiên. Hơn nữa, nếu điều này được đặt thành 'screen- *' thì hãy mô phỏng màn hình nào. Nếu muốn in nghiêng, điều này có thể được đặt thành 'tmux' nhưng điều này vẫn còn mới và không nhất thiết phải được hỗ trợ trên tất cả các nền tảng có cài đặt ncurs cũ hơn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.