Firefox hangs because sort-directories-first setting missing
Solution 1:
The file /usr/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
exists and contains the desired key sort-directories-first
.
We know from the answer by WinEunuuchs2Unix that the system will look for the file in a location depending on the value of XDG_DATA_DIRS
environment variable.
So what happen when the system looks for org.gtk.Settings.FileChooser.gschema.xml
in a different location ?
The error-message doesn't tell us that the system can't find the file, the message tells us that the system can't find the key in the file. That makes me sure that you have a second file named org.gtk.Settings.FileChooser.gschema.xml
somewhere in your system and this file doesn't contain the desired key.
As a workaround I would suggest that you search for files with the name org.gtk.Settings.FileChooser.gschema.xml
, I am sure you will find more than only one. Check the content of that file in the different location if it contains the desired key, it will not.
Copy over from
/usr/share/glib-2.0/schema/org.gtk.Settings.FileChooser.gschema.xml
You may check the value of XDG_DATA_DIRS
with echo $XDG_DATA_DIRS
in terminal, that may give you a clue where to search for files.
I couldn't find out how to set the value for XDG_DATA_DIRS
, the value will be set during start-up by a bash-script, but information I found seemed to be outdated.
Your issue might be related with this bug, Google leads me to this link while searching the net about your issue.
Solution 2:
Just a little background:
glib-compile-schemas compiles all the GSettings XML schema files in DIRECTORY
into a binary file with the name gschemas.compiled
that can be used by GSettings. The XML schema files must have the filename extension .gschema.xml
. For a detailed description of the XML file format, see the GSettings documentation.
At runtime, GSettings looks for schemas in the glib-2.0/schemas
subdirectories of all directories specified in the XDG_DATA_DIRS
environment variable. The usual location to install schema files is /usr/share/glib-2.0/schemas
.
In addition to schema files, glib-compile-schemas reads 'vendor override' files, which are key files that can override default values for keys in the schemas. The group names in the key files are the schema id, and the values are written in serialized GVariant form. Vendor override files must have the filename extension .gschema.override
.
By convention, vendor override files begin with nn_
where nn
is a number from 00 to 99. Higher numbered files have higher priority (eg: if the same override is made in a file numbered 10 and then again in a file numbered 20, the override from 20 will take precedence).
If I'm reading your setup correctly you have your .xml
files in:
/usr/share/glib/schemas
and not in:
/usr/share/glib-2.0/schemas
where they are expected to be.
If I read it wrong please let me know and I'll delete this answer. I don't use FireFox so could not test the answer like I usually to do.