如何调试Pulse Audio的问题?

Modified on: Sat, 09 Jun 2018 06:32:23 +0800

我在我的机器上安装了Ubuntu 11.10。我以USER_A身份登录。我的外部音频设备是耳机,我能够正确听到音频。

我需要将我的Ubuntu计算机加入窗口的域(我的办公室服务器)。我按照http:// www中说明的步骤进行操作.ghacks.net / 2010/04/21 / join-a-ubuntu-machine-to-a-windows-domain /并成功将我的ubuntu机器加入了Windows域。

sudo apt-get install likewise-open5
sudo domainjoin-cli join DOMAIN USER_B

现在,当我以USER_B身份登录时,该用户在同一台​​计算机上没有音频。

我与我的User_A帐户交叉检查。 User_A的声音没有问题。仅对于User_B,没有音频。

当我检查User_B的声音设置时,硬件,输入和输出中没有列出任何设备。而对于用户A,我的耳机列在输入和输出中。

任何人都可以帮助我。为什么User_B没有声音?

您能否详细介绍一下如何“检查音频组中是否添加了用户”。

当我尝试在终端(来自User_B)中执行pulseaudio -k时

E: [pulseaudio] main.c: Failed to kill daemon: No such process

我也在脉冲音频日志中找到了这个。我跑的时候:

pulseaudio --log-level=4 --log-target=stderr

我在日志中发现了以下错误行:

E: [pulseaudio] module-dbus-protocol.c: dbus_server_listen() failed: org.freedesktop.DBus.Error.BadAddress: Abstract socket name too long
E: [pulseaudio] module-dbus-protocol.c: Starting the local D-Bus server failed.
E: [pulseaudio] module.c: Failed to load module "module-dbus-protocol" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.

最佳答案

  

此初步答案总结了仅在为此用户加入域的环境中调试一个用户可用的声音所涉及的步骤。可能需要稍后延长。

如果我们只有一个用户的声音,我们可能在这个用户帐户的设置中有一些错误的配置。我们需要从受影响的用户帐户采取以下步骤,以进一步了解问题。

  1. Pulseaudio一直在运行吗?
    通常你会看到从顶部栏中访问声音菜单。或者,我们可以在终端中发出以下命令:

    pulseaudio -k
    

    如果pulseaudio没有运行,将会出现错误。此外,此命令负责停止并重新生成pulseaudio,以防它挂起。

  2. pulseaudio守护程序的用户设置是否有错误?
    为了测试这个,我们必须重命名受影响用户的HOME中的settings目录,然后重新启动pulseaudio(参见1。):

    mv ~/.pulse ~/.pulse.bad
    



    对于较新的版本,
    mv ~/.config/pulse ~/.config/pulse.bad  ## for newer releases
    
  3. ALSA的频道是否已静音?
    我们可以在终端中打开alsamixer来调整通道音量,并在通道意外静音时取消静音:


    alsamixer
  4. 确保“音频”组中的用户
    audio组中的用户具有独占访问pulseaudio服务器的权限。其他用户在此用户使用它时无法访问它。因此,用户不应该在audio组中。

  5. 手动启动Pulseaudio
    如果pulseaudio没有运行,我们也可以通过

    从命令行启动守护进程

    alsamixer
    

    Pulseaudio然后使用默认设置并启动它的守护进程。我们还可以将此命令发送到我们的自动启动应用程序,以克服在加载桌面之前pulseaudio无法运行的情况。

  6. 浏览日志文件
    Pulseaudio将在系统启动时加载,并在用户登录时加载。因此,只能从启动pulseaudio上生成的日志中读取错误。请参阅本指南,了解如何生成pulsaudio日志脚本。总之,我们要注意pulseaudio没有重生我们可能会以详细模式运行它:

    pulseaudio -D
    
  7. 醇>

    待完成


    在问题中给出的情况下,我们可以看到pulseaudio无法运行,因为它无法启动D-Bus服务。这可能是由于用户主页的路径损坏或过长引起的(请参阅错误#872992)。作为一种解决方法,我们可以通过在/etc/pulse/default.pa中注释掉以下行来发出没有​​D-Bus控制的pulseaudio:

    pulseaudio -vvvv <options>
    

    然而,我们(和我们的应用程序)将无法使用D-Bus控制pulseaudio。


相关问答

添加新评论