登录后,桌面挂起约 20 秒后才显示 Unity。Bootchart 建议使用 pactl。需要帮助吗?

登录后,桌面挂起约 20 秒后才显示 Unity。Bootchart 建议使用 pactl。需要帮助吗?

登录到我的 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

这会花费你一些启动时间。

建议的解决方案:

  1. xxx 似乎有一个临时套接字处于打开状态,pulseaudio 无法完成此操作。请检查是否有文件/tmp/dbus-zgX6izEp13,如果有,请将其删除sudo rm /tmp/dbus-zgX6izEp13,如果有变化,请尝试重新启动。

    --更新:没有这样的文件,意味着它是在 pulseaudio 想要使用它之前创建的,或者某些东西想要同时写入它。某些配置可能被混合/加倍。

  2. 您可以尝试清除并重新安装 pulseaudio。请参阅上面的文字。

如果有帮助,请简短回复。

相关内容