我的 Arch-Linux 系统有一个奇怪的问题。
启动 X Server 后,我在播放音频时无法获得任何声音输出。
问题不在于音量控制或声卡驱动程序,因为如果我在启动 X Server 之前启动任何类型的音频播放,我绝对没有问题。即使 X Server 启动后,音频也会继续播放。但是,如果我暂停/停止音频,则在重新开始播放时,我不会得到任何音频输出。
即使终止 X Server 也无法解决此问题。不过,重新启动系统会有所帮助。
我尝试过不同的DE。使用 GNOME、XFCE、LXDE、KDE 检查。每次都是同样的问题。所以这不是由于特定环境造成的,而是 X 的问题。
我不确定我应该为此检查哪些文件。
答案1
无论如何,我认为它与 Xorg 没有关系。查看是否加载了正确的内核模块(lsmod)。如果重启后它可以工作,那可能应该不是问题。
例如。
$ cat /etc/modules-load.d/snd_mixer_oss.conf
snd_mixer_oss
尝试运行 alsamixer 或 aumix,因为默认情况下音频被静音(奇怪)或设置得很低(或未由您的 X 环境设置)。
答案2
如果你用“startx”(不是通过 gdm/kdm 等)启动 X 并启动一个最小的窗口管理器(如 pekwm,而不是 gnome 或 xfce),声音会起作用吗?
如果确实如此,问题的范围就会有所缩小。
另外,检查pulseaudio是否自动启动。
答案3
感谢 #archlinux IRC 频道上提供的帮助,终于解决了这个问题。
问题是,由于某些奇怪的原因,启动 X 会将默认音频输出设备更改为我的 HDMI 卡,而该卡并未用于输出音频。
在 Arch Linux 上,我安装了pavucontrol
PulseAudio 软件包,并用它来将音频播放的默认设备重置为我的板载声卡。