所有声音设备均已正确检测,模块也已加载。查看了社区文档并在终端中运行了 aplay -l,结果如下:
cookies@ThinkPad-X230:~$ sudo aplay -l
**** List of PLAYBACK Hardware Devices ****
Home directory not accessible: Permission denied
硬盘已加密,我的主文件夹也已加密。有什么想法吗?
解决方案:询问 Ubuntu 有点……说得好听点就是奇怪。有点荒谬,但我找到了答案,因为我无法以适当的间距发表评论,也无法回答我的问题,所以我将在这里转储:
这是我实际做的,这里:
# vim /etc/pulse/default.pa
取消注释:
load-module module-alsa-sink
据我了解这里,一切应该可以正常工作,但出于某种原因,守护进程不想播放。仍然是黑客行为,但一切正常。
答案1
我遇到过类似的问题,这是由于 13.04 版 Jack (jackd) 的干扰引起的。12.10 版上从未出现过此问题。我删除了 Jack 和 Ardour,一切正常。 sudo apt-get remove --purge jack ardour jackd
如果您没有安装 Jack,请考虑任何其他可能会劫持您的声卡的软件包。
尝试aplay -l
不带运行sudo
,看看这是否有助于解决您的权限错误。偶尔我会看到 root 被拒绝访问用户主目录中的文件夹(据我所知这不应该发生,但我见过这种情况)。
答案2
这绝对是权限错误。您正在运行sudo aplay -l
不必要的程序。作为用户,您应该可以运行aplay -l
。
可能您必须更新 ACL /dev/snd/*
(更改username
为您自己的):
sudo setfacl -m u:username:rw /dev/snd/*
您不需要load-module module-alsa-sink
在配置脚本中取消注释。可能您还做了其他事情——副作用是改变了权限——因为如果您只取消注释该行,您将在运行时看到类似以下内容pulseaudio -vvv
:
I: [pulseaudio] (alsa-lib)pcm_direct.c: unable to open timer 'hw:CLASS=3,SCLASS=0,CARD=0,DEV=0,SUBDEV=0'
I: [pulseaudio] (alsa-lib)pcm_dmix.c: unable to initialize poll_fd
I: [pulseaudio] alsa-util.c: Error opening PCM device default: Permission denied
E: [pulseaudio] module.c: Failed to load module "module-alsa-sink" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
正如您所看到的,它确实表明存在权限错误。
pulseaudio
我希望这可以帮助某人下次在开始深入研究或的选项之前思考权限问题alsa
。:-)