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


11

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

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

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

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

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

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

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

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

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


Это должна быть команда? Потому что для этого хорошо работает графический интерфейс терминала 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):

Скриншот


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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.