Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I get this error in the gnome-tweak-tool konsole dialog

CRITICAL: Error parsing schema org.gnome.shell (/usr/share/glib-2.0/schemas/org.gnome.shell.gschema.xml)

And then a series of other errors which state 'unknown extension error'.

All of the extensions show, but none of them can be switched on. Any ideas?

share|improve this question
    
konsole??? are you using kde? –  Bruno Pereira Oct 29 '11 at 20:49
add comment

1 Answer

Using konsole has nothing to do with this.

Changed the files as mentioned in the article below:

  • /usr/lib/python2.7/dist-packages/gtweak/gshellwrapper.py
  • /usr/lib/python2.7/dist-packages/gtweak/gsettings.py

Now have full access to all shell extensions. A few don't work (alt+tab one for example) but they are all accessible, and there is no longer an error from gnome-tweak-tool.

Steps

Replace lines 48-61 of /usr/lib/python2.7/dist-packages/gtweak/gshellwrapper.py:

class GnomeShell:

EXTENSION_STATE = {
    "ENABLED"       :   1,
    "DISABLED"      :   2,
    "ERROR"         :   3,
    "OUT_OF_DATE"   :   4
}

EXTENSION_TYPE = {
    "SYSTEM"        :   1,
    "PER_USER"      :   2
}

with these:

class GnomeShell:

EXTENSION_STATE = {
    "ENABLED"       :   1,
    "DISABLED"      :   2,
    "ERROR"         :   3,
    "OUT_OF_DATE"   :   4,
    "DISABLED"      :   6
}

EXTENSION_TYPE = {
    "SYSTEM"        :   1,
    "PER_USER"      :   2
}

This should get all extensions working.

Lastly, to clear up the remaining errors, replace lines 44-52 of /usr/lib/python2.7/dist-packages/gtweak/gsettings.py:

                        #summary is compulsory, description is optional
                    summary = key.getElementsByTagName("summary")[0].childNodes[0].data
                    try:
                        description = key.getElementsByTagName("description")[0].childNodes[0].data
                    except:
                        description = ""
                    self._schema[key.getAttribute("name")] = {
                            "summary"       :   summary,
                            "description"   :   description
                    }

with these:

                        #summary is compulsory, description is optional
                    try:
                        summary = key.getElementsByTagName("summary")[0].childNodes[0].data
                        description = key.getElementsByTagName("description")[0].childNodes[0].data
                    except:
                        description = ""
                        summary = "No Summary"
                    self._schema[key.getAttribute("name")] = {
                            "summary"       :   summary,
                            "description"   :   description
                    }

(Ubuntu Forums source)

share|improve this answer
    
For some reason this is not working for me. I have changed both files exactly as stated with proper indentation yet I still receive the unknown extension error. Any ideas? –  Ben Siver Jan 18 '12 at 20:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.