Это - определенное продолжение этого вопроса. Я работаю в tcsh в экране GNU в xterm.
У меня есть следующее в моем .cshrc:
alias res_t 'xtset -t %h:%d "(%u:%g)" %e' # reset titlebar
res_t # reset title right now
alias precmd res_t
И это хорошо работает!
Однако, когда я выполняю экран, я вижу, что заголовок не становится обновленным с текущим каталогом. Как я могу заставить экран обновить xterm заголовок?
Можно установить xterm заголовок окна путем добавления этого к Вашему .tcshrc
или .cshrc
(замените свой ток precmd
псевдоним):
alias precmd 'echo -n "\033]0;${PWD}\a"'
Удостоверьтесь, что это - единственный псевдоним precmd в Вашем .cshrc
и .tcshrc
файлы при использовании этого. Этот метод отображает текущий каталог как заголовок окна для меня в обоих xterm терминал гнома независимо от того, открыто ли заседание экрана GNU.
Мой ответ был основан на этом.
Я понимаю, что Вы используете tcsh, таким образом, это, вероятно, не будет работать... На всякий случай любой ищет удар способ сделать это.
Если Ваши системы (локальный / удаленный) выполняют удар затем, можно использовать переменную среды "PROMPT_COMMAND" для установки заголовка окна. PROMPT_COMMAND является eval'd, прежде чем подсказка будет отображена.
(в Вашем .bashrc):
export PROMPT_COMMAND='history -a && echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007'
Объяснение:
'history -a'
Это устанавливает оболочку для добавления в файл истории каждый раз, когда команда завершается, скорее чем, когда целая оболочка завершается. (Это не связано с этим примером).
'echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"'
Это повторяет управляющий код "\033] 0"; который устанавливает заголовок окна с "пользователем" переменные "хоста" (удаляющий самое долгое соответствие от права до первого ".") и затем рабочий каталог (занимающий место '~' за '$HOME').
Вышеупомянутый прием будет работать с любым терминальным приложением, которое поддерживает динамическое изменение заголовка окна (какой iTerm, Terminal.app, urxvt, aterm, eTerm. xterm и т.д. все делают). Можно также изучить переменную оболочки "СТРОКА ЗАГОЛОВКА" в документации удара, это подобно.
Это должно работать в любой оболочке, но это - грязный взлом .screenrc. Это принимает Вашу hardstatus строку для работы, который может быть недопустим для некоторых пользователей. Но это работает в терминале гнома над последней Ubuntu, даже без termcapinfo строки ниже. Некоторые ситуации могут потребовать более глубоких тонких настроек (я не протестировал на PuTTY, например).
# enable xterm title setting; may not be necessary on some platforms
termcapinfo xterm*|rxvt* 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
# dirty hack: put xterm title escapes in the hardstatus
# this example will yield "user@host || screen Win#:(windowtitle)
defhstatus "$USER@^EH || screen ^E:(^Et)"
# now turn it off so it doesn't print in the hardstatus line
hardstatus off
# and finally, use caption as a replacement hardstatus
caption always '%{= kG}[%{G}%H%{G}][%= %{= kw}%?%-Lw%?%{R}(%{W}%n*%f%t%?(%u)%?%{R})%{w}%?%+Lw%?%?%= %{G}][%{B}%C%a %M.%d%{G}]'
Найденный в этой ссылке.