Как дать каждой вкладке терминала свой заголовок?
Я вижу, что есть способы установить заголовок вкладок через CLI, но как я могу дать каждой вкладке свой собственный "заголовок"?
- Топ
- сосна
- мерзавец
по умолчанию gnome-терминал показывает <user>@<host>:<path>
, который становится громоздким за две вкладки, ИМХО.
(Создание множества профилей - очень неудобное решение)
Примечательно, что Alpine волшебным образом (через CLI?) Устанавливает заголовок вкладки:
3 ответа
Взято с SuperUser.com,
Этот процесс немного сложен для объяснения, поскольку он отличается для каждой используемой вами оболочки. Скорее я дам вам две ссылки:
- Как изменить заголовок xterm (подробные инструкции для множества различных оболочек)
- Показать текущую команду в заголовке окна Bash. Хорошая пошаговая процедура о том, как автор сделал этот приятный эффект. Делает для хорошей учебной практики. (Но специфичный для bash)
Есть несколько других вещей, которые необходимо принять во внимание. Для одноразового изменения, общего для всех терминальных сеансов, вы можете вместо этого просто изменить значок Bash (если вы используете bash и в gnome) и добавить --title=title
под гномом.
Вы можете установить и использовать xttitle
(Обратите внимание, в два раза t
во имя). Я использую это так в файле, полученном моим ~/.bashrc
:
# from the "xttitle(1)" man page - put info in window title
update_title()
{
[ $TERM = xterm -o $TERM = xterm-color ] && xttitle "[$$] ${USER}@${HOSTNAME}:$PWD"
}
cd()
{
[ -z "$*" ] && builtin cd $HOME
[ -n "$*" ] && builtin cd "$*"
update_title
}
Я также делаю это:
xttitle Mutt && mutt
Заголовок может быть установлен с помощью escape-последовательностей, как показано в разделе Как изменить заголовок xterm. (Специально для bash).
В их примере они используют оператор case, который устанавливает PS1
с закрытой escape-последовательностью.
case $TERM in
xterm*)
PS1="\[\033]0;\u@\h: \w\007\]bash\\$ "
;;
*)
PS1="bash\\$ "
;;
esac
Основная идея заключается в том, чтобы повторить echo -e "\033]0; STRING\007"
(Приглашение PS1 нуждается в дополнительном \[...\]
скобки для включения escape-последовательности). Таким образом, вы можете добавить следующую функцию к вашему .bashrc
в верхней части файла:
function setTitle
{
echo -e "\033]0;$@\007"
}
Теперь вы можете изменить название по желанию