Динамический заголовок экрана GNU

У меня есть настройка, которая работает на одном компьютере (linux mint 18.3 sylvia), а не на другом (Ubuntu 14.04.5 LTS), и я не знаю, что нужно проверить, чтобы найти проблему:

Я использую экран GNU и помещаю имя каждого окна, которое изменяется динамически, пока я меняю каталог или запускаю задачу.

например, если я подскажу cd ~/desktop это покажет ~/desktop cd ~/desktop, если тогда я подскажу cd .. это покажет ~ cd ..,

проблема в том, что на втором компьютере он не работает, точнее, наполовину работает, но я не понимаю как.

Вот как должен работать конфиг: одна часть находится в файле.screenrc, а другая - в файле.zshrc.

.screnrc:

hardstatus string "%{= KW}%n %t %=%c %D %d-%m-%y"

%t является частью заголовка и должна быть расширена с помощью PATH_SPACE_STRING

это работает благодаря тому, что я поместил в файл.zshrc, который заставляет оболочку выводить управляющую последовательность заголовка (esc k title esc), как это было задано здесь https://www.gnu.org/software/screen/manual/html_node/Dynamic-Titles.html

.zshrc:

preexec () {                                                               
 if [[ $TERM == screen* ]]; then                                           
   print -Pn '\ek%~ $1\e\\'                                            
 fi                                                                        
}

где %~ стоять за текущий путь, и $1 строка, набранная в приглашении

но после нескольких тестов я понимаю, что компьютер под управлением Ubuntu не слушает то, что я вставил в файл.zshrc, но он все равно расширяется %t в путь (поэтому у меня есть путь в качестве заголовка, а не путь плюс команда приглашения)

что может дать экрану указание динамически помещать текущий путь в качестве заголовка, если не то, что я написал в файле.zshrc? и как его перезаписать?

0 ответов

Другие вопросы по тегам