Я хотел бы создать настройку на своей локальной машине (Ubuntu GNOME), в которой окно терминала имеет другой фоновый цвет в зависимости от того, вошел ли я на свой локальный компьютер или ssh'd на удаленную машину.
Есть ли способ сделать это?
Я хотел бы создать настройку на своей локальной машине (Ubuntu GNOME), в которой окно терминала имеет другой фоновый цвет в зависимости от того, вошел ли я на свой локальный компьютер или ssh'd на удаленную машину.
Есть ли способ сделать это?
Это не делает то, что вы просили, но, вероятно, делает то, что вы хотите.
Вы можете изменить свой .bashrc
(или эквивалентный файл инициализации оболочки), чтобы задать запрос на основе того, используете ли вы ssh или нет.
то есть. поместите что-то вроде:
if [ -n $SSH_TTY ]; then
export PS1=`echo -en '\033[42m\w\$ '`;
fi;
в конце вашего файла .bashrc
на удаленном компьютере. \033[42m
является ANSI Escape Code, который изменяет цвет фона на зеленый.
Таким образом, фоновый цвет вашего терминала будет зеленым (или пурпурным, или голубым или любым другим) только при входе на удаленную машину.
Возможно, вы захотите проверить параметры gnome-terminal:
gnome-terminal --help
дает
--window-with-profile=PROFILENAME
Оберните это в оболочку script:
#!/bin/bash
gnome-terminal --window-with-profile=PROFILENAME
то do
ssh-term
Если вы хотите изменить другое, загляните в aterm и другие термины. Также изучите Devilspie, который может делать более динамические изменения, основанные на таких вещах, как заголовок окна (удаление оконных украшений и т.д.).
Возможно, вам стоит взглянуть на GConf. В основном это для Gnome, что для Registry для 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 для многих языков программирования.
У меня есть некоторые скрипты, которые достигают этой цели для gnome-terminal. Вы можете найти их в https://github.com/xyrix/gnome-terminal-profile-switcher
script работает, создавая временный профиль для всех терминалов, а затем изменяя значения, установленные во временном профиле, копироваться из ваших обычных профилей.
Это позволяет вам изменить профиль текущего гном-терминала с помощью script.
В репозитории используется пример "safe_ssh" script, чтобы продемонстрировать использование.
export PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}: ${PWD}\007"'