гном-терминал не позволяет менять заголовок

Я выбрал параметр «Заменить начальный заголовок» в настройках терминала gnome, но он просто показывает заголовок по умолчанию «Терминал». Прочитав этот ответ , я добавил это в свои .bashrc:

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'

, а также прокомментировал эту строку:

#PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"

После перезапуска терминала начал показывать user@hostname: ~/currentdir в его заголовке, меняя его всякий раз, когда я cd переходил в другой каталог. Но это все равно не меняется, когда я запускаю программы CLI, такие как cmus и vim (например, vim устанавливает текущее имя файла в качестве заголовка).

Я установил rxvt и там все отлично работает.

Ubuntu 13.04, gnome-терминал 3.6.1.

Мой .bashrc - почти такой же, как поставляется со стандартной установкой Ubuntu.

Screenshot of terminal

7
задан 13 April 2017 в 15:23

3 ответа

1113 Во-первых, у вас есть что-то противоречивое в вашем вопросе. Вы сказали , что «он начал показывать user@hostname: ~/currentdir в своем названии, меняя его всякий раз, когда я cd перехожу на другой каталог» , но прикрепленное изображение говорило что-то еще. Я почти уверен, что если вы выбрали параметр «Заменить начальный заголовок» в настройках gnome-терминала и если вы используете этот файл ~ / .bashrc , как вы сказали, ваш терминал должен выглядеть следующим образом :

galymzhan@atom

Во-вторых, вы совершенно не правы: «vim, например, устанавливает текущее имя файла в качестве заголовка» . Чтобы сделать это, вы должны поместить файл с именем .vimrc в свой домашний каталог со следующим кодом внутри:

let &titlestring = $USER . "@" . hostname() . ": vim " . expand("%:t")
if &term == "screen"
  set t_ts=^[k
  set t_fs=^[\
endif
if &term == "screen" || &term == "xterm"
  set title
endif

И еще одна вещь: я пока не понимаю точно, для чего вы используете что if от 11-й строки до 40-й строки в вашем файле .bashrc, но настройка TERM="gnome-256color" в строке 33 может быть проблемой в этом случае. Поэтому я предлагаю вам прокомментировать эту строку или удалить весь код между строками 11 и 40.

После всего этого, когда вы будете использовать vim, ваш терминал должен выглядеть следующим образом:

galymzhan@atom: vim

0
ответ дан 13 April 2017 в 15:23

Вот что работы для меня:

  1. Установите xttitle пакет.
    sudo apt-get install xttitle
  2. Добавьте к ~/.bashrc:
    PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[1;31m\]($?)\[\033[00m\]\$ '

  3. Добавьте к .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()
    {  
      builtin cd "${@}"
      update_title
    }
    
0
ответ дан 13 April 2017 в 15:23

Только, чтобы быть бесспорными, когда Вы изменили профиль по умолчанию, Вы пытались сохранить ту конфигурацию? Закрыть терминал и затем вновь открыть его? Это перестало работать?

Нормальное, out-of-the-box установка действительно заменяет первоначальный заголовок, по моему опыту, таким образом, я немного удивлен проблемой.

Попробуйте этот метод:

  1. Откройте терминал
  2. на таможенной заставе наверху экрана нажимают на Edit> Profiles
  3. Выберите профиль По умолчанию
  4. Нажмите на кнопку 'Edit' с выделенным профилем По умолчанию
  5. Нажмите на вкладку 'Title and Command'
  6. Обеспечьте, чтобы кнопка 'Replace Initial Title' была видима
  7. Нажмите 'кнопку Close " на каждом экране для возвращения к терминалу
  8. Выйдите из терминала
  9. Перезапустите терминальный сеанс

Необходимо заменить заголовок автоматически уникальным именем пользователя и путем в корневом каталоге.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: