Подтвердить что ты не робот

Изменить название gnome-terminal, чтобы отразить текущий каталог?

Я хочу изменить заголовок окна gnome-terminal, чтобы отразить текущий каталог. Есть ли способ сделать это? A script может быть? Нити "change terminal title" не помогли. Вручную, когда мы используем команду:

gnome-terminal --title=$PWD 

он работает, но создается новый экземпляр терминала (как и ожидалось). Я хочу иметь возможность использовать

--title=$PWD 

с помощью команды cd.

Есть ли способ достичь этого?

4b9b3361

Ответ 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 (если файл открыт, имя терминала - его имя)