我刚刚安装了 Ubuntu 11.10 并创建了一个新用户(并将其添加到 sudo 组)。
当我以新用户(非 root)身份登录并尝试打开 gedit 时出现以下错误:
** (gedit:17414): WARNING **: Could not connect to session bus
我还使用 ufw 仅允许 OpenSSH 和端口 80 连接(如果相关的话?)。我使用 Putty 和 Xming 访问服务器(使用与我过去在其他服务器上成功使用的完全相同的 X11 设置)。
我在其他地方读到过,如果您以 root 身份登录,这属于正常行为,但我不是......
知道我做错了什么吗?
谢谢!
答案1
嗯。看起来像是 D-Bus 问题。
您可能缺少该dbus-launch --autolaunch
过程,如以下邮件列表条目所述:
- http://lists.fedoraproject.org/pipermail/test/2011-July/101118.html
- http://lists.fedoraproject.org/pipermail/test/2011-July/101119.html
在邮件列表条目中,用户的 dbus 机器 ID 存在冲突,因此 dbus 自动启动过程无法正常启动。
尝试重命名/var/lib/dbus/machine-id
(/var/lib/dbus/machine-id.orig
有效删除 dbus machine-id,同时备份它),看看是否可以让系统重新生成它(即:重新启动或类似操作)。
仅供参考,如果系统不重新生成 dbus machine-id,那么在恢复备份 id 之前,您可能无法加载桌面(图形)。我不是 dbus 或 gnome 专家,因此使用此技巧需要您自担风险,但可以肯定 id 会重新生成。
答案2
在我的例子中,远程 12.04 服务器仅安装了最低限度的 gedit 依赖项(apt-get install gedit --no-install-recommends)。安装 dbus-x11 包解决了这个问题。dbus-x11 实际上包含一个缺失的dbus 启动。