Ubuntu meld: в системе не установлены схемы GSettings

Это стандартная Ubuntu 16.04 LTS, основанная на ядре Xubuntu быть точным. Поэтому мне нужно установить пакеты самостоятельно. Все прошло хорошо, кроме meld, при запуске которого я получаю:

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

[2]+  Trace/breakpoint trap  

Я нашел три существующих ответа, ни один из них не работает для моего случая.

Следуя предложениям, я переустановил 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
    • Я убедился, что там правильный gschema.xml
    • и я также пытался настроить среду $XDG_DATA_DIR для объединения.

Однако ни один из них не работает.

  $ 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

Однако я также проконсультировался с этим, это серверная среда Redhat 6.3, и OP устанавливал каждый компонент на свой собственный префикс; поэтому он столкнулся с такими ошибками. Другими словами, его дело не относится к моей ванильной Ubuntu.

У меня закончились варианты. Пожалуйста помоги.

Спасибо

$ 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

person xpt    schedule 29.05.2016    source источник
comment
Возможно, это связано с тем, что команда gsettings list-recursively выдает ошибку No schemas installed. Вы получаете ту же ошибку?   -  person Jonas Berlin    schedule 30.05.2016
comment
Какое значение вы установили для XDG_DATA_DIR?   -  person Jonas Berlin    schedule 30.05.2016
comment
Из старых лог-файлов я вижу, что раньше у меня был XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/, а сейчас XDG_DATA_DIRS=:/var/lib/snapd/desktop. Я не настраиваю эту переменную сам.   -  person Jonas Berlin    schedule 30.05.2016
comment
СПАСИБО!! Это работает! Пожалуйста, ответьте, чтобы я мог принять. Более подробная информация -- после более подробного изучения я понял, что это, скорее всего, проблема XUbuntu Core конкретная, потому что у меня есть другая система, которую я установил через net-install, и есть нет проблем с объединением, даже без переменной окружения XDG_DATA_DIRS. Поскольку я устанавливаю все одинаково в обеих системах, я прихожу к естественному выводу, что это проблема, связанная с ядром XUbuntu.   -  person xpt    schedule 31.05.2016
comment
Для меня старые настройки работают, XUbuntu 16.04 LTS, нынешние настройки XDG_DATA_DIRS=:/var/lib/snapd/desktop не работают, к вашему сведению.   -  person xpt    schedule 31.05.2016
comment
Да, мой gsettings list-recursively тоже возвращает No schemas installed.   -  person xpt    schedule 01.06.2016
comment
@JonasBerlin, у меня точно такая же проблема, как у тебя, даже мой XDG_DATA_DIRS тоже :/var/lib/snapd/desktop. Пожалуйста, ответьте, чтобы я мог принять. Я подожду 2 дня, прежде чем сам напишу ответ. Кстати, самое простое решение, которое я нашел, это unset XDG_DATA_DIRS.   -  person xpt    schedule 01.06.2016
comment
Да вроде тоже работает. snapd, который является новым черным в XDG_DATA_DIRS, похоже, связан с Snappy Ubuntu Core (ubuntu.com/cloud/ быстро)   -  person Jonas Berlin    schedule 02.06.2016
comment
Все это кажется просто еще одним случаем, когда сумасшедшие люди, которые не используют значения по умолчанию, в любом случае стреляют себе в ногу :)   -  person Jonas Berlin    schedule 02.06.2016


Ответы (2)


Из комментариев к сообщению: Попробуйте установить:

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

Кажется, это старое поведение в Ubuntu 15.10. При ближайшем рассмотрении кажется, что «старое значение» в настоящее время устанавливается в /etc/X11/Xsession.d/55gnome-session_gnomerc только в том случае, если сеанс (в env var $STARTUP) соответствует шаблону gnome-session*. У меня стартап в стиле ~/.xsession, поэтому он мне не подходит. Я предполагаю, что Xubuntu также может установить $STARTUP на что-то, не соответствующее шаблону.

Все это можно настроить с помощью ~/.xessionrc, полученного от /etc/X11/Xsession.d/40x11-common_xsessionrc. Таким образом, вы можете просто поместить параметр XDG_DATA_DIRS, показанный в верхней части этого ответа, в ~/.xsessionrc, и желаемое значение будет установлено независимо от типа сеанса. Там вы также можете переопределить тип сеанса, который вы хотите, и т. д. Все файлы в /etc/X11/Xsession.d/ загружаются (источники) в алфавитном порядке возрастания.

person Jonas Berlin    schedule 01.06.2016
comment
О, я запускаю свой X по старинке - загружаюсь в текст и startx в WM (fluxbox), а не на рабочий стол. Может быть, поэтому. Кстати, опять же, самое простое решение, которое я нашел, это отключить XDG_DATA_DIRS где-то в профиле. - person xpt; 02.06.2016
comment
Я не пробовал, но подозреваю, что он все еще может запускать те сценарии, о которых я упоминал. Но да, хорошо! - person Jonas Berlin; 03.06.2016
comment
На самом деле нет, вместо startx используется ~/..Xclients. Вот почему я никогда не настраиваю свой профиль ни в ~/..Xclients, ни в ~/.xessionrc/. - person xpt; 04.06.2016

Я исправил аналогичную проблему, установив GSETTINGS_SCHEMA_DIR=/usr/share/glib-2.0/schemas

person kostashv    schedule 30.03.2021
comment
Это также решает проблему при запуске исполняемого файла, созданного из исходного кода с использованием проекта gtk-osx. - person Memophysic; 12.06.2021