В Ubuntu 14.10, если бы у меня было открыто несколько вкладок терминала, я мог бы щелкнуть правой кнопкой мыши вкладку «Терминал» и переименовать ее. В Ubuntu 15.04 я не могу найти эту функцию.
Есть ли простой способ вернуть его?
Это текущая версия:
$ gnome-terminal --version
GNOME Terminal 3.14.2
gnome-shell
. Исчезло также меню для открытия нового терминала в новом окне или вкладке (но вы все равно можете сделать это с помощью ярлыка. Почему ?! Замените все на большую умную кнопку: щелчок и все!).bashrc
Решение предложил Кирби работал для меня:тогда из моей подсказки:
$ set-title test-title
источник
set-title "longer and "
:echo $PS1 \[\e]0; \u@\h: \w \a\]\u@\h:\w\[\033[m\]$(__git_ps1)$ \e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a\e]2;longer and \a
Control + Z
, затемset-title X
,fg
чтобы возобновить процесс.Я не могу поверить, что они удалили такую удобную функцию, как эта.
Я перехожу на ROXTerm ( http://roxterm.sourceforge.net ), который прекрасно справляется со своей задачей. Он упакован в Ubuntu:
Тогда пусть динозавр продолжит свой путь ;-)
источник
Я попробовал RoxTerm, как предложено выше, с хорошими результатами. Но я остановился на терминале MATE, который является частью проекта MATE, продолжением Gnome 2, 15.04:
Этот терминал основан на коде терминала Gnome.
Комментарий: Трудно понять мышление разработчиков Gnome Terminal. Там много дискуссий о том, «как» назвать вкладки терминала, и как трудно получить право. Если это так, зачем пользователю трудно назвать их? Не очень умный на всех.
источник
Теперь я исследовал это для большей части дня и наконец нашел способ установить это название. Это делается через escape-последовательности, которые начинаются с \ e] 0; и заканчивается символом BEL (= \ 007 = \ a). В отличие я уже говорилось выше, сообщения от задней оболочки к терминалу применения является возможно, очень ограничено, с помощью таких управляющих последовательностей (есть несколько больше).
Об этом сверху:
Это может работать, но это не всегда.
PROMPT_COMMAND
переменная, содержимое которой выполняется каждый раз, когда вы отправляете команду, поэтому она также отправляет эту escape-последовательность. Однако это может быть отменено escape-последовательностью в переменной PS1, которая задает приглашение командной строки. Вот почему вышесказанное не оказало здесь никакого влияния.Из более старой установки Ubuntu я взял это, которое устанавливает командную строку (правая часть, после
]
), а также отправляет требуемую escape-последовательность (левая часть, вплоть до и включая]
):Это, вероятно, работает лучше, потому что нет необходимости
$PROMPT_COMMAND
каждый раз интерпретировать . Он также имеет гораздо больше опций, потому что здесь Bash имеет больше escape-последовательностей, например,\u
для текущего имени пользователя,\W
для текущего имени каталога или\w
для всего пути текущего рабочего каталога, опционально обрезанного до последних нескольких по числу в$PROMPT_DIRTRIM
. Смотрите главуPROMPTING
на странице руководства Bash. Также обратите внимание, что escape-последовательность дополнительно должна быть окружена\[
и\]
здесь.Чтобы установить фиксированный заголовок, это работает:
Наслаждайтесь!
Во время моего исследования я также пытался понять исходный код терминала gnome, что приводит к исходному коду vte, и там поддержка установки заголовка и чтения escape-последовательностей считается угрозой безопасности: см. Здесь (случай 20, случай 21) и здесь («Отчет по заголовку окна»).
источник
PS1
для других целей, таких как установка настраиваемой командной строки. Я только что попытался добавить вашу escape-последовательность к существующемуPS1
содержимому, и это похоже на работу. Как это:PS1+="\[\e]0;YOUR TITLE GOES HERE\a\]\u@\h:\w\$ "
Установка $ PROMPT_COMMAND, как показано выше, имеет нулевой эффект. Не удивительно, потому что Bash работает внутри терминала, а родительские процессы (здесь: gnome-терминал) не могут читать дочернюю среду в Unix-подобной ОС. Используя что-то более простое, например
Выполняет эхо бла , больше ничего не происходит.
Изменить: нужно обернуть это в escape-последовательности, см. Мой другой ответ. Несмотря на то, что чтение дочернего окружения невозможно, некоторая связь с родителем осуществляется через эти последовательности.
В ошибке Gnome 740188 говорится об определении функции title () в .bashrc. Разные для каждой вкладки открыты? Тяжелый уродливый взлом впереди, если вообще возможно!
Даже другие объяснения в Stackexchange говорят о настройке $ PS1 (и голосуют против). Извините, нет, это не заголовок, это командная строка.
Короче говоря: они испортили его без возможности восстановления, чтобы сэкономить немного места в диалоге настроек. О, мой бог
Теперь единственный шанс отменить решение разработчика - это разжечь серьезную дерьмовую бурю, иначе они просто закроют ваш отчет об ошибках за считанные секунды (пробовали много-много-много раз). Как бы мы создали эту гадость?
источник