Свежая установка Ubuntu 15.04: невозможно переименовать вкладки терминала gnome

В Ubuntu 14.10, если бы у меня было открыто несколько вкладок терминала, я мог бы щелкнуть правой кнопкой мыши вкладку «Терминал» и переименовать ее. В Ubuntu 15.04 я не могу найти эту функцию.

Есть ли простой способ вернуть его?

Это текущая версия:

$ gnome-terminal --version
GNOME Terminal 3.14.2
38
задан 30 April 2015 в 16:55

6 ответов

Отвеченный здесь

я заключаю в кавычки:

Эти user title код был удален <глоток> 1 от gnome-terminal 3.14. Существует только один способ установить заголовок, с помощью escape-последовательности - например, с bash:

PROMPT_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'
<час>

<глоток> 1: посмотрите гнома ошибка 724110 и гнома ошибка 740188 .

0
ответ дан 30 April 2015 в 16:55

Не могу поверить, что они удалили такую ​​удобную для пользователя функцию, как эта.

Я перехожу на ROXTerm ( http://roxterm.sourceforge.net ), который прекрасно справляется со своей задачей. Он упакован в Ubuntu:

sudo apt-get install roxterm

Затем, пусть динозавр продолжит свой путь; -)

0
ответ дан 30 April 2015 в 16:55

Теперь я исследовал это к лучшему часть дня и наконец нашел способ установить этот заголовок. Это сделано через 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) и здесь ("Создание отчетов Заголовка окна").

6
ответ дан 30 April 2015 в 16:55

Установка $PROMPT_COMMAND как показано выше имеет нулевой эффект здесь. Не удивительно, потому что Bash работает в терминальных и родительских процессах (здесь: терминал гнома), не может считать среду ребенка на подобной Unix ОС. Используя что-то более простое, как

PROMPT_COMMAND='echo bla'

Выполняется bla эха, ничего иного не происходит.

Редактирование: нужно обернуть это в escape-последовательности, видеть мой другой ответ. Несмотря на чтение дочерней среды не возможно, некоторая коммуникация назад к родителю через эти последовательности.

В ошибке Gnome 740188 они говорят об определении заголовка () функция в .bashrc. Различный для каждой открытой вкладки? Серьезное ужасное взламывание вперед, если это возможно, вообще!

Даже другие объяснения на Stackexchange говорят об установке $PS1 (и получите upvoted). Извините, не это не заголовок, это - командная строка.

Короче говоря: они испортили его вне восстановления для сохранения крошечного бита пространства в предпочтительном диалоговом окне. OMG

Теперь, единственный шанс получить решение разработчика вернулся, должен разжечь серьезный shitstorm, еще они просто закрываются, Ваш отчет об ошибках в секундах (попробовал многих многие много раз). Как мы создали бы этот shitstorm?

0
ответ дан 30 April 2015 в 16:55

Я попробовал RoxTerm, как предложено выше с хорошими результатами. Но я обосновался на Терминале ПОМОЩНИКА, который является частью Проекта ПОМОЩНИКА, продолжением Gnome 2, на 15,04:

sudo apt-get install mate-terminal

, Что терминал основан на коде Терминала Gnome.

<час>

Комментарий: трудно понять мышление Терминала Gnome devs. Существует большая дискуссия там о том, "как" назвать терминальные вкладки, и как трудно разобраться. Если это так, почему мешают пользователю называть их? Не очень умный вообще.

0
ответ дан 1 May 2015 в 02:55
  • 1
    Поскольку @FlorianHeigl предлагает, этот doesn' t работа. – einpoklum 1 July 2018 в 11:28

.bashrc решение , предложенное Kirby, работало на меня:

set-title(){
  ORIG=$PS1
  TITLE="\e]2;$@\a"
  PS1=${ORIG}${TITLE}
}

тогда от моей подсказки: $ set-title test-title

0
ответ дан 1 May 2015 в 02:55
  • 1
    @abu_bua I' m, не говоря it' s лучший из всех ответов. Весь I' m высказывание: 1. It' s ответ, не вопрос. 2. Я didn' t знают [приблизительно 110]. 3. Поскольку я изучил что-то сегодня, I' m upvoting. 0:-) – Fabby 29 August 2018 в 09:09

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

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