Динамический заголовок экрана GNU - PullRequest
0 голосов
/ 04 октября 2018

У меня есть настройка, которая работает на одном компьютере (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, который заставляет оболочку выводить escape-последовательность заголовка(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 в путь (поэтому у меня есть путь в качестве заголовка, а не путь плюс команда приглашения)

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

...