让 Gedit 嵌入式终端颜色与全局主题匹配吗?(16.04)

让 Gedit 嵌入式终端颜色与全局主题匹配吗?(16.04)

我的 16.04 会话中嵌入的 Gedit 终端不遵循默认的 ubuntu 主题,并且似乎无法以任何方式进行配置。

更准确地说,它遵循 ubuntu 主题的用户名@主机名颜色(某种明亮的绿色),但背景是纯白色(应该是“茄子色”),文本是黑色(应该是白色)。

这个问题已经解决对于早期版本的 ubuntu,但在 16.04 中情况似乎发生了变化:

  • 没有 Gedit 条目gconf-editor
  • 直接编辑颜色dconf-editor没有任何效果
  • 禁止清除插件的调色板,只能输入一个空的[]

因此,这不是重复:之前的解决方案都不起作用,而且似乎 16.04 中存在与此问题相关的特定问题。我的印象是设置处理方式存在问题,可能是终端插件脚本(位于)gconf中存在错误,但这超出了我的能力范围,因此欢迎任何帮助。terminal.py/usr/lib/x86_64-linux-gnu/gedit/plugins

答案1

这个答案用户 muru,我找到了一个对我有用的解决方法。首先,找到terminal.py位于 中的python 脚本/usr/lib/x86_64-linux-gnu/gedit/plugins/。或者您可以在 Ubuntu 终端中输入命令locate terminal.py。在此 python 脚本中,您可以找到以下代码块:

def get_profile_settings(self):
    profiles = self.settings_try_new("org.gnome.Terminal.ProfilesList")

    if not 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

现在将其更改为:

def get_profile_settings(self):
    profiles = self.settings_try_new("org.gnome.Terminal.ProfilesList")

#    if not 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

现在通过 输入的设置应该可以正常工作了。请注意,如果软件包更新,dconf-editor您可能需要在将来再次更改它。gedit-plugins

相关内容