Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ubuntu meld: No GSettings schemas are installed on the system

This is a vanilla Ubuntu 16.04 LTS, based on Xubuntu core to be exactly. So I need to install packages myself. All went well except meld, on starting which, I'll get:

(meld:4188): GLib-GIO-ERROR **: No GSettings schemas are installed on the system

[2]+  Trace/breakpoint trap  

I've found three existing answers, none of them is working for my case.

  • https://askubuntu.com/questions/266788/gnome-terminal-issue

Following the suggestions, I've done reinstalling gsettings-desktop-schemas:

sudo apt-get install --reinstall gsettings-desktop-schemas
  • GLib-GIO-ERROR**: No GSettings schemas are installed on the system
    Following the suggestions,
    • I've done glib-compile-schemas /usr/share/glib-2.0/schemas/ and
    • I've made sure the correct gschema.xml is there
    • and I've also tried to sets up the $XDG_DATA_DIR environment for meld.

However, none of them is working.

  $ ls -l /usr/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml   
  -rw-r--r-- 1 root root 5354 2016-03-24 16:46 /usr/share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml

$ XDG_DATA_DIR=/usr/share/glib-2.0/schemas/ meld ...
(meld:4326): GLib-GIO-ERROR **: No GSettings schemas are installed on the system

[2]+  Trace/breakpoint trap
  • meld - GLib-GIO-ERROR**: No GSettings schemas are installed on the system

I've consult this one as well, however, that's Redhat 6.3 server environment, and the OP was installing each component to its own prefix; thus he ran into errors like this. In other words, his case doesn't apply to my vanilla Ubuntu.

I've run out of options. Please help.

Thanks

$ gsettings list-recursively
No schemas installed

$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04 LTS
Release:        16.04
Codename:       xenial

$ uname -rm
4.4.0-21-generic x86_64

$ apt-cache policy meld gsettings-desktop-schemas
meld:
  Installed: 3.14.2-1
  Candidate: 3.14.2-1
  Version table:
 *** 3.14.2-1 500
        500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status
gsettings-desktop-schemas:
  Installed: 3.18.1-1ubuntu1
  Candidate: 3.18.1-1ubuntu1
  Version table:
 *** 3.18.1-1ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
like image 430
xpt Avatar asked May 29 '16 13:05

xpt


People also ask

What is GSettings?

GSettings are a nice way to manage your application's settings. Those settings are stored in binary form for fast retrieval, and can be manipulated outside of your application as well using specific tools. This system can be seen as a database, whose schema is described in an XML file (conventionally named . gschema.


2 Answers

From post comments: Try setting:

export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/

This seems to be the old behaviour in Ubuntu 15.10. On closer inspection, it seems the "old value" is nowadays set in /etc/X11/Xsession.d/55gnome-session_gnomerc only if the session (in env var $STARTUP) matches the pattern gnome-session*. I have a ~/.xsession style startup so that's why it does not match for me. I guess Xubuntu might likewise have $STARTUP set to something not matching the pattern.

This all is possible to fine-tune through ~/.xessionrc which is sourced from /etc/X11/Xsession.d/40x11-common_xsessionrc. So you can just put the XDG_DATA_DIRS setting shown at the top of this answer in ~/.xsessionrc and the wanted value will get installed regardless of the session type. There you can also override what type of session you want etc. The files in /etc/X11/Xsession.d/ are all loaded (sourced) in alphabetically ascending order.

like image 75
Jonas Berlin Avatar answered Oct 24 '22 21:10

Jonas Berlin


I fixed similar problem by setting GSETTINGS_SCHEMA_DIR=/usr/share/glib-2.0/schemas

like image 25
kostashv Avatar answered Oct 24 '22 19:10

kostashv