GTK+ file dialog causes segfaults / GLib-GIO-ERROR Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column'

Since 20.03 upgrade, unfortunately, many programs using the GTK+ file dialog crash when trying to open/save a file, with the error-message:

GLib-GIO-ERROR **: 01:23:45.678: Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column'
Trace/breakpoint trap (core dumped)

This affects e.g.: Evince, Atril, Firefox, Chromium, LibreOffice, …
(Gimp, Inkscape, Viewnior seem to be unaffected.)

Is there any way to solve this? (Or would I have to downgrade to 19.09 again?)

And is this a bug in every affected program, or one generic Nix(OS)-bug?

1 Like

Solution:
This seems to be caused by incompatible GTK+-schema settings, and seems to always occur, if a program uses a GTK+-library with is newer then the currently active GTK+settings, e.g. if

  • a package from unstable is used, with settings from “stable”;

    this can be worked around with:

    mkdir -p ~/.local/share/glib-2.0/schemas
    cp -pi /nix/store/...-gtk+3-3.<LATEST>/share/gsettings-schemas/gtk+3-3.*/glib-2.0/schemas/gschemas.compiled ~/.local/share/glib-2.0/schema/
    
  • settings are installed locally in ~/.local/share/glib-2.0/schemas (e.g. from the workaround above), but newer packages are used, e.g. after a NixOS-upgrade or newer packages from unstable.

    this may be solved by:

    rm -rf ~/.local/share/glib-2.0/schemas
    

    If this does not solve the issue, the newest settings have to be copied to this directory (see workaround above)

Questions:

  • Is there a way to fix this automatically?
  • Or maybe to detect this, and maybe other known problems by e.g. a new program ‘nix-check’?
  • Is there a place where such “solutions-to-common-problems” could be collected? Would the wiki be the right place?

relevant error-messages:

  • GLib-GIO-ERROR**: ... No GSettings schemas are installed on the system
  • GLib-GIO-ERROR **: ... Settings schema 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column
  • other, similar ones
2 Likes

I believe we noticed this a few months ago, are you using Pantheon per chance or gsettings overrides in gnome3?

No, I’m using fvwm as window-manager. No Pantheon,no GNOME3.

I found this thread after getting the error “Settings schema ‘org.gtk.Settings.FileChooser’ is not installed” and your solution worked for me. Thanks.

1 Like

There’s a typo in your workaround: The second command is missing the final “s” in “schemas”. It should be:

mkdir -p ~/.local/share/glib-2.0/schemas
cp -pi /nix/store/...-gtk+3-3.<LATEST>/share/gsettings-schemas/gtk+3-3.*/glib-2.0/schemas/gschemas.compiled ~/.local/share/glib-2.0/schemas/

Anyway, thank you for posting this. The workaround worked for me and is still relevant 4 years later.

1 Like

Note that this might cause breakage (even crashes) when you update to a system with newer GTK and forget to run the command again.

Proper solution is adding wrapGApps* hook to the crashing application or even gtk3: hardcode gsettings schemas by jtojnar · Pull Request #271037 · NixOS/nixpkgs · GitHub