如果这是一个菜鸟问题,请原谅我,但是,我刚刚使用 OpenRC 安装了 Artix,并按照来自 gentoo wiki 的关于使用 OpenRC 设置 ALSA 的指南,我被告知alsasound
使用以下方法将服务添加到 OpenRC:
rc-update add alsasound boot
我正打算这样做,直到我意识到 Pulseaudio 和 ALSA 实际上都已经在运行,尽管我从未明确运行它们或将它们作为服务添加到 OpenRC。也许我在这里感到困惑和不正确,但是除非我告诉 init 系统 ( OpenRC
) 启动这些程序,否则它们不应该启动吗?如果不是我的初始化系统,有没有办法可以找出正在调用 ALSA 和 Pulseaudio 的启动项?
如果我对这些声音应用程序和初始化系统的运行方式感到困惑,我深表歉意,因为这是我第一次修改它们并尝试手动设置它们。
答案1
aplay -l
仅需要内核模块,如果您的声卡/芯片是基于 PCI 的,或者可以由内核自动检测,则内核模块可以自动加载这些模块(或者如果您有 ARM 系统,则在设备树信息中列出,我猜?)。
但自动加载可能不会恢复混音器设置,因此一切都将使用“出厂默认”音量设置,该设置可能相当低,以保护耳机用户的听力免受意外的听觉攻击。
基于Onsystemd
的系统(我更熟悉)pulseaudio
可以直接作为用户服务启动,也可以使用pulseaudio.socket
systemd 单元通过套接字激活来启动。
在使用 OpenRC 的系统上,PulseAudio 可能由 GUI 会话启动脚本启动:它不一定必须以 root 身份运行。
但 PulseAudio 也有一个自动生成机制:如果在服务器未运行时启动任何 PulseAudio 客户端,客户端将尝试自动启动服务器,除非/etc/pulse/client.conf
或~/.config/pulse/client.conf
包含设置autospawn = no
。