如何使 pulseaudio 再次工作?

如何使 pulseaudio 再次工作?

我遇到了声音问题(仅单声道输出),因此遵循另一个 askubuntu 问题我對其中做了一些修改/etc/pulse/default.pa

重启后,我完全没有声音。所以我删除了/etc/pulse/default.pa所有内容,然后尝试再次重启。我没有备份文件(我知道这很蠢)。

如何恢复工作配置?

我尝试过:sudo apt-get remove pulseaudio,重新启动,sudo apt-get install pulseaudio然后重新启动。

仍然无法工作。文件/etc/pulse/default.pa丢失。

以下是pulseaudiopacmd命令显示的内容:

$ pulseaudio 
E: [pulseaudio] main.c: Daemon startup without any loaded modules, refusing to work.
$ pacmd
No PulseAudio daemon running, or not running as session daemon.

答案1

对于此时或稍后来到这里的人,特别是如果您从未弄乱过系统范围的默认值/etc/pulse/default.pa,请注意,如果您有,~/.config/pulse/default.pa它将完全取代系统范围的默认值。

换句话说:如果你收到错误消息

[pulseaudio] main.c: Daemon startup without any loaded modules, refusing to work.

检查你是否有意或无意地拥有一个文件.config/pulse/default.pa

如果是,请尝试将其移动到备份位置,然后重新启动 pulseaudio。例如,打开终端,然后输入

mv .config/pulse/default.pa ~/default.pa.bak
pulseaudio -vvvvv

如果您现在看到很多行滚动,更具体地说是已加载模块的语句,那么您就知道您已经解决了原始问题。

因为这很难追踪,特别是如果你健忘(像我一样),或者因为你被许多处理 pulseaudio 问题的网页说服,你应该default.pa首先有一个,已经有一个启动板错误针对用户特定行为提起的default.pa 取代系统范围内default.pa。感谢Jim Carter 为我指明了正确的方向

现在,如果你还必须解决启动时 pulseaudio 总是将声音发送到错误设备的问题,那么你可以使用~/.config/pulse/default.pa如下语句配置你的默认输出设备,以对其进行硬编码

set-card-profile 0 output:analog-stereo
set-default-sink 1

这是我以前在配置文件中所拥有的,目的是防止计算机尝试通过 HDMI 连接输出声音。然而为了使其工作,你仍然必须添加文件的所有/etc/pulse/default.pa内容那些语句。由于这很容易出错 - 考虑一下当下一个apt-get dist-upgrade更改系统范围的默认值时会发生什么 - 您可以在自己的语句之前获取默认配置。

我的完整用户特定 pulseaudio 配置文件如下

.include /etc/pulse/default.pa

set-card-profile 0 output:analog-stereo
set-default-sink 1

顺便说一句,这些配置文件中可用的命令的完整列表可以在终端中通过输入列出

man pulse-cli-syntax

答案2

这是我的默认.pa文件。尝试将其放入原始文件夹,并确保其具有正确的权限。

下次在修改或删除重要文件之前请备份它们,但我想你已经学到了这个教训。

相关内容