web-dev-qa-db-fra.com

Impossible d'utiliser les extensions GNOME Shell en raison de "l'erreur d'analyse du schéma"

Je reçois cette erreur dans la boîte de dialogue gnome-Tweak-tool konsole

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

Et puis une série d'autres erreurs qui indiquent "erreur d'extension inconnue".

Toutes les extensions sont affichées, mais aucune d’elles ne peut être activée. Des idées?

2
James LeBlanc

L'utilisation de konsole n'a rien à voir avec cela.

Modification des fichiers mentionnés dans l'article ci-dessous:

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

Maintenant, avoir un accès complet à toutes les extensions Shell. Quelques-uns ne fonctionnent pas (alt + tab one par exemple) mais ils sont tous accessibles et il n'y a plus d'erreur de gnome-Tweak-tool.

Pas

Remplacez les lignes 48 à 61 de /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
}

avec ces:

class GnomeShell:

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

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

Cela devrait faire fonctionner toutes les extensions.

Enfin, pour effacer les erreurs restantes, remplacez les lignes 44 à 52 de /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
                    }

avec ces:

                        #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
                    }

( source des forums Ubunt )

1
James LeBlanc