每当我通过终端打开任何软件时,我都会收到以下错误,最终软件会打开
dconf-WARNING **: failed to commit changes to dconf: The connection is closed
(gedit:3609): dconf-WARNING **: failed to commit changes to dconf: The connection is closed
(gedit:3609): dconf-WARNING **: failed to commit changes to dconf: The connection is closed
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Error creating proxy: The connection is closed (g-io-error-quark, 18)
Error creating proxy: The connection is closed (g-io-error-quark, 18)
可能的问题是什么?
答案1
我遇到了同样的问题,就我而言,我是"sudo gedit"
从用户帐户运行的;因此,当它尝试保存 dconf 更改时,它意识到用户不是 root,因此引发了这些错误。我通过以“root”身份运行 gedit 解决了这个问题:
sudo -i
gedit &
将在哪里sudo -i
登录用户帐户。
答案2
这件事让我心烦意乱很久了。我最终使用 解决了这个问题gksudo -l <command>
,它在登录 shell 中运行命令 - 与 XAVI 的答案类似,但不需要在 后输入命令sudo
。
答案3
您可能需要检查以下文件夹是否属于root
:
~/.cache/dconf
~/.dbus
如果是,请尝试删除它们。根据我发现的其他来源,它们应该由您自己拥有,但如果您运行图形程序,sudo
它们可能是由 root 创建的。删除它们显然是安全的,因为它们会根据需要自动重新创建,但也许首先备份它们。
答案4
所以我也遇到了这个问题。我没有耐心去解决我在互联网上找到的各种乏味和/或无效的解决方案。以下对我有用:
$ emacs foo.py 2>/dev/null & # (assuming you have an Xserver running)
不,这并不优雅。但它有效。我还没有遇到任何善意emacs stderr 已经存在很多年了(如果有的话),那么这有多糟糕呢?您可以在 .bashrc 文件中添加“别名”。