警告是
**(/usr/lib/firefox/firefox:1671):警告**:22:14:54.614:无法连接到dbus:无法连接:权限被拒绝
我尝试使用 strace 但在那里找不到任何相关的文件错误。我猜它可能是 AppArmor。关于如何找到原因的任何建议?
我开始搜索,因为无论 Visual bell 设置是否设置为 ( 这已通过更改 KDE 设置得到修复。gsettings set org.gnome.desktop.wm.preferences visual-bell false
),当页面上的搜索没有返回任何结果时,Firefox 都会将整个窗口闪烁为反色,这很烦人。
- libappmenu-gtk*-parser0 0.7.1-1
- Firefox 65.0(通过 apt 安装和下载)
- D-Bus 1.12.12-1ubuntu1
- Ubuntu 19.04
我以某种方式拥有 ~/.dbus/ ,但尝试将所有者递归更改为我的用户并删除该文件夹。即使在完全重新启动后,两次都没有改变。
我会把它报告为错误,但想确保它确实是一个错误。
更新
这不是火狐,它是appmenu-gtk*
:
$ grep "Unable to connect to dbus" -rF /usr
Binary file /usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libappmenu-gtk-module.so matches
Binary file /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libappmenu-gtk-module.so matches
删除警告后更改为
Gtk 消息:16:30:03.964:无法加载模块“appmenu-gtk-module”。
通过阅读
strace
评论中链接的输出,我发现了以下内容:这意味着 firefox ( client ) 连接到 D-Bus (server) 套接字,该套接字由文件描述符编号 35 引用,您可以在前面的
strace
输出中看到:并通过D-Bus 文档中描述的标准命令启动协商。根据文档:
REJECTED EXTERNAL
response 指示总线接受外部身份验证方法的响应。所以警告信息很可能来自最初的交换。但是,它后来使用该AUTH EXTERNAL
方法成功。因此,我从中得出的结论是
此外,
/usr/lib/x86_64-linux-gnu/gtk-3.0/modules/libappmenu-gtk-module.so
它是一个共享对象,旨在供多个应用程序使用,并不特定于 firefox。删除它可能会隐藏警告,但这可能不是最好的主意,因为这是一个共享对象,其他应用程序可能依赖它来正常工作。您仍然可以向 firefox 开发人员提交带有此答案链接的错误报告,因为在初始协商方法之后会出现警告,而 firefox 可能会在发出警告之前先尝试其他方法,但是我不会指望这是一个高优先级问题开发人员,很可能会留下 WONTFIX 状态。