以编程方式更改Gnometerminal主题

我想在本地机器(Ubuntu GNOME)上创build一个安装程序,terminal窗口具有不同的背景颜色,具体取决于我是login到本地计算机还是sshlogin到远程计算机。

有没有办法做到这一点?

这不符合你的要求,但它可能做你想要的。

你可以修改你的.bashrc (或等效的shell初始化文件),根据你是否使用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 

把它包装在shell脚本中:

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

然后做

 ssh-term 

如果你想改变更多,看看期限和其他条款。 还可以看看Devilspie,它可以根据窗口标题(删除窗口装饰等)进行更多的动态更改。

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

你可能想看看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库绑定。

我有一些为gnome-terminal实现这个目的的脚本。 你可以在https://github.com/xyrix/gnome-terminal-profile-switcher找到它们

该脚本的工作原理是为所有终端创建一个临时配置文件,然后更改临时配置文件中设置的值以便从常规配置文件中复制。

这使您可以从脚本更改当前gnome终端的配置文件。

存储库中包含一个示例“safe_ssh”脚本来演示使用情况。

 export PROMPT_COMMAND='echo -ne "\033]0;${HOSTNAME}: ${PWD}\007"'