Installed schemas failed verification: Schema "org.gtk.Settings.Debug" is missing
after updating to gnome-terminal 3.40 in Kali Linux, I noticed that the terminal looked different. Actually, all the configuration applied by Kali (GSettings overrides) was lost. Everything used to be OK with gnome-terminal 3.38 though, so I suspect a change in gnome-terminal between 3.38 and 3.40.
I did setup two Kali Linux VM to investigate. One VM with gnome-terminal 3.40 "as is", and another VM with gnome-terminal 3.40 "custom", where I reverted 3 commits that are related to GSettings:
- Specify the schema source when constructing any GSettings
- Add settings schema verifier
- Fix crash when loading the reference schema source fails
I can confirm that the issue is solved by reverting those 3 commits. Those the issue lies in there.
Back to our system that exhibits the issue. Looking at the systemd journal now, we can clearly spot the issue:
Sep 01 14:15:55 kali gnome-terminal-server: Installed schemas failed verification: Schema "org.gtk.Settings.Debug" is missing Sep 01 14:15:55 kali gnome-terminal-server: Falling back to built-in reference schemas.
This schema is missing. Where is it supposed to come from? It just happens that I have it installed on another machine (Debian unstable), so it's easy to check:
$ grep -rn 'org.gtk.Settings.Debug' /usr/share/glib-2.0/schemas/ 2>/dev/null /usr/share/glib-2.0/schemas/org.gtk.Settings.Debug.gschema.xml:4: <schema id='org.gtk.Settings.Debug' path='/org/gtk/settings/debug/'> $ dpkg -S schemas/org.gtk.Settings.Debug.gschema.xml libgtk-3-dev:amd64: /usr/share/glib-2.0/schemas/org.gtk.Settings.Debug.gschema.xml
OK, so on Debian and Debian-like OS,
org.gtk.Settings.Debug.gschema.xml is shipped by a development package. So it's usually not installed, unless for developers who install the GTK development files.
@chpe Is it possible for gnome-terminal to consider this particular schema as optional, and handle it gracefully when it's missing? Or do you see another solution?
Detailed bug report on Kali's side, for reference: https://gitlab.com/kalilinux/packages/gnome-terminal/-/issues/1