我尝试了该答案的以下规定:如何更改 Gedit 嵌入式终端插件颜色?
我成功地将它们与 ubuntu 14.04 和 gedit 3.10.1 一起使用,而无需清除调色板。
使用 16.04 和 gedit 3.18.3 时,它不起作用。
我尝试清除调色板。如果参数完全是黑色,则始终会出现错误消息。
[] 被接受,但颜色没有改变。
有什么帮助吗?
这里也有类似的事情,但没有答案:https://stackoverflow.com/questions/37795936/not-able-to-clear-palette-settings-for-gedit-terminal-plugin-in-dconf-editor-ub
答案1
从 gedit 终端插件的源代码 (/usr/lib/x86_64-linux-gnu/gedit/plugins/terminal.py) 来看,设置似乎是首先从 /org/gnome/terminal/legacy/profiles 读取的。在我的计算机 (Ubuntu 16.04) 上,有一些键组仅包含两个值“scrollback-unlimited”和“use-theme-transparency”。默认配置文件中缺少键“foreground-color”、“background-color”和“palette”。
如果您从 gnome-terminal 创建新的配置文件,终端插件会错误地假设所有必需的键都已存在。要强制完成键的创建,您需要在不同的调色板设置之间来回切换,我还必须创建两个配置文件并来回切换“编辑/首选项/配置文件/启动新终端时使用的配置文件”(这可确保设置了键 org.gnome.terminal.legacy.profiles/default)。
不过,我认为“org.gnome.gedit.plugins.terminal”下的设置应该优先于 gedit 中有关终端插件的系统设置。用户可能希望系统终端使用一种配色方案,而终端插件使用另一种配色方案。
所以最后我将 python 脚本函数 get_profile_settings 改回以前的 Ubuntu 版本中的状态(只是添加了注释#)并得到了所需的结果。
def get_profile_settings(self):
# profiles = self.settings_try_new("org.gnome.Terminal.ProfilesList")
# if profiles:
# default_path = "/org/gnome/terminal/legacy/profiles:/:" + profiles.get_string("default") + "/"
# settings = Gio.Settings.new_with_path("org.gnome.Terminal.Legacy.Profile",
# default_path)
# else:
settings = Gio.Settings.new("org.gnome.gedit.plugins.terminal")
return settings