登录到我的 Ubuntu 14.04 桌面后,我可以看到我的桌面背景大约 20 秒,然后才会加载实际的 Unity 桌面。我安装了启动图这表明问题在于pactl
正在调用并花费很长时间来执行某项操作,并且主桌面启动受到阻止:
我如何确定这个pactl
呼叫在哪里,以及为什么它可能需要很长时间?
pulseaudio 启动时的日志位于:http://kryogenix.org/random/pulseverbose/。
答案1
为了诊断(不是解决方案)您应该启用pactl
模块日志记录:
编辑(使用 sudo)以下文件
/etc/pulse/client.conf
并将以下行添加到文件
extra-arguments = -vvvv --log-target=newfile:/tmp/pulseverbose.log --log-time=1
重启后登录
/tmp/pulseverbose.log
可能会出现脉冲音频控制的潜在问题。可能有多个文件。回来粘贴至此处我们还可以为您提供更多提示。
消除!
/etc/pulse/client.conf
完成后的那条线。
为了解决方案我会先尝试重新安装pulseaudio
,但在我们查看日志后,情况可能会发生变化。因此,请先向我们提供您的日志。最终重新安装 pulseaudio 和 alsa 的步骤可能是:
sudo apt-get remove --purge alsa-base pulseaudio
sudo apt-get install alsa-base pulseaudio
sudo alsa force-reload
但如果您驱动程序错误/由于设置错误而损坏等,这可能是无助的。
更新:诊断来自日志文件:你的问题的核心就在这里
D ( 0.005| 0.000) [pulseaudio] module-udev-detect.c: Loading module-alsa-card with arguments 'device_id="0" name="pci-0000_00_03.0" card_name="alsa_card.pci-0000_00_03.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"'
D ( 3.010| 3.004) [pulseaudio] reserve-wrap.c: Unable to contact D-Bus session bus: org.freedesktop.DBus.Error.NoServer: Failed to connect to socket /tmp/dbus-zgX6izEp13: Connection refused
随后出现许多类似这样的错误:
I ( 3.011| 0.000) [pulseaudio] alsa-util.c: Error opening PCM device hw:0: No such file or directory
这会花费你一些启动时间。
建议的解决方案:
xxx 似乎有一个临时套接字处于打开状态,pulseaudio 无法完成此操作。请检查是否有文件
/tmp/dbus-zgX6izEp13
,如果有,请将其删除sudo rm /tmp/dbus-zgX6izEp13
,如果有变化,请尝试重新启动。--更新:没有这样的文件,意味着它是在 pulseaudio 想要使用它之前创建的,或者某些东西想要同时写入它。某些配置可能被混合/加倍。
您可以尝试清除并重新安装 pulseaudio。请参阅上面的文字。
如果有帮助,请简短回复。