如何解决此PulseAudio服务器崩溃而无需重新启动?


7

在我的Ubuntu 12.04上,音频服务器偶尔会崩溃,因此我不得不重新引导系统才能播放音频。

Alsamixer看起来还不错,没有任何声音被静音。而且,我尝试了

sudo pkill -9 pulseaudio

然后:

pulseaudio -D

这给了我

E: [pulseaudio] main.c: Daemon startup failed.

你能帮我了解怎么了吗?


你可以与重试-v选项pulseaudio?例如pulseaudio -v -D。最后的错误应该出现在其他错误之后。
gertvdijk

我已经做到了,而且是一样的:pulseaudio -v -DE:[pulseaudio] main.c:守护程序启动失败。
martina

Answers:


3

默认情况下,Pulseaudio将按用户运行。因此,我们不需要root权限即可将其杀死。

从终端重新启动/重置正在运行的pulseaudio声音服务器的命令只是发出

pulseaudio -k

通过这样做,声音服务器将自动生成并以默认设置立即重新启动。如果您尝试两次运行pulseaudio,将始终会出现错误。

要从命令行运行pulseaudio以读取可能的错误,您需要暂时禁用自动生成(有关如何执行此操作的详细信息,请参阅本文)。

有时,错误的用户设置是造成PulseAudio声音服务器故障的原因。然后,我们可以在重新启动Pulseaudio之前尝试重命名设置目录~/.pulse(或./config/pulse在较新的版本中)。然后将使用默认设置重新创建该目录。


好吧,好的,我使用-k命令将其重置,无济于事。我有:> pulseaudio -k,它什么也没说。现在我做了:> ps -e | grep pulseaudio,它给了我:> E:[pulseaudio] pid.c:守护程序已经在运行。> E:[pulseaudio] main.c:pa_pid_file_create()失败。此外,补充一点是有用的,如果我使用耳机,则音频可以工作,而计算机通常的扬声器则不能。
martina

1
它可能以某种方式将您的耳机拾起作为默认音频接收器。您是否尝试过重命名/删除~/.[/config/]pulse目录?要列出可以发送的可用接收器pacmd list-sinks -扬声器在场吗?
塔卡特

1
给该列表命令,我得到两件事:2个可用的接收器,它们是:名称:<alsa_output.pci-0000_00_1b.0.analog-stereo> 09:00:37 PM和名称:<alsa_output.pci-0000_01_00 .1.hdmi-stereo>。我猜他们是计算机的两个扬声器?
martina

是的,听起来不错。还要检查pacmd list-cards扬声器工作时和扬声器不工作时内部卡使用的配置文件。这可能会给您有关可能是什么问题的其他提示。(恐怕很难进行远程调试)
Takkat 2013年

0

我曾经遇到过类似的错误,对我有用的是在上编辑default.pa文件/etc/pulse。不知何故,第一行是!/usr/bin/pulseaudio -nF,而不是#!/usr/bin/pulseaudio -nF,因此在编辑它时,pulseaudio可以正常工作。


我对第一行进行了注释(带有标签)。你是说我应该取消评论吗?
martina

不,应该发表评论,我的错误是没有评论,因此在纠正后进行了排序
Projjol 2013年

好吧,我有正确的评论。取消注释会导致时钟附近的音频图标不起作用。
martina


0

我遇到了这个问题-在试用之后,我想出了解决的办法,尽管我仍然不确定这是怎么回事。

首先找到所需的卡和设备,然后手动导出PULSE_SINK变量:

$> aplay -l

****播放硬件设备列表****卡0:PCH [HDA Intel PCH],设备0:ALC269VC Analog [ALC269VC Analog]子设备:1/1
子设备#0​​:子设备#0​​卡0:PCH [HDA Intel PCH],设备3:HDMI 0 [HDMI 0]子设备:0/1子设备#0​​:子设备#0

$>export PULSE_SINK=plughw:0,3
$>killall pulseaudio 
Now you should be able to start pulse.
$> pulseaudio --start

如果不是,请检查/ etc / pulse的符号链接和rm -rf ~/.config/pulse

此后将默认值设为您想要的位置,请检查

$>pacmd list-cards

找到所需的输出后,将其设置为默认值:

$> pacmd set-card-profile 0 output:hdmi-stereo

适用于我,在Ubuntu 16.04上。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.