我遇到了声音问题(仅单声道输出),因此遵循另一个 askubuntu 问题我對其中做了一些修改/etc/pulse/default.pa
。
重启后,我完全没有声音。所以我删除了/etc/pulse/default.pa
所有内容,然后尝试再次重启。我没有备份文件(我知道这很蠢)。
如何恢复工作配置?
我尝试过:sudo apt-get remove pulseaudio
,重新启动,sudo apt-get install pulseaudio
然后重新启动。
仍然无法工作。文件/etc/pulse/default.pa
丢失。
以下是pulseaudio
和pacmd
命令显示的内容:
$ 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文件。尝试将其放入原始文件夹,并确保其具有正确的权限。
下次在修改或删除重要文件之前请备份它们,但我想你已经学到了这个教训。