Невозможно изменить заголовок вкладки gnome-терминала любым стандартным способом
У меня 2 ноутбука, A и B, одна и та же ОС (Ubuntu 18.04). В заголовках вкладок моего терминала gnome на A всегда отображается текущий путь на вкладке, в то время как B показывает тот, который я говорю через tt
а также ntt
команды, которые я обсуждаю в другом моем вопросе. я пытался
echo -ne "\033]0;MY TITLE\007"'
а также
PROMPT_COMMAND='echo -ne "\033]0;MY TITLE\007"'
а также
gnome-terminal --title="MY TITLE HERE"
но ничего не работает, он показывает текущую папку в заголовке вкладки. Тогда как на ноутбуке B работают те же команды! Это немного отличается от вопроса Как изменить заголовок Gnome-Terminal?, потому что ни один из 3 методов выше не работает.
Я помню, как возился с этим несколько недель назад, я, должно быть, добавил что-то, что динамически обновляет заголовок каждый раз, когда появляется новое приглашение, поэтому, когда я пробую echo -ne, оно немедленно перезаписывается. Команды env показывают, что PS1 или PROMPT_COMMAND уже нет.
Есть идеи, как это исправить, чтобы echo -ne снова работал? Есть ли файл настроек для терминала gnome, он загружается при каждом запуске?
1 ответ
Спасибо @wjandrea, что вы были правы со своим первым комментарием и чертовски близки со своим вторым. Таким образом, для других может быть полезно знать, что кроме 3 методов, упомянутых в моем вопросе, может быть PS1 незаметно установлен в вашем .bashrc
, В самом деле:
env|grep PS1
никогда не покажетPS1
; вместо этого используйтеecho $PS1
или жеdeclare -p PS1
аналогично дляPROMPT_COMMAND
,- Как только я использовал правильный запрос, я обнаружил, что
PS1
был установлен с последовательностью esc 0, которая устанавливает заголовок на вкладке. Тогда я посмотрел в моем
.bashrc
и конечно же, там был фрагмент кода, обсуждаемый в ответе Уорда; блокcase "$TERM" in xterm*...
добавляет магическую тайную последовательность esc 0, которая устанавливает заголовок, тем самым предотвращая работу любой другой техники!
- Раскомментировав это позволило мне использовать
tt
а такжеntt
Команды, которые я упоминаю в моем старом вопросе.