Командная строка для переключения между профилями в gnome-terminal

18

Я создал новый профиль для gnome-terminal, и я могу переключаться между «Неявным» профилем и новым созданным профилем, как вы можете видеть на изображении ниже:

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

Note: Solutions like:

gnome-terminal --tab-with-profile=Implicit && exit 

are excluded because I prefer not to close and open another terminal or get another terminal window in this process of changing the profile.

    
задан Radu Rădeanu 27.07.2013 в 10:53
источник

8 ответов

6

Чтобы перейти к «неявному» профилю:

xdotool key Alt+t p Return

Чтобы переключиться на второй профиль:

xdotool key Alt+t p Down Return

xdotool неустановленпоумолчаниювUbuntu,поэтомуондолженбытьустановленпервым.

Конечно,дляэтихкомандможетбыть добавлены пользовательские сочетания клавиш .

    
ответ дан Radu Rădeanu 14.11.2013 в 18:33
источник
3

Нет ярлыка, позволяющего изменять профиль в терминале (без навигации по меню, как вы сказали в комментариях), без использования графического интерфейса. Цитирование руководства ( стабильный , развитие 3.9 ):

You can change the profile in your current Terminal tab or window by selecting a profile from Terminal ▸ Change Profile.

(Вы можете предложить это как предложение в отслеживание ошибок )

    
ответ дан Braiam 03.08.2013 в 21:51
3

Я хотел сделать то же самое и, наконец, получил скрипт, я положил его на GitHub .

Как я объясняю в README.md, он фактически не переключается, но загружает конфигурацию профилей в профиль по умолчанию. Для этого конфигурация каждого профиля сохраняется в файле при первом запуске скрипта. Сценарий показывает, что вы переключаетесь между профилями, что достаточно для меня. Надеюсь, это поможет любому ...

    
ответ дан SigiSang 22.11.2015 в 11:40
2

В зависимости от вашей цели вы можете найти этот скрипт полезным: Ссылка

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

Надеюсь, пример safe_ssh-скрипта прояснит :-). Я использую его уже более года, и это помогло мне не уничтожить живую базу данных компании ^ _ ^

    
ответ дан xyrix 10.01.2014 в 19:23
1

Если у вас есть список серверов, к которым вы часто обращаетесь, я считаю, что самым простым решением было бы просто вызвать второе окно для сеанса этого окна.

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

ssh [email protected]

Наконец, напишите короткий скрипт, чтобы запустить новое удаленное окно с идентификатором профиля.

#!/bin/bash
if [[ $# -ne 1 ]] ; then
  echo "Give me a server/profile name!"
  exit 1
fi
gnome-terminal --window-with-profile=$1
exit 0

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

>> rlv athena

Если вы когда-либо толковали имя хоста или не учитывали настройку профиля для этого хоста, тогда вы просто получите другое окно профиля по умолчанию в локальном поле. Существует способ кодирования сценария, чтобы избежать этого, поместив логин в сам скрипт, а не в gnome-terminal:

#!/bin/bash
if [[ $# -ne 1 ]] ; then
  echo "Give me a server/profile name!"
  exit 1
fi
gnome-terminal --window-with-profile=$1 -e "ssh $1"
exit 0

... но тогда вы теряете гибкость в определении своего логина для этого поля. Эта дополнительная особенность скрипта я оставляю в качестве упражнения для читателя.

    
ответ дан zerobandwidth 20.05.2014 в 19:32
1

Я только что заметил, что мое исходное решение уже отклонено в вопросе. Хотя нет простого способа изменить профиль, вы можете изменить цвет фона / переднего плана с помощью команды setterm .

Итак, этот setterm -term linux -background black -foreground green даст вам черный фон с зеленым текстом. Единственная проблема заключается в том, что ls имеет цветной вывод, поэтому вы можете захотеть отменить расцветку. В противном случае он сбрасывается до предыдущей цветовой схемы

Оригинальное сообщение : есть своего рода способ. От человека гном-терминал:

--window-with-profile=PROFILENAME

             Open a new window containing a  tab  with  the
             given profile.  More than one of these options
             can be provided.

Вот пример с моей машины. У меня три профиля: B & amp; G (черный на зеленом), ForPrinting (черный шрифт, белый фон) и по умолчанию. Так что я делаю в текущем окне типа gnome-terminal --window-with-profile=ForPrinting . Затем я могу либо убить старое окно из командной строки или переключателя и закрыть его графически.

Профиль B & amp; G не работает. Вероятно, потому что & amp; не является допустимым символом, поэтому имейте это в виду при именовании профилей.

    
ответ дан Sergiy Kolodyazhnyy 28.09.2014 в 07:57
0

Самое уродливое решение, которое я использовал, -

unset x y
eval $(xwininfo -id $(xdotool getactivewindow) |
       sed -n -e 's/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=/p' \
              -e 's/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=/p')
xdotool mousemove $(($x + 50)) $(($y + 50))
xdotool click 3; xdotool key --repeat 3 Up; xdotool key Right; xdotool key --delay 50 Down; xdotool key --delay 50 Return

(Это выбирает второй профиль, но вы можете изменить это, чтобы сказать профиль htir, изменив вторую команду «Down Down» на xdotool key --delay 50 --repeat 2 Down .

Что это делает:

  1. найдите верхние левые координаты текущего окна (например, используемый гном-терминал).
  2. переместите указатель мыши на этот терминал
  3. щелкните правой кнопкой мыши и перейдите в контекстное меню, чтобы выбрать второй профиль.

Вам понадобится xdotool, установленный sudo apt install xdotool .

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

    
ответ дан SColvin 22.03.2017 в 14:45
0

Было бы здорово, если бы гном-терминал предложил команду «следующий профиль» и ярлык; к сожалению, это не так.

Обходной путь для тех, у кого Alt+T отключено (Edit > Preferences > Enable mnemonics - unchecked): F10 left left down right и выберите профиль. Уч.

    
ответ дан Mario 24.01.2018 в 20:12