сейчас я использую однострочный perl-код для изменения заголовков моих терминалов,
print("\e]0;@ARGV\7");
но каждый раз после того, как я перехожу на другой удаленный компьютер, заголовок будет изменяться хостом (что меня особо не беспокоит). Но после выхода из соединения измененный заголовок остается. Есть ли способ это исправить? по сути, я хочу фиксированный заголовок для моих терминалов при работе локально.
В первую очередь я использую терминал и терминатор xfce под CentOS или Debian. Благодарю.
РЕДАКТИРОВАТЬ
Другая тонкость заключается в том, что вместо того, чтобы все терминалы имели одно и то же имя, я бы предпочел иметь свободу редактировать их заголовки на лету, но только запретил бы сеансу SSH изменять то, что я редактировал.
Решение: добавьте некоторые функции ~ / .bashrc, чтобы сделать что-то после команд ssh и su
Примечание: перезапустите bash после редактирования в ~ / .bashrc
Пример:
Надеюсь, это поможет.
источник
revert
поскольку вы не проверяете, что было раньше ... если вы запросили и сохранили предыдущее значение tho ;-)Сконфигурируйте ваш локальный файл точек оболочки (например,
$PROMPT_COMMAND
in~/.bashrc
), чтобы правильно установить заголовок терминала, используя тот же механизм.Например:
источник
export PROMPT_COMMAND="printf '\e]0;\7\n'"
), то ваш эмулятор терминала может установить заголовок окна так, как считает нужным. Когда вы подключаетесь к удаленному хосту, который устанавливает заголовок терминала, ваш эмулятор терминала будет показывать этот заголовок, а когда вы выйдете из системы, он вернется к использованию своего собственного заголовка. По крайней мере, так работает приложение MacOS Terminal.ДОБАВЬТЕ эти строки в ~ / .bashrc
хорошо работает с Linux на основе Debian
источник
PROMPT_COMMAND
вместо использованияPS1
, так как вам не нужно включать\[ \]
скобки, и это может исключить некоторые цитаты.Одним из решений является изменение терминальной переменной на vt100 перед ssh'ом, например, запустить
Это работает, потому что обычно скрипты инициализации смотрят на терминальную переменную и меняют только ее заголовок, если это xterm. Вы теряете альтернативные экраны, цвета и, возможно, некоторые другие необычные функции, которые вы можете или не можете оценить.
Если вы хотите сохранить локальный терминал как xterm, используйте псевдоним ssh для изменения терминальной переменной на лету, например
источник
Я исправил эту проблему, добавив ее в PS1 в моем файле .bashrc.
Поэтому вся строка выглядит так (я настроил свой PS !:
Я надеюсь, что это помогает другим.
источник
export PS1='\[\033]0;\007\]\h:\W \u\$ '
), то ваш эмулятор терминала может установить заголовок окна так, как считает нужным. Когда вы подключаетесь к удаленному хосту, который устанавливает заголовок терминала, ваш эмулятор терминала покажет это, а когда вы выйдете из системы, он вернется к использованию своего собственного заголовка. По крайней мере, так работает приложение MacOS Terminal.Другие ответы не будут работать для меня, когда я выйду из SSH, но приблизили меня. Добавление setw Automatic-Rename работает, когда я выхожу из удаленного сеанса SSH, поэтому оно автоматически переименовывается и больше не нужно выходить из окна для сброса. [Январь 2018 - Debian 9]
источник