Как изменить заголовок терминала Терминатора, ZSH в Debian?

10

Я не знаю, должен ли я спросить это здесь или на unix.stackexchange.com, я нашел этот вопрос здесь ,

У меня такой же вопрос, я хочу изменить название терминала, я использую дистрибутив на основе Debian, Terminator и ZSH, о-о-о-о-о-о, заголовок был в порядке с bash, но когда я перешел на ZSH, он показывает /bin/zsh Как название.

Lynob
источник
@ DaniëlW.Crompton действительно? это дурак? если это так, я закрою это прямо сейчас, я связался с этим вопросом, так что я знаю, что он есть, но не знал, что это обман, потому что я использую другую ОС и эмулятор
Lynob
Вы попробовали то, что посоветовали в вопросе, с которым вы связались?
Daniël W. Crompton
2
@ DaniëlW.Crompton да, echo -ne "\e]1;this is the title\a а также echo -ne "\e]1;$PWD\a" не выдает ошибок, но не работает, я пытался снять все, если я что-то упустил
Lynob
1
Вы пробовали echo -ne "\ e] 0; $ PWD \ a" с 0 вместо 1?
Daniël W. Crompton

Ответы:

10

Вы устанавливаете заголовок окна с помощью escape-последовательностей xterm, в большинстве реализаций первое будет работать лучше всего:

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

РЕДАКТИРОВАТЬ: Выше только устанавливает заголовок один раз. Чтобы zsh всегда отображал строку в заголовке, вы добавляете следующее в .zprofile в вашем домашнем каталоге:

case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;string\a"}
        ;;
esac
Daniël W. Crompton
источник
2
я сказал ранее echo -ne "\e]0;$PWD\a" работает, но когда я выхожу из оболочки, он перестает работать ... Я пытался вы набрали в ответ, и я получаю zsh: command not found: stringa а также zsh: command not found: e]1 и так далее, все они
Lynob
1
Обновил ответ
Daniël W. Crompton
Заменить домашний каталог в $ PWD на ~ я использовал precmd () {print -Pn "\e]0;${PWD/$HOME/\~}\a"} (Z оболочка)
Maksym Ganenko
8

Следующее работает для меня, чтобы переименовать каждую вкладку в gnome-терминал. Я добавил следующий код в мой ~ / .Zshrc файл.

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

Это создает заглавие Функция переименовать каждую вкладку.

Обратите внимание, если вы используете о-мой-ЗШ вам нужно будет отключить его команду автоматического заголовка. Вы можете сделать это, раскомментировав эту строку в своем ~ / .Zshrc файл:

DISABLE_AUTO_TITLE="true"
Steve
источник
3
DISABLE_AUTO_TITLE = "true" помог мне. Спасибо.
Rakesh Gopal
3

Это должно работать независимо от используемой оболочки:

printf "\033];%s\07\n" "hello world"
jlliagre
источник
0

Предыдущие ответы не совсем работали для меня. Не без некоторых икоты (не всегда обновляется или что-то). Это может быть из-за того, что у меня был ZSH, без oh-my-zsh, К счастью, я узнал о chpwd, так:

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 вызывается каждый раз, когда меняется каталог.
  2. При первом запуске xterm (или других) это не считается изменением каталога, поэтому вызовите chpwd непосредственно в .zshrc

Как я не пользуюсь о-мой-ЗШ Я не знаю, работает ли он там, но если они не были изменены и перезаписаны chpwd (в этом случае вы будете перезаписывать их перезаписывать: D), так и должно быть.

LIttle Ancient Forest Kami
источник
-1

Ну, вы можете сделать сценарий, который вызывает окно и задает имя, которое вы хотите. Выполните скрипт, чтобы вызвать окно с вашим именем. Вы также можете установить X, Y положение и размер окна. Вы можете сделать несколько, и окна будут названы для каждого случая.

cliff2310
источник
// Есть что-то более конкретное?
Nathan Basanese
Прошло более 12 лет с тех пор, как я написал эти сценарии. Я не хочу давать плохую информацию, но думаю, что все это было сделано с использованием опций xterm. Проверьте страницу MAN для xterm для получения дополнительной информации. Возможно, у меня где-то есть сценарии, но Харви оставил все мои старые диски в куче, куда они были сброшены, чтобы вывести их из вредного положения. Когда ремонт будет завершен, я смогу обновить это.
cliff2310