В Ubuntu 14.10, если бы у меня было открыто несколько вкладок терминала, я мог бы щелкнуть правой кнопкой мыши вкладку «Терминал» и переименовать ее. В Ubuntu 15.04 я не могу найти эту функцию.
Есть ли простой способ вернуть его?
Это текущая версия:
$ gnome-terminal --version
GNOME Terminal 3.14.2
Отвеченный здесь
я заключаю в кавычки:
Эти
user title
код был удален <глоток> 1 глоток> отgnome-terminal 3.14
. Существует только один способ установить заголовок, с помощью escape-последовательности - например, сbash
:<час>PROMPT_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'
<глоток> 1: посмотрите гнома ошибка 724110 и гнома ошибка 740188 . глоток>
Не могу поверить, что они удалили такую удобную для пользователя функцию, как эта.
Я перехожу на ROXTerm ( http://roxterm.sourceforge.net ), который прекрасно справляется со своей задачей. Он упакован в Ubuntu:
sudo apt-get install roxterm
Затем, пусть динозавр продолжит свой путь; -)
Теперь я исследовал это к лучшему часть дня и наконец нашел способ установить этот заголовок. Это сделано через escape-последовательности, которые запускаются с \e] 0; и конец с символом BEL (= \007 = \a). В отличие от этого, я вышеизложенный, связь от оболочки назад к терминальному приложению возможна, очень ограничена через такие escape-последовательности (еще существуют некоторые).
Об этом сверху:
PROMPT_COMMAND='echo -ne "\e]0;YOUR TITLE GOES HERE\a"'
Это может работать, но это делает не всегда. PROMPT_COMMAND
переменная, которая содержание выполняется каждый раз, когда Вы отправляете команду, таким образом, она также отправляет эту escape-последовательность. Однако это может быть переопределено escape-последовательностью в переменной PS1, которая устанавливает приглашение командной строки. Поэтому вышеупомянутое не имело никакого эффекта здесь.
От более старой установки Ubuntu я захватил это, которое устанавливает командную строку (правильная часть, после ]
) и также отправляет необходимую escape-последовательность (оставленный часть, до и включая ]
):
PS1="\[\e]0;\u@\h: \w\a\]\u@\h:\w\$ "
Это, вероятно, работает лучше, потому что нет никакой потребности интерпретировать $PROMPT_COMMAND
каждый раз. Это также имеет намного больше опций, потому что Bash имеет больше escape-последовательностей здесь, например. \u
для текущего имени пользователя, \W
для имени текущего каталога или \w
для всего пути текущего рабочего каталога, дополнительно обрезанного только к нескольким последним числом в $PROMPT_DIRTRIM
. См. главу PROMPTING
в странице справочника Bash. Также обратите внимание, которым должна дополнительно быть окружена escape-последовательность \[
и \]
здесь.
Для установки фиксированного заголовка это работает:
PS1="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Приятного отдыха!
Во время моего расследования я также пытался понять терминальный гномом исходный код, который приводит к vte исходному коду и туда поддержке заголовка, устанавливающие и читающие escape-последовательности считаются угрозой безопасности: Посмотрите здесь (случай 20, случай 21) и здесь ("Создание отчетов Заголовка окна").
Установка $PROMPT_COMMAND как показано выше имеет нулевой эффект здесь. Не удивительно, потому что Bash работает в терминальных и родительских процессах (здесь: терминал гнома), не может считать среду ребенка на подобной Unix ОС. Используя что-то более простое, как
PROMPT_COMMAND='echo bla'
Выполняется bla эха, ничего иного не происходит.
Редактирование: нужно обернуть это в escape-последовательности, видеть мой другой ответ. Несмотря на чтение дочерней среды не возможно, некоторая коммуникация назад к родителю через эти последовательности.
В ошибке Gnome 740188 они говорят об определении заголовка () функция в .bashrc. Различный для каждой открытой вкладки? Серьезное ужасное взламывание вперед, если это возможно, вообще!
Даже другие объяснения на Stackexchange говорят об установке $PS1 (и получите upvoted). Извините, не это не заголовок, это - командная строка.
Короче говоря: они испортили его вне восстановления для сохранения крошечного бита пространства в предпочтительном диалоговом окне. OMG
Теперь, единственный шанс получить решение разработчика вернулся, должен разжечь серьезный shitstorm, еще они просто закрываются, Ваш отчет об ошибках в секундах (попробовал многих многие много раз). Как мы создали бы этот shitstorm?
Я попробовал RoxTerm, как предложено выше с хорошими результатами. Но я обосновался на Терминале ПОМОЩНИКА, который является частью Проекта ПОМОЩНИКА, продолжением Gnome 2, на 15,04:
sudo apt-get install mate-terminal
, Что терминал основан на коде Терминала Gnome.
<час>Комментарий: трудно понять мышление Терминала Gnome devs. Существует большая дискуссия там о том, "как" назвать терминальные вкладки, и как трудно разобраться. Если это так, почему мешают пользователю называть их? Не очень умный вообще.
.bashrc
решение , предложенное Kirby, работало на меня:
set-title(){
ORIG=$PS1
TITLE="\e]2;$@\a"
PS1=${ORIG}${TITLE}
}
тогда от моей подсказки: $ set-title test-title