Вопрос Как изменить название Gnome-Terminal?


У меня есть несколько экземпляров терминалов, работающих в моей рабочей среде, я бы хотел установить конкретный заголовок для каждого из них, чтобы иметь четкое представление о том, какой целью служит конкретный терминал, например Apache, edit_ini, postgres и т. Д. ...

Конечно, из командной строки.


142
2018-01-20 13:20


происхождения


В дополнение к комментарию Уорда: Не забудьте «отменить PROMPT_COMMAND», до вы отправляете escape-последовательность смены названия, иначе любое изменение, которое вы сделаете, будет потеряно, как только появится следующее приглашение оболочки. - Jon Green
Для аналогичного вопроса для KDE см. stackoverflow.com/questions/8782159/... - naught101
У меня была эта проблема при переключении с OS X на Ubuntu. Чтобы получить пользовательские заголовки в настройках с несколькими вкладками, я использовал gnome-terminal --load-config вместе с этот скрипт Я написал. - halfer
добавьте следующее в свой .bashrc файл в своем домашнем каталоге # set title of current terminal setTerminalTitle(){ echo -ne "\033]0;${1}\007" } alias termttl=setTerminalTitle теперь вы можете использовать псевдоним termttl для настройки заголовка, например. termttl askubuntu - urmalp


ответы:


  • Самый удобный способ - выбрать из меню Terminal -> «Set Title ...».

  • Однако есть и другие способы, вы также можете

    gnome-terminal --title="SOME TITLE HERE"
    

    Это может не дать желаемого эффекта, поскольку есть большая вероятность, что ваш .bashrc перезаписывает это поведение.

  • Приведя нас к последнему методу, который я бесстыдно вырвал из своего .bashrc,

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

В качестве дополнительной справки это конкретная строка в моей .bashrc

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

Вам также может потребоваться прокомментировать этот код в вашем ~ / .bashrc

case "$TERM" in
xterm*|rxvt*)
    # JEFFYEE REMOVED because it makes commands to title() not work
    #PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

130
2018-01-20 13:51



Нужно прокомментировать или удалить, как вы упомянули, чтобы вступить в силу! - topless
@Ward: PROMPT_COMMAND это программа бежать. PS1 а также PS1 находятся текстовые строки которые отображаются. В приведенном выше примере выполняется команда echo, который затем просто выводит строку. Видеть man bash или manpages.ubuntu.com/bash Больше подробностей. - sladen
Терминал GNOME 3.16.2 говорит Option "--title" is no longer supported in this version of gnome-terminal. - Ivan Kozik
В Gnome 3.18.3 в меню нет записи «Установить заголовок»: / - shadi
Для всех, кого путают gobbledegook в приведенных выше строках, они являются escape-символами ANSI - см., Например, lihaoyi.com/post/... - WillC


Ответ Уорда велик, если вы хотите установить свой заголовок на основе того, на каком хосте вы находитесь и т. Д. Каждый раз, когда вы открываете терминал. Если вы просто хотите быстро установить заголовок, вы можете просто запустить эхо самостоятельно:

echo -ne "\033]0;SOME TITLE HERE\007"

или создать простой скрипт bash, скажем, termtitle

#!/bin/bash

echo -ne "\033]0;${1}\007"

которые вы можете запустить с помощью termtitle "some title here"


53
2018-05-29 02:20



