Làm cách nào để thay đổi tiêu đề thiết bị đầu cuối tiêu đề Terminator, ZSH trên Debian?


14

Tôi không biết tôi nên hỏi nó ở đây hay trên unix.stackexchange.com, tôi đã tìm thấy câu hỏi này ở đây .

Câu hỏi của tôi cũng tương tự, tôi muốn thay đổi tiêu đề của thiết bị đầu cuối, tôi đang sử dụng bản phân phối dựa trên Debian, Terminator và ZSH, oh-my-zsh, tiêu đề rất ổn với bash, nhưng khi tôi chuyển sang ZSH, nó hiển thị /bin/zshnhư tiêu đề.


@ DaniëlW.Crompton thật sao? nó là một bản sao? nếu vậy tôi sẽ đóng nó ngay bây giờ, tôi đã liên kết với câu hỏi đó, vì vậy tôi biết nó ở đó, nhưng không biết đó là bản sao vì tôi đang sử dụng một hệ điều hành và trình giả lập khác
Lynob

Bạn đã thử những gì được khuyên trong câu hỏi bạn liên kết đến?
Daniël W. Crompton

2
@ DaniëlW.Crompton có, echo -ne "\e]1;this is the title\aecho -ne "\e]1;$PWD\a"không đưa ra lỗi nhưng không hoạt động, tôi đã cố gắng bỏ chọn tất cả trừ khi tôi thiếu một cái gì đó
Lynob

1
Bạn đã thử echo -ne "\ e] 0; $ PWD \ a" với 0 thay vì 1 chưa?
Daniël W. Crompton

Câu trả lời:


13

Bạn đặt tiêu đề cửa sổ của mình với các chuỗi thoát xtem, trong hầu hết các triển khai đầu tiên sẽ hoạt động tốt nhất:

echo -en "\e]0;string\a" #-- Set icon name and window title to string
echo -en "\e]1;string\a" #-- Set icon name to string
echo -en "\e]2;string\a" #-- Set window title to string

EDIT: Ở trên chỉ đặt tiêu đề một lần. Để đặt zsh luôn hiển thị sting trong tiêu đề, bạn thêm phần sau vào thư mục chính .zprofilecủa bạn:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac

2
tôi đã nói trước echo -ne "\e]0;$PWD\a"công trình nhưng khi tôi thoát khỏi vỏ, nó ngừng hoạt động ... Tôi cố gắng bạn gõ vào câu trả lời và tôi nhận được zsh: command not found: stringazsh: command not found: e]1và như vậy, tất cả trong số họ
Lynob

1
Cập nhật câu trả lời
Daniël W. Crompton

Để thay thế thư mục nhà trong $ PWD bằng ~tôi đã sử dụng precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"}(shell Z)
Maksym Ganenko

13

Sau đây tôi đã đổi tên từng tab trong gnome-terminal. Tôi đã thêm đoạn mã sau vào tệp ~ / .zshrc của mình .

precmd () { print -Pn "\e]0;$TITLE\a" }
title() { export TITLE="$*" }

Điều này tạo ra một chức năng tiêu đề để đổi tên mỗi tab.

Lưu ý, nếu bạn đang sử dụng oh-my-zsh, bạn sẽ cần phải tắt lệnh tiêu đề tự động của nó. Bạn có thể làm điều đó bằng cách bỏ ghi chú dòng này trong tệp ~ / .zshrc của bạn :

DISABLE_AUTO_TITLE="true"

5
DISABLE_AUTO_TITLE = "true" đã lừa tôi. Cảm ơn bạn.
Rakesh Gopal

4

Điều này sẽ làm việc bất kể vỏ được sử dụng:

printf "\033];%s\07\n" "hello world"

2

Câu trả lời trước đó không làm việc cho tôi. Không phải không có một số trục trặc (không phải luôn luôn được làm mới hoặc một cái gì đó). Nó có thể là do thực tế tôi đã có ZSH, mà không có oh-my-zsh. May mắn thay tôi đã học được chpwd, vì vậy:

chpwd() {
  [[ -t 1 ]] || return
  case $TERM in
    sun-cmd) print -Pn "\e]l%~\e\\"
      ;;
    *xterm*|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
      ;;
  esac
}
  1. chpwd được gọi mỗi khi thư mục được thay đổi.
  2. Lần đầu tiên bạn khởi chạy xterm (hoặc những người khác), điều này không được tính là thay đổi thư mục, vì vậy hãy đặt cuộc gọi chpwd trực tiếp vào .zshrc

Vì tôi không sử dụng oh-my-zsh , tôi không biết nó có hoạt động ở đó không, nhưng trừ khi chúng đã thay đổi và ghi đè chpwd(trong trường hợp đó bạn sẽ ghi đè lên phần ghi đè của chúng: D), nó sẽ như vậy.


-1

Vâng, bạn có thể tạo một đoạn mã mở ra một cửa sổ và đặt tên thành những gì bạn muốn. Thực thi tập lệnh để hiển thị cửa sổ với tên của bạn. Bạn cũng có thể đặt vị trí X, Y và kích thước của cửa sổ. Bạn có thể thực hiện một số và có các cửa sổ được đặt tên cho mỗi dịp.


//, Có gì cụ thể hơn một chút không?
Nathan Basan 15/03/18

Đã hơn 12 năm kể từ khi tôi viết những kịch bản đó. Tôi không muốn cung cấp thông tin xấu nhưng tôi nghĩ rằng tất cả những gì đã được thực hiện bằng cách sử dụng các tùy chọn của xterm. Kiểm tra trang MAN cho xterm để biết thêm thông tin. Tôi có thể có các kịch bản ở đâu đó, nhưng Harvey đã để lại tất cả đĩa cũ của tôi trong một đống nơi chúng bị đổ để đưa chúng ra khỏi đường đi có hại. Khi sửa chữa xong tôi có thể cập nhật cái này.
vách đá2310
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.