tmux không thay đổi kích thước với cửa sổ đầu cuối


9

Khi tôi thay đổi kích thước cửa sổ đầu cuối chứa phiên tmux, tmux không phát hiện ra thay đổi này, nhưng vẫn tiếp tục hoạt động bình thường trong ranh giới cửa sổ cũ. tmux lscho thấy không có khách hàng đính kèm nào khác trước khi tôi đính kèm:

$ tmux ls
admin: 1 windows (created Mon Apr 27 15:12:58 2015) [272x75]
apt-runs: 3 windows (created Mon Apr 27 15:17:50 2015) [272x75]
lal-dev: 4 windows (created Tue Jun  9 12:24:25 2015) [238x73]

Điều này chỉ xảy ra với một máy chủ cụ thể (chạy tmux 1.9a) và tách / gắn lại khắc phục sự cố (cho đến khi cửa sổ được thay đổi kích thước một lần nữa). Điều gì có thể gây ra điều này?

Trước khi thay đổi kích thước: Trước

Sau khi thay đổi kích thước: nhập mô tả hình ảnh ở đây


3
Có một cửa sổ đầu cuối khác được gắn vào phiên đó giới hạn kích thước không?
Anthon

@Anthon Nope - tmux lscho thấy không có khách hàng nào khác. Tôi đã làm rõ điều này trong câu hỏi.
Will Vousden

Tôi đang gặp vấn đề này; Đáng chú ý là cả hai chúng tôi đều sử dụng OSX mặc dù tôi có thể đang chạy phiên bản cập nhật hơn. Bạn đã tìm thấy bất kỳ sửa chữa, xem như không có câu trả lời được chấp nhận?
SidOfc

Tôi vẫn thấy điều này vào năm 2020. Phát hành resizetrong vỏ chạy trong tmux giải quyết vấn đề, cho đến khi cửa sổ đầu cuối được thay đổi kích thước một lần nữa. Điều này hơi khác với những gì @saterHater nói dưới đây. Anh ta dường như đề nghị bạn cần tách tmux trước khi ban hành lệnh này.
Tom Ellis

Vấn đề này có vẻ có liên quan: github.com/tmux/tmux/issues/359 . Ngoài ra, tôi nên chỉ ra rằng tôi đang chạy xmonad, có lẽ là một trình quản lý cửa sổ không quen thuộc với tmux như MacOS.
Tom Ellis

Câu trả lời:


7

Cách dễ nhất để làm là tách bất kỳ khách hàng nào khác khỏi các phiên khi bạn đính kèm:

tmux attach -d

hoặc ngắn

tmux a -d

Thay phiên, bạn có thể di chuyển bất kỳ khách hàng nào khác sang một phiên khác trước khi đính kèm vào phiên: https://stackoverflow.com/a/7819465/1069083


Như tôi đã nói trong câu hỏi, không có khách hàng nào khác. Không giống như trường hợp này, khi có nhiều máy khách với các kích cỡ đầu cuối khác nhau, thanh trạng thái vẫn ở dưới cùng của màn hình và khu vực không sử dụng được điền vào bằng các dấu chấm. Tôi không bao giờ giải quyết vấn đề này, nhưng tôi không còn làm việc trên hệ thống nơi nó xảy ra.
Will Vousden

5

Tôi không rành về thiết bị đầu cuối, nhưng tôi đã thoát khỏi lỗi này bằng cách thực hiện các bước sau:

  1. rời khỏi phiên bằng cách đặt trước Ctrl+ b d(đừng lo lắng, bạn có thể quay lại phiên hoàn toàn nguyên vẹn)

  2. Kiểm tra xem ứng dụng console của bạn có đang chạy không xterm. Nếu echo $TERMtrả về xtermthì thủ tục này có thể làm việc cho bạn.

  3. resizevào thiết bị đầu cuối của bạn.

  4. trở lại phiên của bạn bằng cách gọi lại tmux. Như bạn có thể thấy, tất cả các phiên của bạn đang chạy như thể bạn không bao giờ rời khỏi tmux cả.

Tmux liên kết kích thước thiết bị đầu cuối với xtermbiến 'kích thước' của bạn . Nếu bạn tình cờ $TERMcài đặt screen, thì tôi không thể giúp bạn, vì tôi không biết các lệnh cho phiên HẠN đó là gì.


1
Đi theo tuyến đường đó, bạn sẽ phải làm điều này mỗi khi bạn thay đổi kích thước cửa sổ. Đó chính xác là những gì OP tuyên bố họ đã làm, trong câu hỏi.
Thomas Dickey

1
Gọiresize (sau apt install xterm) là bước quan trọng tôi đã bỏ lỡ.
ulidtko
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.