(pulseaudio) bluez5-util.c: GetManagedObjects() 失败:org.freedesktop.DBus.Error.NoReply:未收到回复

(pulseaudio) bluez5-util.c: GetManagedObjects() 失败:org.freedesktop.DBus.Error.NoReply:未收到回复

我查看了我的日志并在顶部发现了这一点:

[pulseaudio] bluez5-util.c: GetManagedObjects() 失败:org.freedesktop.DBus.Error.NoReply:未收到回复。可能的原因包括:远程应用程序未发送回复、消息总线安全策略阻止回复、回复超时或网络连接中断。

我不知道这是什么意思。我的电脑启动正常,到目前为止我还没有发现任何错误。但为了安全起见,有人知道如何解决这个问题吗?

另外,需要明确的是,我已经读过错误,并且我可以看到“可能的原因”部分,但我不知道“远程应用程序”或“消息总线安全”是什么意思。

答案1

简短的回答是执行以下命令:

cp /usr/share/gdm/default.pa ~/.config/pulse/

说明:

通过谷歌搜索,我发现这pulseaudio是现在 Ubuntu 中的音频子系统,pactl可以使用该命令来摆弄其设置。

该命令有不少子命令,其中最有趣的是list

通过执行pactl list short可以看到有一个模块bluez名字里含有 这个词,是蓝牙相关的。

我使用的台式电脑没有配备蓝牙,所以应该没有运行与蓝牙相关的模块。

执行pactl unload-module每个蓝牙相关模块均无效,因为在重新启动时模块会再次加载,因此错误会再次出现在日志中。人们应该从以下事实中得到提示:该pactl程序被称为“控制正在运行的 PulseAudio 声音服务器”的程序:它实际上不会修改声音服务器的持久配置。

通过进一步谷歌搜索,我发现 PulseAudio 设置存储在某个default.pa文件中,并且我在我的系统上发现了这个文件的两个实例,一个是下面的胖实例/etc/pulse/,另一个是下面的瘦实例/usr/share/gdm/

显然,粗体是全局 PulseAudio 设置,而细体是与 gnome 桌面管理器相关的用户特定设置。

用户特定命令的内容default.pa非常有趣,因为它包含的命令正是我想要执行的操作:禁用蓝牙相关模块。它bluez本身不会禁用模块,但通过pactl之前的尝试,我发现禁用其他两个蓝牙相关模块也会自动禁用 bluez 模块。

唯一的问题是,gdm 的配置文件对我来说没什么用,因为它在我登录时不会被执行。

通过进一步谷歌搜索,我发现此设置文件的用户本地实例的位置应该是~/.config/pulse/default.pa

因此,我推断,只要我将 gdm 的文件复制到我的个人资料上的这个位置,问题就会得到解决。

事实确实如此。

对于那些没有包含蓝牙卸载逻辑的文件副本的人来说,这里是实现该功能的文件部分(来自 ubuntu 20.04)。

### unload driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
  unload-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
  unload-module module-bluetooth-discover
.endif

答案2

不幸的是,添加 Mike 在他的回答中建议的行对我来说不起作用。我也没有文件/usr/share/gdm/default.pa

因此,我搜索了全局设置并default.pa在那里找到了该文件。您可能想要编辑此文件,这就是我所做的!

sudo nano /etc/pulse/default.pa

然后我注释掉了加载蓝牙模块的行。现在错误就消失了!

### Automatically load driver modules for Bluetooth hardware (edited)
#.ifexists module-bluetooth-policy.so
#load-module module-bluetooth-policy
#.endif

#.ifexists module-bluetooth-discover.so
#load-module module-bluetooth-discover
#.endif

请注意,我的系统没有 wifi/蓝牙硬件。

相关内容