对于那些现在或以后来这里的人,尤其是如果您从未在中混过系统范围的默认值时/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
摆在首位,有已经是一个很启动板的bug提交针对特定用户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
pulseaudio