Я создал новый профиль для gnome-терминала, и я могу переключаться между «неявным» профилем и новым созданным профилем, как вы можете видеть на изображении ниже:
Теперь мне интересно, как я могу переключаться между профилями, используя командную строку / скрипт или, возможно, использовать ярлык для этого.
Примечание: решения, такие как:
gnome-terminal --tab-with-profile=Implicit && exit
исключены, потому что я предпочитаю не закрывать и открывать другой терминал или получить другое окно терминала в этом процессе изменения профиля.
command-line
shortcut-keys
gnome-terminal
Раду Рэдяну
источник
источник
Ответы:
Чтобы переключиться на «неявный» профиль:
Чтобы переключиться на второй профиль:
xdotool
по умолчанию не устанавливается в Ubuntu, поэтому сначала его нужно установить.Конечно, для этих команд могут быть добавлены пользовательские сочетания клавиш .
источник
man xdotool
Дополнительную информацию), которая работает именно так, как я хочу, и я рад этому ответу, пока не появится что-то лучшее. ;)Уже много хороших ответов, но я хотел добавить еще один вариант, используя xdotool, который не требует, чтобы строка меню была видимой ...
Сочетание клавиш Shift + F10 откроет всплывающее меню (эквивалент щелчка правой кнопкой мыши на терминале), и оттуда профиль можно изменить.
например,
xdotool key shift+F10 r 3
чтобы попасть в третий профильЯ также обнаружил, что этот метод не требует установки задержки для xdotool (что я нашел необходимым для метода строки меню), поэтому он немного быстрее.
Я склонен много менять профили, поэтому я превращаю это в функцию:
так что я могу просто позвонить,
chp N
чтобы перейти на N-й профиль.Еще несколько советов и особенностей моей установки:
Добавив
chp
команду в мой .bashrc, я могу заставить новые вкладки всегда переключаться на профиль по умолчаниюЯ цветовой код моих сессий SSH на основе хоста, но мне не нравится мой псевдоним SSH для открытия новых вкладок или окон И я хочу, чтобы профиль вернулся к настройкам по умолчанию при выходе из SSH. Мое решение:
alias somehost="chp 2; ssh user@somehost; chp 1"
Я даю флаг xdotool,
--clearmodifiers
чтобы, если мне случится держать клавишу-модификатор (при открытии вкладки / окна, выходе из ssh и т. Д.), Это не помешает работе xdotool.Я добавляю имена в моем профиле с номерами, чтобы, если я добавлю новый, он не сдвинул все остальные из-за алфавитного расположения меню профиля
источник
--clearmodifiers
должен прийти послеkey
.Там нет ярлыка, который позволяет вам изменить профиль в терминале (без навигации по меню, как вы сказали в комментариях), без использования графического интерфейса. Цитирование руководства ( стабильная , разработка 3.9 ):
(Вы можете предложить это как предложение в трекере ошибок )
источник
gnome-terminal
, нажмитеalt
и посмотрите, какая буква выделяется для вашей языковой версии «Терминала» (это 5-й пункт в моей польской версии, слева от «Справки»), затем используйте эту букву сalt
.Я хотел сделать то же самое и, наконец, получил работающий скрипт, я поместил его на свой GitHub .
Как я объясняю в README.md, на самом деле он не переключается, а загружает конфигурацию профилей в профиль по умолчанию. Для этого конфигурация каждого профиля сохраняется в файл при первом запуске скрипта. Скрипт создает впечатление, что вы переключаетесь между профилями, что для меня достаточно. Надеюсь, это кому-нибудь поможет ...
источник
В зависимости от вашей цели, этот скрипт может оказаться полезным: https://github.com/xyrix/gnome-terminal-profile-switcher
Он делает своего рода обезьянье патч и генерирует новый профиль для каждого терминала, затем устанавливает некоторые переменные окружения, чтобы показать программу для переключения темы профиля для вашего текущего терминала.
Надеемся, что пример сценария safe_ssh прояснит ситуацию :-). Я использую его чуть больше года, и это помогло мне не уничтожить живую базу данных компании ^ _ ^
источник
Если у вас есть список серверов, к которым вы часто обращаетесь, я считаю, что самым простым решением было бы просто вызвать второе окно только для сеанса этого ящика.
Сначала создайте отдельный профиль gnome-терминала для каждого удаленного местоположения, которое вы часто используете. Затем в каждом профиле укажите, что терминал должен выполнить команду входа SSH для этого поля вместо простой оболочки.
Наконец, напишите короткий скрипт для запуска нового удаленного окна с указанным идентификатором профиля.
Используя эту стратегию, вы можете «бесконечно» изменять внешний вид окна терминала каждого блока и запускать их с одного «контрольного» терминала. Например, если мы назовем этот скрипт «rlv», то мы можем создать удаленное окно, просто вызвав скрипт с именем профиля.
Если вы когда-нибудь нажмете имя хоста или не захотите настроить профиль для этого хоста, то вы просто получите другое окно профиля по умолчанию в локальном окне. Есть способ закодировать скрипт, чтобы избежать этого, поместив логин в сам скрипт, а не в gnome-терминал:
... но тогда вы теряете гибкость определения вашего имени пользователя для этого поля. Эту дополнительную особенность сценария я оставляю читателю в качестве упражнения.
источник
Я только что заметил, что мое первоначальное решение уже отклонено в вопросе. Хотя кажется, что нет простого способа изменить профиль, вы можете изменить цвет фона / переднего плана с помощью
setterm
команды.Таким образом, это
setterm -term linux -background black -foreground green
даст вам черный фон с зеленым текстом. Единственная проблема заключается в том, что ls имеет цветной вывод, так что вы можете отключить его. В противном случае он сбрасывается на предыдущую цветовую схемуОригинальный пост : есть своего рода обходной путь. От человека гном-терминал:
Вот пример с моей машины. У меня есть три профиля: B & G (черный на зеленом), ForPrinting (черный шрифт, белый фон) и Default. Так что я делаю в текущем типе окна
gnome-terminal --window-with-profile=ForPrinting
. Затем я могу либо убить старое окно из командной строки, либо переключиться и закрыть его графически.Профиль B & G не работает. Вероятно, потому что & не является допустимым символом, так что имейте это в виду при именовании профилей.
источник
Очень уродливое решение, которое я в конечном итоге использовал
(Это выбирает второй профиль, но вы можете изменить его, чтобы сказать htir профиль, изменив вторую команду «клавиша вниз» на
xdotool key --delay 50 --repeat 2 Down
.Что это делает:
Вам нужно установить xdotool
sudo apt install xdotool
.Видно, что сам терминал не разрешает настройку через терминал!
источник
Было бы здорово, если бы gnome-terminal предложил команду «следующий профиль» и ярлык; к сожалению, это не так.
Обходной путь для тех, у кого
Alt+T
отключено («Правка»> «Настройки»> «Включить мнемонику - не отмечен»):F10 left left down right
и выберите профиль. Уч.источник
Это довольно старая публикация, но поскольку она продолжала появляться, пока я искал решение той же проблемы, я подумал, что опубликую свое решение.
Это включает небольшой скрипт на python и переназначение кнопки CTRL + ALT + T для запуска скрипта вместо простого запуска терминала.
Создайте текстовый файл, я назвал мой Terminal.py и убедитесь, что он исполняемый. Поместите в него следующий код. Это откроет окна терминала, используя все доступные профили в последовательности, убедившись, что тот, который помечен как «по умолчанию», является первым в списке.
Используйте утилиту настройки клавиатуры, чтобы назначить новый ярлык этому сценарию. Для меня я переназначил CTRL + ALT + T, потому что это ярлык, который я использую для открытия окна терминала.
Обязательно создайте несколько профилей в своем терминале. Этот скрипт будет использовать все ваши профили. Таким образом, чем больше вы создаете, тем больше вариантов окон вы тоже можете получить доступ. У меня есть несколько идентичных, за исключением цвета фона. Это помогает мне распознать их, когда я через них нажимаю alt-tab.
источник