Это ответ, который вы ищете - iondiode
или аналогичным образом мы можем добавить как псевдоним bash, добавив ниже строки в ~ / .bash_aliases function set_title() { echo -ne "\033]0;${1}\007" } alias title=set_title а затем использовать: $ title term_title - sumit
Увы, похоже, не работает для меня в терминале 3.6.2 GNOME. - austinmarton
Также не работает в xterm 322 или konsole 16.12 ... Я не знаю, есть ли новый метод, к сожалению :( - naught101
@ 3ocene это в действительности не имеет значения, они одно и то же, но это хорошая привычка входить, потому что, например, $var_log а также ${var}_log очень разные вещи, и разница может вызвать ошибки в скриптах. - naught101


Если вы используете редактор Vim, вы также можете включить этот параметр в своем vimrc:

:set title

который по умолчанию отключен. Он установит классные названия терминалов, в которых будет отображаться имя файла, которое вы редактируете в данный момент, и некоторые другие вещи.


30
2018-01-20 14:40





Ради полноты я бы добавил, что вы также можете установить gnome-terminal название с помощью этой команды:

wmctrl -r :ACTIVE: -N "MyWindowTitle"

Вам нужно будет установить пакет wmctrl Install wmctrl первый.


22
2018-01-23 00:57



MyWindowTitle не отображается в заголовке терминала. Он появляется, когда я делаю wmctrl -m. - sureshvv
Обратите внимание, что wmctrl изменяет заголовок окна, а не заголовок табуляции, тогда как решение экранированных символов изменяет заголовок табуляции. Кроме того, название окна изменяется на исходное название вкладки, как только вы переключаетесь между вкладками. - redochka


Арг, так много ответов ...

Я попробовал wmctrl, который почти работал, но я не мог заставить его изменить название значка, по крайней мере, навсегда.

Решение заключается в том, что PS1 в ubuntu устанавливает заголовок.

По умолчанию PS1

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

... который устанавливает заголовок в первой escape-последовательности.

Таким образом, существует два решения:

Решение 1: упростите PS1, затем используйте PROMPT_COMMAND

Измените PS1 на что-то более простое:

PS1="\u@\h:\w\$ "

... затем используйте PROMPT_COMMAND:

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

Решение 2: прямое изменение PS1

Просто измените PS1 с новым заголовком:

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

16
2018-02-07 03:36



привет, мне очень нравится ваш ответ. Не могли бы вы объяснить роль ]0; в вашем коде? Я думаю, что нашел смысл echo -e '\007 \033' с ascii -o команда ... хотя я правдиво не уверен, что это там делает ... спасибо ... - isomorphismes


Если вы пользователь Ubuntu, вы можете изменить заголовок вкладки gnome-terminal, используя HUD,

В то время как в гном-терминале нажмите Alt, чтобы открыть HUD, введите первые несколько букв, например. «tit», нажмите enter и введите новый заголовок.

Это очень быстрый метод и позволяет избежать использования мыши.


11
2018-06-18 06:55



В самом деле. Держит руки на клавиатуре. Отображается существующее название, поэтому быстро и просто также можно изменить существующий, используя этот метод. - Brent Faust
сиська только для английского Ubuntu. - törzsmókus
и вся опция была удалена :( - törzsmókus
F2 key также позволяет избежать мыши. - isomorphismes


Другой способ изменить название gnome-terminal является использование gconftool-2; это изменяет начальный заголовок терминала для профиль поэтому у вас могут быть разные профили, связанные с титрами, такими как «Apache», «Редактирование» и т. д. Затем вы запускали gnome-terminal с соответствующим профилем, чтобы получить название терминала, которое вы указали. Это контрастирует с gnome-terminal --title "name" который изменяет заголовок на терминал, но не влияет на начальный заголовок, указанный в профиле.

Вы можете использовать следующую команду в скрипте, чтобы установить имя терминала для профиля, и вы могли бы изменить название терминала в определенное время дня, чтобы напомнить вам о вещах:

gconftool-2 --set /apps/gnome-terminal/profiles/Default/title --type=string "Apache"

Это для профиля по умолчанию, но вы также можете установить заголовок для других профилей, изменив, например, Default к другому профилю, подобному Profile0:

gconftool-2 --set /apps/gnome-terminal/profiles/Profile0/title --type=string "Editing"

Я думал, что этот способ изменения названия полезен из-за того, как он может использоваться в сценариях, или просто как быстрый способ командной строки для настройки заголовка для профиля. Обратите внимание, что иногда вам нужно перезапустить терминал с указанным профилем для gconftool-2 чтобы повлиять. Полные настройки, доступные для gnome-terminal могут быть перечислены с gconftool-2 -R /apps/gnome-terminal,


4
2018-01-03 01:09