Настройка заголовков вкладок «Терминал»

11

Я пытаюсь открыть несколько вкладок терминала в gnome-terminal, и до сих пор мне удалось что- то сделать , но я застрял сейчас.

Итак, у меня есть следующее требование:

  • Открытые вкладки с названиями «X» и «Y»
  • Выполнить несколько команд
  • Держите вкладки открытыми и готовыми к дальнейшему использованию; сохранить название.

Пока мне удалось удовлетворить некоторые требования, но не все:

gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"

Это открывает две вкладки:

  1. «X» (а затем меняет заголовок на заголовок по умолчанию)
  2. «Y», но вкладка закрывается, как только я ухожу top.

Есть ли способ открыть вкладку, запустить bash, но не изменить название? Я пробовал Google, но сдался.

РЕДАКТИРОВАТЬ: Это не должно быть командой.

omninonsense
источник
Это должна быть команда? Потому что для этого хорошо работает графический интерфейс терминала gnome.
неф
@kikjezrous Ну, я знаю, как сделать это с помощью сочетаний клавиш или просто щелкнув правой кнопкой мыши, но я должен делать это всякий раз, когда приступаю к работе (и это 6 вкладок), так что это скорее вопрос удобства, чем реальной необходимости.
omninonsense
Ах, я отредактирую свой ответ.
Неф

Ответы:

4

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

Я сделаю следующее:

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

gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash" 

Шаг 2: добавьте в конце .bashrcследующий код:

#if MYTAB is not set, return
[ -z "$MYTAB" ] && return
# reset the cursor and title 
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1="\[\e]0;$MYTAB \w\a\]$PS1"   #title: $MYTAB and current dir
# execute the commands for every tab
case "$MYTAB" in
        X)
                echo this is X
        ;;

        Y)
                echo this is Y 
                top
        ;;
esac

... что я думаю, легко понять, и вы можете изменить с помощью команды / твики, которые вам нужны. Проверено и работает нормально; после выхода topиз вкладки у вас останется приглашение и вкладка для просмотра.

Снимок экрана (после нажатия "q" в top):

Скриншот

Rmano
источник
6

Чтобы сохранить заголовки вкладок, вы должны прокомментировать следующие строки в вашем .bashrc:

# If this is an xterm set the title to user@host:dir
#case "$TERM" in
#xterm*|rxvt*)
#    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
#    ;;
#*)
#    ;;
#esac

Тогда gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"будет работать как положено:

введите описание изображения здесь

Сильвен Пино
источник
Отметить это как правильный ответ, так как это самый простой. :-)
omninonsense
Я изменил принятый ответ (и отредактировал его немного), потому что он лучше соответствовал моим требованиям; это все же отличный ответ!
omninonsense
1
Нет проблем, это как это работает :)
Сильвен Пино
1

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

После запуска gnome-терминала меню «Файл» позволяет открывать новые вкладки, которым будет присвоен заданный заголовок. Это можно изменить либо с помощью меню «терминал», либо щелкнув правой кнопкой мыши на вкладке и выполнив это из контекстного меню.

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

Неф
источник
При использовании встроенного gnome-терминала нет возможности установить заголовок в контекстном меню для вкладок или любой параметр в меню «терминал». Какую версию терминала вы используете?
Уильямс
1

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

Перейти к:

Edit | Profiles | (Default) | Edit | Title and Command 

и измените параметр «Когда терминалы устанавливают свой собственный заголовок» на «Сохранить исходный заголовок» в нижней части списка. Теперь, когда вы запускаете команду с заголовком, она останется на месте, поэтому ваша команда будет работать правильно.

введите описание изображения здесь

Неф
источник
Обратите внимание, что вам придется делать это для каждого определенного профиля
Sylvain Pineau