Я пробую следующий предписания этого ответа: Как измениться, Gedit встроил терминальные сменные цвета?
Я использовал их успешно с человечностью 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
От исходного кода gedit терминального плагина (/usr/lib/x86_64-linux-gnu/gedit/plugins/terminal.py) кажется, что настройки читаются из/org/gnome/terminal/legacy/profiles сначала. На моей машине (Ubuntu 16.04) там некоторая ключевая группа, содержащая только два "scrollback-неограниченные" значения и "прозрачность темы использования". Ключи "основной цвет", "цвет фона" и "палитра" отсутствовали в профиле по умолчанию.
Терминальный плагин предполагает неправильно, что все необходимые ключи присутствуют при создании нового профиля из терминала гнома. Для осуществления полного ключевого создания, необходимо переключиться назад и вперед между различными настройками палитры, и я также должен был создать два профиля и переключатель "Редактирование/Предпочтения/Профили/Профиль, используемое при запуске нового Терминала" назад и вперед также (это гарантирует, что ключ 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