Как переименовать заголовок вкладки терминала в gnome-терминал?

70

Используется, чтобы иметь возможность щелкнуть правой кнопкой мыши на вкладке и изменить заголовок. Не уверен, как это сделать больше. Только что обновился до Fedora 21.

РЕДАКТИРОВАТЬ: я перешел с gnome-терминала на ROXterm

Пеннер
источник

Ответы:

108

Создать функцию в ~/.bashrc:

function set-title() {
  if [[ -z "$ORIG" ]]; then
    ORIG=$PS1
  fi
  TITLE="\[\e]2;$*\a\]"
  PS1=${ORIG}${TITLE}
}

Затем используйте вашу новую команду, чтобы установить заголовок терминала. Работает с пробелами в названии тоже

set-title my new tab title

Впоследствии возможно set-titleповторное использование (исходная PS1 сохраняется как ORIG).

Уэстон Гангер
источник
32

user titleКод был удален 1 из gnome-terminal 3.14. Чтобы установить заголовок, вы можете использовать escape-последовательность:

printf "\e]2;YOUR TITLE GOES HERE\a"

или, например, с bash:

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

1: см. Ошибка гнома 724110 и ошибка гнома 740188 .

don_crissti
источник
9
Спасибо за ссылку на обсуждения. Я думаю, что ответом на это было НЕТ. Смешная цитата по одной из ссылок: «современные пользователи не используют терминалы». ЛОЛ.
Пеннер
Это не работает для меня: Fedora 21, Bash 3.14.3.
kdbanman
Это работает на fc22 также ..
Баладжи Перумал
3
Очевидно, он возвращается ... "Да, извините, опция --title восстановлена ​​в GNOME 3.20 (выпуск в марте 2016 года), который мы выпустили полгода назад, но Ubuntu 16.04 поставляется с GNOME 3.18 (выпуск в сентябре 2015 года), который удалил эту опцию. " Комментарий Майкла Катандзаро от 2016-09-01 18:41:45 UTC №31 (из второго сообщения об ошибке, 740188)
мудрец
1
@sage - функция отсутствует, комментарий Майкла о том --titleварианте, который я могу подтвердить, был действительно восстановлен. Тем не менее, вопрос здесь касается опции щелчка правой кнопкой мыши, чтобы переименовать открытую в настоящее время вкладку - другая проблема ...
don_crissti
18

Новые версии gnome-терминала просто отбросили самые полезные профессиональные функции. :-(

Я попытался настроить и запустить более старую версию gnome-терминала, а также сравнил альтернативы.

Если terminatorэто слишком экзотично для вас, mate-terminalэто отличный вариант! Это вилка gnome-терминала и просто сохраняет все хорошие функции:

  • Вы можете открыть несколько вкладок из командной строки, давая им разные названия

    mate-terminal --tab -t "aaa" --tab -t "bbb" --tab -t "ccc"
    
  • Вы можете настроить комбинацию клавиш (я использую Ctrl + Shift- я ) , чтобы установить на я TLE

geekQ
источник
Guake тоже неплохой вариант
Bunyk
1

Когда вы запускаете резидентную программу, такую ​​как top или ssh, вкладка имеет правильную метку.

gnome-terminal --tab -e top -t "aaa" --tab -e top -t "bbb" 
fastrizwaan
источник
1

Если вы используете Ubuntu 16.04, вам может потребоваться:

PS1=$
PROMPT_COMMAND=
echo -en "\033]0;New title\a"

Я перечисляю это больше информации об этом по ссылке .

Зак Пфеффер
источник
0

поместите это в .bashrc:

function title() { 
  p1='echo -ne "\033]0;' 
  p2='\007"'
  PROMPT_COMMAND=$p1$@$p2 
  p1= 
  p2=
}
отметка
источник
0

В качестве дополнения к ответу @Weston Ganger, если вы хотите автоматически установить заголовок при открытии нового терминала Gnome, то добавьте это в конец вашего ~/.bashrc:

if [ ! -z "$SET_TITLE" ]; then
    set-title $SET_TITLE;
    export SET_TITLE=;
fi

Затем запустите терминал, как:

gnome-terminal --tab -e 'bash -c "export SET_TITLE=\"my title\"; bash -i"'

и он автоматически запустится, set-titleчтобы применить заголовок.

Cerin
источник
0

решение в одну строку, добавьте следующую строку в ваш .bashrc

alias tab_name='read -p "Name to Assign:" tabname ;  printf "\e]2;$tabname\a" '

теперь наберите tab_name в терминале т.е.

user:~$ tab_name  
Name to Assign: ( type desired name here! )

Готово

Суфйан
источник