登录后,桌面在显示 Unity 之前挂起约 20 秒。Bootchart 建议使用 pactl。帮助?

sil*_*sil 11 sound boot unity pulseaudio 14.04

登录到我的 Ubuntu 14.04 桌面后,在实际 Unity 桌面加载之前,我会看到我的桌面背景大约 20 秒。我安装了引导图,这表明问题是pactl被调用并需要很长时间才能做某事,并且主桌面启动被阻止:

在此处输入图片说明

我如何确定此pactl调用的位置,以及为什么它可能需要很长时间?

来自pulseaudio启动的日志位于:http : //kryogenix.org/random/pulseverbose/

Dee*_*Dee 8

对于诊断(不是解决方案),您应该启用登录pactl模块:

  • 编辑(使用 sudo)以下文件

    /etc/pulse/client.conf
    
    Run Code Online (Sandbox Code Playgroud)
  • 并将以下行添加到文件中

    extra-arguments = -vvvv --log-target=newfile:/tmp/pulseverbose.log --log-time=1
    
    Run Code Online (Sandbox Code Playgroud)
  • 重新启动后,登录/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
Run Code Online (Sandbox Code Playgroud)

但这可能是无能为力的,例如,如果您的驱动程序错误/因错误设置等而瘫痪。

更新:从日志文件诊断:问题的核心就在这里

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
Run Code Online (Sandbox Code Playgroud)

随后是许多这样的错误:

I (   3.011|   0.000)  [pulseaudio] alsa-util.c: Error opening PCM device hw:0: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这需要您在启动时花费时间。

建议的解决方案:

  1. xxx 看起来有一个临时插座打开,而pulseaudio 没有让它结束。请检查是否有/tmp/dbus-zgX6izEp13文件,如果有,请将其删除,sudo rm /tmp/dbus-zgX6izEp13如果有更改,请尝试重新启动。

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

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

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