为什么普通 root 用户下能检测到声卡,但是普通用户下查不到声卡的信息?是不是没有权限?如何应用?如何获得 USB 声卡的权限?
核心原因:普通用户缺少访问声卡设备文件的权限(声卡设备文件多位于 /dev/snd/ ,默认属主为 root 和 audio 用户组)。
解决步骤(可直接执行命令):
1. 添加用户到 audio 组(永久获取权限):
bash
sudo usermod -aG audio $USER
2. 注销并重新登录(让组权限生效)。
3. 验证权限:
bash
查看声卡设备权限(应显示当前用户属于 audio 组)
ls -l /dev/snd/
检测声卡(普通用户下可正常识别)
aplay -l # 播放设备列表
arecord -l # 录音设备列表
针对 USB 声卡的额外说明:
- USB 声卡接入后,系统会自动创建 /dev/snd/ 下的对应设备文件(如 card1 、 pcmC1D0p ),权限规则与内置声卡一致,无需额外配置。
- 若仍无法识别,可重启音频服务:
bash
sudo systemctl restart pulseaudio