Sự khác biệt giữa các tùy chọn phân tách tmux và shell trên iTerm2?


8

Tôi hiện đang chuyển sang iTerm2 + VIM cho môi trường dev của tôi. Tôi nhận thấy rằng phiên bản cuối cùng của iTerm2 hỗ trợ tmuxvà có những người sử dụng tmuxđể chia cửa sổ thành nhiều phiên. Tôi cũng nhận thấy rằng iTerm2 có các tùy chọn ngoài hộp để chia cửa sổ thành nhiều phiên. Bạn có thể phân chia nhiều phiên như bạn muốn theo chiều dọc và chiều ngang bằng cách chỉ sử dụng CMD + D. Vì vậy, với tôi có vẻ như bạn có thể thực hiện chức năng tương tự với các tùy chọn đó. Tôi có thể sai lầm hoàn toàn.

Câu hỏi của tôi là: Có sự khác biệt / lợi ích bằng cách sử dụng tmuxcác tùy chọn chia tách trên iTerm2 không?

Câu trả lời:


9

nếu bạn đóng iterm2 thì các shell được gắn vào thể hiện của iterm2 đó cũng bị hủy / đóng. quá trình xử lý tình huống này:

iterm2
  +---- shell
  +---- shell
  +---- shell

nếu bạn đóng iterm2 chứa tmux , thì tmux và các shell bên trong cá thể tmux đó tiếp tục chạy. sau đó bạn có thể gắn lại vào trường hợp tmux đó (về cơ bản là cách mọi người làm việc trên các máy chủ từ xa trong trường hợp kết nối bị rớt) và lấy lại tình huống như trước khi bạn đóng iterm2. phân cấp quá trình của tình huống này:

iterm2
  +---- tmux
          +---- shell
          +---- shell
          +---- shell

để trích dẫn trực tiếp từ tmux :

tmux là một bộ ghép kênh đầu cuối: nó cho phép một số thiết bị đầu cuối (hoặc cửa sổ), mỗi thiết bị chạy một chương trình riêng biệt, được tạo, truy cập và điều khiển từ một màn hình duy nhất. tmux có thể được tách ra khỏi màn hình và tiếp tục chạy ở chế độ nền, sau đó được gắn lại.

một dự án cũ hơn về cơ bản có cùng chức năng là màn hình


Cảm ơn akira! đó là câu hỏi đầu tiên của tôi về SU và đã nhận được một câu trả lời tuyệt vời, chính xác là những gì tôi cần!
wonitta

Không phải hệ thống phân cấp quá trình giống như: iterm2 > shell > tmux clienttmux server > shell? Vì vậy, khi bạn đóng iTerm, bạn đóng máy khách tmux nhưng máy chủ vẫn ở xung quanh.
Henrik N

@HenrikN: iTerm2 có thể gọi tmux-client là "trực tiếp". bạn sẽ nhận được hiệu ứng tương tự nếu bạn khởi chạy "exec tmux Đính kèm" hoặc một cái gì đó tương tự. và có, tmux bao gồm 2 phần. nhưng sự khác biệt đó không cải thiện sự hiểu biết tại sao chia tách iterm2 khác với chia tách tmux, phải không?
akira

@akira Tôi chỉ muốn xóa nó vì bạn đặt tmux dưới iTerm, điều này có lẽ làm cho khó khăn hơn để xem tmux tồn tại như thế nào khi quá trình iTerm thoát ra. Đối với tôi, cách tốt nhất để hiểu điều đó là nhận ra rằng máy chủ tmux độc lập với iTerm (nhưng máy khách thì không). Nhưng chắc chắn, thực tế là tmux chứ không phải iterm sở hữu các vỏ tách là một điểm mấu chốt.
Henrik N

2

Câu trả lời được chấp nhận là tuyệt vời và là điều yêu thích của tôi về tmux, nhưng thường bị bỏ qua là nhiều khách hàng có thể được đính kèm vào mỗi phiên tmux. Vì vậy, một hoặc nhiều người dùng có thể kết nối với phiên tmux từ các máy tính khác nhau và họ chia sẻ cùng một thông tin trên cửa sổ.


1

Hiện tại cũng có một công cụ gọi là iTermocil mang chức năng bố trí các cửa sổ và cửa sổ và chạy các lệnh được cấu hình sẵn một cách tự nhiên cho iTerm.

Tuyên bố miễn trừ trách nhiệm: Tôi là tác giả của công cụ này (đối với chức năng chính xác được mô tả trong câu hỏi).

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.