【问题标题】:Ubuntu meld: No GSettings schemas are installed on the systemUbuntu 融合:系统上未安装 GSettings 模式
【发布时间】:2016-09-27 08:58:59
【问题描述】:

这是一个普通的 Ubuntu 16.04 LTS,确切地说是基于 Xubuntu core。所以我需要自己安装包。一切顺利,除了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

但是,它们都不起作用。

  $ 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

【问题讨论】:

  • 可能相关,命令gsettings list-recursively 给了我错误No schemas installed。你也遇到同样的错误吗?
  • 您将 XDG_DATA_DIR 设置为什么值?
  • 从旧的日志文件中我看到我曾经拥有XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/,而现在我拥有XDG_DATA_DIRS=:/var/lib/snapd/desktop。我自己没有配置这个变量。
  • 谢谢!!这样可行!请“回答”,以便我“接受”。更多细节——经过更多调查,我意识到这很可能是一个 XUbuntu Core 特定 问题,因为我有另一个通过 net-install 安装的系统,并且有即使没有 XDG_DATA_DIRS 环境变量,meld 也没有问题。由于我在两个系统上安装的所有内容都相同,因此我自然得出的结论是这是 XUbuntu Core 特定的问题。
  • 是的,我的gsettings list-recursively 也返回No schemas installed。

标签: ubuntu settings gnome meld


【解决方案1】:

来自帖子 cmets:尝试设置:

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

这似乎是 Ubuntu 15.10 中的旧行为。仔细观察,现在似乎只有当会话(在 env var $STARTUP 中)与模式 gnome-session* 匹配时,“旧值”才设置在 /etc/X11/Xsession.d/55gnome-session_gnomerc 中。我有一个~/.xsession 风格的初创公司,所以这就是为什么它不适合我。我猜 Xubuntu 也可能将 $STARTUP 设置为与模式不匹配的东西。

这一切都可以通过来自/etc/X11/Xsession.d/40x11-common_xsessionrc 的~/.xessionrc 进行微调。因此,您只需将显示在此答案顶部的XDG_DATA_DIRS 设置放在~/.xsessionrc 中,无论会话类型如何,都将安装所需的值。在那里您还可以覆盖您想要的会话类型等。/etc/X11/Xsession.d/ 中的文件都按字母升序加载(来源)。

【讨论】:

  • 哦,我以旧的方式启动我的 X —— 启动到文本和 startx,进入 WM (fluxbox),而不是桌面。也许这就是原因。顺便说一句,我找到的最简单的解决方案是取消设置 XDG_DATA_DIRS,在配置文件中的某处。
  • 我没有尝试过,但我怀疑它可能仍会运行我提到的那些脚本。但是,是的,很好!
  • 实际上,不,startx 使用 ~/..Xclients 代替。这就是为什么我从不将我的个人资料自定义放在 ~/..Xclients 或 ~/.xessionrc/ 中。
【解决方案2】:

我通过设置解决了类似的问题 GSETTINGS_SCHEMA_DIR=/usr/share/glib-2.0/schemas

【讨论】:

  • 这也解决了运行使用 gtk-osx 项目从源代码构建的可执行文件时的问题。
猜你喜欢
  • 1970-01-01
  • 2016-06-17
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-02
相关资源
最近更新 更多