![Ubuntu 18.04 — Pulseaudio 启动并加载两次 — 2 个 PID 访问声卡 — 需要帮助进行故障排除](https://linux22.com/image/1065420/Ubuntu%2018.04%20%E2%80%94%20Pulseaudio%20%E5%90%AF%E5%8A%A8%E5%B9%B6%E5%8A%A0%E8%BD%BD%E4%B8%A4%E6%AC%A1%20%E2%80%94%202%20%E4%B8%AA%20PID%20%E8%AE%BF%E9%97%AE%E5%A3%B0%E5%8D%A1%20%E2%80%94%20%E9%9C%80%E8%A6%81%E5%B8%AE%E5%8A%A9%E8%BF%9B%E8%A1%8C%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4.png)
我希望有人能帮助我排除 Pulseaudio 启动和加载两次的原因和位置。
这会在插入耳机时产生问题,有时声音会出现短暂的停顿。
以下是一些信息:
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
pulseaudio --version
pulseaudio 11.1
fuser-v /dev/snd/*
USER PID ACCESS COMMAND
/dev/snd/controlC0: horatiu 2328 F.... pulseaudio
horatiu 5872 F.... pulseaudio
/dev/snd/controlC1: horatiu 2328 F.... pulseaudio
horatiu 5872 F.... pulseaudio
/var/log/syslog |grep pulseaudio (上次启动)
Dec 4 22:10:00 hdl dbus-daemon[1603]: [system] Activating via systemd: service name='org.freedesktop.RealtimeKit1' unit='rtkit-daemon.service' requested by ':1.25' (uid=1000 pid=2328 comm="/usr/bin/pulseaudio --start --log-target=syslog " label="unconfined")
Dec 4 22:10:02 hdl pulseaudio[2328]: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Dec 4 22:10:02 hdl pulseaudio[2328]: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Dec 4 22:10:02 hdl pulseaudio[2328]: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.AccessDenied: Rejected send message, 2 matched rules; type="method_call", sender=":1.40" (uid=1000 pid=2328 comm="/usr/bin/pulseaudio --start --log-target=syslog " label="unconfined") interface="org.freedesktop.DBus.ObjectManager" member="GetManagedObjects" error name="(unset)" requested_reply="0" destination="org.bluez" (uid=0 pid=1487 comm="/usr/lib/bluetooth/bluetoothd " label="unconfined")
Dec 4 22:10:24 hdl pulseaudio[5872]: [pulseaudio] module.c: Module "module-switch-on-connect" should be loaded once at most. Refusing to load.
Dec 4 22:10:24 hdl pulseaudio[5872]: [pulseaudio] module-gconf.c: pa_module_load() failed
声音仍然有效...我相信错误是由第二个进程加载引起的。
答案1
解决了。
通过在 pulseaudio pid 上运行 systemctl status 来获取启动 pulseaudio 第一个实例的进程。
systemctl status 2328
事实证明,该进程是由 mpd 守护进程启动的。我不使用 mpd,所以我没有费心尝试以某种方式设置它,使其在启动时不会生成 pulseaudio 进程。我刚刚删除了 mpd。
这有效地摆脱了 pulseaudio 的第一个实例并解决了声音问题。