Không cho phép đổi tên cửa sổ trong tmux


4

Tôi đã cài đặt tmux trên hệ thống OS X với zsh được cung cấp bởi oh-my-zsh.

Tôi thường sử dụng khá nhiều cửa sổ tmux cho cả đống phiên ssh và tôi muốn giữ các cửa sổ này được đặt tên theo các máy chủ tôi đang làm việc để giúp tôi dễ dàng tìm ra cửa sổ nào chứa cái gì.

Tôi đã thử thêm các dòng cấu hình như set-window-option -g automatic-rename offset-option -g allow-rename off thành ~ / .tmux.conf của tôi, tuy nhiên nếu tôi bắt đầu một phiên tmux mới, hãy đổi tên cửa sổ và cd vào một thư mục khác, tmux vui vẻ đổi tên cửa sổ một lần nữa để phù hợp với thư mục làm việc hiện tại.

Làm thế nào tôi có thể đặt tên cho các cửa sổ mà không cần chúng thay đổi tự động?


1
Nó nên đọc "set- cửa sổ -option -g cho phép đổi tên ", phải không?
mpy

@mpy Cảm ơn vì tiền boa! Nó làm việc cho tôi.
Worker

Câu trả lời:


7

Tôi đã có vấn đề tương tự nhưng với byobu-screen và sau một số nghiên cứu, hóa ra nó là oh-my-zsh đặc tính.

Điều này đã được thảo luận về oh-my-zsh vấn đề trang

Nói tóm lại, tôi đã phải thất vọng DISABLE_AUTO_TITLE="true" trong dòng của tôi ~/.zshrc tập tin.

Dựa trên phiên bản của oh-my-zsh , bạn có thể phải thêm export DISABLE_AUTO_TITLE="true".


1

Tôi biết rằng điều này không trả lời câu hỏi trực tiếp của bạn nhưng có thể giúp bạn có được hành vi mong muốn - và quá lâu để nhận xét

IMHO bạn nên chữa nguyên nhân và không cố gắng làm giảm các triệu chứng ... ý tôi là như sau: Ở đâu đó trong cấu hình shell của bạn (có thể là một trong các plugin oh-my-zsh được kích hoạt của bạn), tiêu đề cửa sổ sẽ được đặt mỗi lần bạn thay đổi thư mục hiện tại Có lẽ nhiều nhất trong precmd() hoặc là chpwd() chức năng. Vì vậy, trước tiên hãy kiểm tra đầu ra của

$ which precmd
$ which chpwd

và cố gắng tìm nguồn trong các tập tin zsh RC của bạn.

Một cách giải quyết có thể là, ghi đè các hàm này (với tmux tự động đổi tên tùy chọn tắt và cho phép đổi tên trên):

$ chpwd() { }
$ precmd() {
    if [[ "$TERM" = "screen" ]] && [[ -n "$TMUX" ]]; then
       print -Pn "\033k%m\033\\"
    fi
  }

Nhận xét:

  • Tôi đã sử dụng kiểm tra nếu bạn đang ở trong phiên tmux từ câu trả lời đó
  • Tiêu đề cửa sổ được thay đổi thông qua việc in một chuỗi thoát mọi lúc trước khi lời nhắc được vẽ lại
  • print -P sử dụng các mở rộng tương tự như trong lời nhắc (xem MỞ RỘNG YÊU CẦU KHUYẾN MÃI trong man zshmisc ), vì thế %m mở rộng đến tên máy chủ cho đến dấu chấm đầu tiên.

Hãy chắc chắn rằng bạn chèn mã này vào ~/.zshrc tập tin sau oh-my-zsh được tải.

Điểm cuối cùng xuất hiện trong đầu tôi: Tên máy chủ chỉ có thể được đặt bởi máy chủ bạn đăng nhập. Vì vậy, hãy chắc chắn rằng cấu hình của tất cả các máy đó là

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.