Ubuntu 15.04 fresh install: невозможно переименовать вкладки gnome-terminal

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

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

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

$ gnome-terminal --version
GNOME Terminal 3.14.2
39 голосов | спросил Tom 30 PMpThu, 30 Apr 2015 16:55:18 +030055Thursday 2015, 16:55:18

4 ответа


22

Отвечено здесь

Я цитирую:

  

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

PROMPT_COMMAND='echo -ne "\033]0;YOUR TITLE GOES HERE\007"'
     

1: см. gnome ошибка 724110 и gnome ошибка 740188 .

ответил A.B. 30 PMpThu, 30 Apr 2015 16:59:57 +030059Thursday 2015, 16:59:57
31

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

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

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

ответил ronan_mac 26 42015vEurope/Moscow11bEurope/MoscowThu, 26 Nov 2015 15:19:27 +0300 2015, 15:19:27
18

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

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

sudo apt-get install roxterm

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

ответил Michael Opdenacker 5 Mayam15 2015, 07:49:16
6

Теперь я исследовал это в течение большей части дня и, наконец, нашел способ установить этот заголовок. Это делается через 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;\[email protected]\h: \w\a\]\[email protected]\h:\w\$ "

Вероятно, это работает лучше, потому что нет необходимости интерпретировать код $PROMPT_COMMAND каждый раз. У него также есть много других опций, потому что у Bash есть больше escape-последовательностей, например. \u для текущего имени пользователя, \W для текущего имени каталога или \w для всего пути текущего рабочего каталога, необязательно обрезанного только последними по числу в ---- +: = 9 =: + ----. См. Главу $PROMPT_DIRTRIM на странице управления Bash. Также обратите внимание, что escape-последовательность дополнительно окружена PROMPTING и \[ здесь.

Чтобы установить фиксированный заголовок, это работает:

\]

Наслаждайтесь!


Во время моего исследования я также попытался понять исходный код gnome-terminal, который приводит к исходному коду vte, и там поддержка настройки заголовка и считывания управляющих последовательностей считается угрозой безопасности. См. здесь (случай 20, случай 21) и здесь (« Отчет заголовка окна »).

ответил Traumflug 1 Maypm15 2015, 21:43:37

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132