linux 以编程方式更改Gnome终端主题

wkyowqbh  于 2022-12-22  发布在  Linux
关注(0)|答案(6)|浏览(195)

我想在我的本地计算机(Ubuntu GNOME)上创建一个设置,根据我是登录到本地计算机还是ssh到远程计算机,终端窗口具有不同的背景颜色。
有什么办法吗?

vfwfrxfs

vfwfrxfs1#

这并不符合您的要求,但可能符合您的要求。
可以修改.bashrc(或等效的shell init文件),根据是否使用ssh来设置提示符。
例如:

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

在你的.bashrc文件的结尾在这远程机器.这\033[42m是一个ANSI Escape Code它改变这背景颜色到绿色.
这样,只有当您登录到远程计算机时,终端的背景颜色才会是绿色(或洋红色、青色或其他颜色)。

2g32fytz

2g32fytz2#

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

nnvyjq4y

nnvyjq4y3#

我有一些gnome-terminal的脚本可以实现这个目的。
该脚本的工作原理是为所有终端创建临时配置文件,然后更改临时配置文件中设置的值,以便从普通配置文件中复制。
这允许您从脚本更改当前gnome终端的配置文件。
存储库中包含一个示例“safe_ssh”脚本,用于演示用法。

jgovgodb

jgovgodb4#

您可能需要 checkout gnome-terminal的选项:

gnome-terminal --help

给予

--window-with-profile=PROFILENAME

将其 Package 在shell脚本中:

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

那就

ssh-term

如果你想改变更多,看看aterm和其他术语。也可以看看Devilspie,它可以做更多的动态变化的基础上,如窗口标题(删除窗口装饰等)。

hsvhsicv

hsvhsicv5#

在Ubuntu Gnome中,我使用.desktop文件来创建具有不同终端颜色的ssh登录。
终端颜色可以在gnome终端的配置文件部分设置。我为我使用的每种背景颜色创建了不同的配置文件。
我为服务器的每个ssh登录创建了一个.desktop文件快捷方式,并将它们放入~/.local/share/applications/中,以便它们显示在Gnome的应用程序概览中。
下面是一个.desktop文件的例子,它可以作为root用户ssh'ing到本地主机,这个配置文件叫做Red,并且使用gnome-terminal的配置文件设置来配置红色背景。

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_GB]=gksu-root-terminal
Name[en_GB]=LOCALHOST Root
Exec=gnome-terminal --window-with-profile Red --command "ssh -XC root@localhost"
Name=LOCALHOST Root
Icon=gksu-root-terminal

下面是一个向服务器发送多个ssh的示例,它打开了一个选项卡式终端:

#!/usr/bin/env xdg-open

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_GB]=gnome-terminal
Name[en_GB]=MYREMOTESERVER Root
Exec=gnome-terminal --command='ssh -XC root@MYREMOTESERVER'  --window-with-profile Blue --tab-with-profile Blue --tab-with-profile Blue --tab-with-profile Blue --tab-with-profile Blue  --hide-menubar 
Name=MYREMOTESERVER Root
Icon=gnome-terminal

服务器是MYREMOTESERVER,使用的配置文件名为Blue。
这个技术也适用于KDE桌面,桌面快捷方式最终会出现在lost and found文件夹中。

pw136qt2

pw136qt26#

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

相关问题