Изменить тему терминала Gnome программно - PullRequest
19 голосов
/ 10 июня 2009

Я бы хотел создать настройку на моем локальном компьютере (Ubuntu GNOME), в которой окно терминала имеет другой цвет фона в зависимости от того, вошел ли я на локальный компьютер или ssh'd на удаленный компьютер.

Есть ли способ сделать это?

Ответы [ 5 ]

8 голосов
/ 10 июня 2009

Это не делает то, что вы просили, но, вероятно, делает то, что вы хотите.

Вы можете изменить .bashrc (или эквивалентный файл инициализации оболочки), чтобы настроить приглашение в зависимости от того, используете ли вы ssh или нет.

т.е. поставить что-то вроде:

if [ -n $SSH_TTY ]; then
     export PS1=`echo -en '\033[42m\w\$ '`;
fi;

в конце файла .bashrc на удаленной машине. \033[42m - это код ANSI Escape , который меняет цвет фона на зеленый.

Таким образом, цвет фона вашего терминала будет зеленым (или пурпурным, или голубым, или любым другим) только , когда вы вошли на удаленный компьютер.

3 голосов
/ 10 января 2014

У меня есть несколько скриптов, которые достигают этой цели для gnome-терминала. Вы можете найти их на https://github.com/xyrix/gnome-terminal-profile-switcher

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

Это позволяет вам изменить профиль текущего gnome-терминала из скрипта.

В репозиторий включен пример сценария safe_ssh, демонстрирующий использование.

3 голосов
/ 10 июня 2009

Возможно, вы захотите взглянуть на GConf . Это в основном для Gnome, что Реестр для Windows. Большинство приложений Gnome используют его для хранения своих настроек. Вы можете просмотреть его с помощью таких инструментов, как GConf-Editor или из командной строки, используя gconftool-2:

$ gconftool-2 --all-entries /apps/gnome-terminal/profiles/Default
background_color = #000000000000
palette = #2E2E34343636:#CCCC00000000 [ snipped ]
... many more lines

Здесь вы найдете все настройки, доступные через диалог настроек, а также некоторые другие. Ключи также можно изменить с помощью --set, подробнее см. "man gconftool-2".

Существуют также привязки библиотеки GConf для многих языков программирования.

3 голосов
/ 10 июня 2009

Возможно, вы захотите проверить опции для gnome-терминала:

gnome-terminal --help

дает

 --window-with-profile=PROFILENAME

Оберните это в сценарий оболочки:

#!/bin/bash
gnome-terminal --window-with-profile=PROFILENAME

тогда сделай

ssh-term

Если вы хотите изменить больше, посмотрите на aterm и другие термины. Также обратите внимание на Devilspie, который может вносить больше динамических изменений, основанных на таких вещах, как заголовок окна (удаление оформления окна и т. Д.).

http://burtonini.com/blog/computers/devilspie

0 голосов
/ 25 декабря 2009
export PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}: ${PWD}\007"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...