GConf错误:没有运行D-BUS守护程序?如何重新安装或修复?


27

安装Konquerer并重新启动我的笔记本电脑后,尝试从终端机中以root用户身份打开,编辑或访问文件时遇到以下错误(对我而言这是必需的)。

root @ linuxBox:/ home / v2r# gnome-open /home/

(gnome-open:2686):GConf-WARNING **:客户端无法连接到D-BUS守护程序:// bin / dbus-launch异常终止,出现以下错误:未指定协议自动启动错误:X11初始化失败。

GConf错误:没有运行D-BUS守护程序

root @ linuxBox:/ home / v2r#未指定协议无法解析参数:无法打开显示:

似乎dbus的安装不再正确/bin//usr/bin/ 请参见截图: 在此处输入图片说明

我将如何解决此问题并提前感谢您!


谢谢您的回答SirCharlo!它根本不能解决问题。请注意,它只会在蜂群生根时发生!

root @ linuxBox:/ home / v2r# gnome-open /home/

(gnome-open:5170):GConf-警告**:客户端无法连接到D-BUS守护程序:无法连接到套接字/ tmp / dbus-2RdCUjrZ9k:连接被拒绝GConf错误:没有D-BUS守护程序正在运行

root @ linuxBox:/ home / v2r#未指定协议无法解析参数:无法打开显示:

Answers:


2

夏洛爵士的回答对我有用。ubuntu 12.04(精确穿山甲)上的相同问题。是的,我也使用su(root)。丢脸丢脸 同样的问题,启动emacs。

问题似乎是当您执行su时DBUS_SESSION_BUS_ADDRESS保留了其值,而不是在/root/.dbus/session-bus/

来自dbus发射的人:

   ...
   The second common reason for autolaunch is an su to another  user,  and
   display  of  X  applications  running as the second user on the display
   belonging to the first user. Perhaps the ideal fix in this  case  would
   be  to allow the second user to connect to the session bus of the first
   user, just as they can connect to the first user's display.  However, a
   mechanism for that has not been coded.
   ...

使用sudo,suedit,gksu。

或者,如果必须使用su,请尝试将其添加到/root/.bashrc中:

sessionfile=`find "${HOME}/.dbus/session-bus/" -maxdepth 1 -type f`
if [ -f "$sessionfile" ] ; then
    if grep -q "^DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}" ; then
        export `grep "^DBUS_SESSION_BUS_ADDRESS=" "${sessionfile}"`
    else
        echo "DBUS_SESSION_BUS_ADDRESS not found in ${sessionfile}"
    fi
else
    echo "no session address file found in ${HOME}/.dbus/session-bus"
fi

非常感谢您的回答。稍后我会再提出您的建议并更新我的问题。(可能需要1-2天/现在在家中没有INet。)
v2r 2012年

31

我有同样的问题。在我的系统中,问题是~/.dbus由root拥有的。更改所有权可以为我解决问题。我建议您也在系统上进行检查。

更改所有权可以通过chown命令完成。对于单个文件:

chown <user>:<group> file

对于目录及其子目录:

chown -R <user>:<group> folder

所以在这种情况下

chown -R <your user>:<your group> ~/.dbus 

应该管用。


2
你能解释一下如何更改文件的所有权为他人
圣马特奥

感谢您的回答。几个月前,我已经重新安装了Ubuntu OS,所以现在我不能提出您的建议了。
v2r 2012年

4
先生,您赢得了互联网。既然其他16个人也遇到了同样的问题,那么有没有人知道~/.dbus/最初是如何被root拥有的?
第三方


4

我也有dbus和vnc的问题。所以我加了

eval `dbus-launch`

~/.vnx/xstartup。它为我启动了gnome会话!


3

你可以试试这个吗?

sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`

然后重试您的命令。

gnome-open /home/

非常感谢您的答复,但是正如我之前所写,通过重新安装操作系统,问题得以解决!
v2r

为什么不只是source $sessionfile呢?
2016年

2

删除/var/lib/dbus/machine-id,一切都更好

上面的修复程序还修复了:

(virt-manager:2810): GConf-WARNING **: Client failed to connect to the D-BUS daemon: 
Failed to connect to socket /tmp/dbus-vYNPgtHXG7: Connection refused (virt-manager:388): No D-BUS daemon running

2

我可以运行virt-manager在命令root@localhost# dbus-launch virt-manager使用su


1

我在Ubuntu机器上遇到了这个问题。安装dbus-x11解决了该问题:

sudo apt install dbus-x11

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.