当我使用 sudo 启动 meld 时,无法更改 meld 中的设置

当我使用 sudo 启动 meld 时,无法更改 meld 中的设置

当我使用sudo、或启动 meld 时su,我有以下输出:gksugksudo

(meld:1666): GLib-GIO-CRITICAL **: g_dbus_proxy_new_sync: assertion 'G_IS_DBUS_CONNECTION (connection)' failed

(meld:1666): GLib-GIO-CRITICAL **: g_dbus_proxy_get_name_owner: assertion 'G_IS_DBUS_PROXY (proxy)' failed

(meld:1666): dconf-WARNING **: failed to commit changes to dconf: Error spawning command line 'dbus-launch --autolaunch=745b249ad9024475816761582a9ee2ca --binary-syntax --close-stderr': Child process exited with code 1

而且我无法更改设置。
相比之下,我将 geany 与 sudo 一起使用,没有任何问题、错误或警告,并且我能够更改 geany 的设置。

我用:

  • 融合3.16.4
  • dconf 0.26.0
  • glib2 2.50.3

答案1

安装 dbus-x11 对我有用。

apt install dbus-x11

我现在可以更改首选项,并在启动时看到 cli 中没有错误。

答案2

根据这个主题:dbus 无法通过 kdesu/sudo 访问,但重新编译 dbus 会有所帮助,我必须重新编译dbus
这就是我在 Archlinux 系统上所做的

# installs arch build system
sudo pacman -S abs

# download the abs dbus (do it with the root user)
abs core/dbus

# copy the files in my HOME
cp -r /var/abs/core/dbus/ ~/abs

# compile dbus
cd ~/abs/dbus
makepkg -s

# install the compiled package
sudo pacman -U dbus-1.10.16-2-x86_64.pkg.tar.xz

这解决了问题!

相关内容