A partir do código-fonte do plugin do terminal gedit (/usr/lib/x86_64-linux-gnu/gedit/plugins/terminal.py), parece que as configurações são lidas de / org / gnome / terminal / legacy / profiles primeiro . Na minha máquina (Ubuntu 16.04) existe algum grupo de chaves contendo apenas os dois valores "scrollback-unlimited" e "use-theme-transparency". As chaves "foreground-color", "background-color" e "palette" estavam faltando no perfil padrão.
O plugin terminal assume incorretamente que todas as chaves necessárias estão presentes se você criar um novo perfil a partir do gnome-terminal. Para impor a criação completa da chave, você precisa alternar entre diferentes configurações de paleta e também tive que criar dois perfis e alternar "Editar / Preferências / Perfis / Perfil usado ao iniciar um novo Terminal" também (isso garante que a chave org.gnome.terminal.legacy.profiles / default está definida).
No entanto, acho que as configurações em "org.gnome.gedit.plugins.terminal" devem ter precedência sobre as configurações do sistema referentes ao plug-in terminal no gedit. O usuário pode querer um esquema de cores para o terminal do sistema e outro diferente para o plugin do terminal.
Então, finalmente, mudei a função de script python get_profile_settings de volta para como era nas versões anteriores do Ubuntu (apenas adicionei o comentário #) e obtive o resultado desejado.
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