Изменить название gnome-terminal, чтобы отразить текущий каталог?
Я хочу изменить заголовок окна gnome-terminal, чтобы отразить текущий каталог.
Есть ли способ сделать это? A script может быть?
Нити "change terminal title" не помогли.
Вручную, когда мы используем команду:
gnome-terminal --title=$PWD
он работает, но создается новый экземпляр терминала (как и ожидалось).
Я хочу иметь возможность использовать
--title=$PWD
с помощью команды cd.
Есть ли способ достичь этого?
Ответы
Ответ 1
поскольку gnome-terminal использует те же команды управления, что и xterm, эта страница может быть полезна.
Xterm Title для bash и других оболочек
TL; DR:
добавьте следующее к вашему .bashrc
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
Ответ 2
PROMPT_COMMAND='echo -ne "\033]0;$(basename ${PWD})\007"'
отобразит только текущий каталог как заголовок
Ответ 3
Я делаю это так, чтобы переопределить команду cd
и установить pwd
в заголовок:
function title { echo -en "\033]2;$1\007"; }
function cd { dir=$1; if [ -z "$dir" ]; then dir=~; fi; builtin cd "$dir" && title `pwd`; }
cd `pwd`
Я просто бросил это в мой ~/.bash_aliases
. Возможно, вы могли бы настроить это, чтобы делать то, что хотите.
Ответ 4
Я не эксперт, но вы должны попробовать отредактировать свой файл ~/.bashrc. Если я правильно понял вашу проблему, вы можете изменить свой .bashrc в соответствии с моим (я использую Ubuntu 12.04). "Старая" строка закомментирована, а новая находится под ней (с дополнительным комментарием).
case "$TERM" in
xterm*|rxvt*)
# OLD PS1 directive
#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\[email protected]\h: \w\a\]$PS1"
# NEW PS1 directive, shows only current directory name as terminal window name
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\W\a\]$PS1"
;;
*)
;;
esac
В результате мой заголовок терминала равен моему текущему типу директории, например.
после cd Documents/projects
мой заголовок терминала projects
(если файл открыт, имя терминала - его имя)