ALSA 权限

Nat*_*ate 10 permissions alsa

大约 3 小时前,我特立独行的机器上一切正常。然后出现了一个问题。

我运行了命令 chown -R someuser:somegroup .*,在我注意到 之前.,我点击了Enter,这个错误使我的系统someuser在我可以停止之前已经拥有了一半。

我设法让一切回到根(即/sbin/etc/lib,有些东西下/usr)。我apt-get --reinstall install编写了一堆软件包,包括 ALSA。

不幸的是,ALSA 不适用于非 root 用户。也就是说,sudo aplay /usr/share/sounds/alsa/Noise.wav工作正常,但作为一个非特权用户,它吐出来

"cannot find card '0'"`
Run Code Online (Sandbox Code Playgroud)

尽管将我的用户添加到音频组可能会奏效,但我在很多地方都读到过这不再是解决这些问题的方法。

所以这给我留下了一个问题 - 我应该在哪里寻找我的软管权限?

Nat*_*ate 11

好的,我很幸运,并注意到 ACL 未在 /dev/snd 中设置

以防万一有人遇到类似的问题,我设法解决了它:

sudo setfacl -m u:$USER:rw /dev/snd/*
Run Code Online (Sandbox Code Playgroud)

如果有人看到这个问题,请在评论中回复,我想确保我做对了......

  • 正如在(现已删除)答案中指出的那样,此命令可能不起作用,因为用户不在“音频”组中。将用户添加到“音频”组可以解决这个问题。 (2认同)