![哪些用户设置控制音频访问?](https://linux22.com/image/1104417/%E5%93%AA%E4%BA%9B%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE%E6%8E%A7%E5%88%B6%E9%9F%B3%E9%A2%91%E8%AE%BF%E9%97%AE%EF%BC%9F.png)
运行定期更新的 10.04 LTS 时,我们在使用 pulseaudio 0.9.22 访问音频时遇到了一个奇怪的问题。声音设备是ATI Technologies Inc SBx00 Azalia (Intel HDA)
- 登录用户1重启后:声音正常
- 登录用户2重启后:声音正常
- 登录用户1然后用户2:声音正常:都有声音
但
- 登录用户2然后用户1: 仅有的用户2有声音
- 登录用户2开机后,注销用户2,然后登录用户1: 没有声音
和
- 登录用户3然后用户1: 一切都很好!
在后两种情况下用户1在系统日志中重复出现错误:
protocol-native.c: Denied access to client with invalid authorization data
仅当 pulseaudio 启动后,这些错误才会消失用户1在终端中手动输入。然后两者的音频访问都可以正常进行。出现错误module-alsa-card.c: Failed to find a working profile
,但声音输出仍然正常。
我们都是不是音频组的成员。~/.pulse
从两个帐户中删除不会影响此行为。
该问题始于 9.10 Karmic,即使升级到 10.04 Lucid LTS 后仍然存在。这表明一些错误设置在升级后仍然存在。
对用户启动顺序的依赖表明可能涉及一些其他用户特定设置,但我们不知道从哪里开始搜索。从 3 个用户的测试来看,似乎仅用户 2 的设置损坏。
加载 pulseaudio 模块module-esound-protocol-unix
并module-native-protocol-unix
使用 default.pa 和 system.pa 中的选项不会改变此行为。删除 pulseaudio cookie和来自两个用户的auth-anonymous=1
cookie 也无济于事。~/.esd_auth
~/.pulse-cookie
建议 1) 至 8) 来自回答如下没有做出改变(无法在系统模式下运行 pulseaudio)但拔下外部扬声器,重新启动,重新插入扬声器并从用户 1 再次重新启动就可以了。
目前还不清楚这些硬件信息(错误地)存储在哪里,以及为什么它只影响一个用户帐户。
答案1
1)请您与 user1 一起尝试一下:
sudo gpasswd -a user1 脉冲访问 sudo gpasswd -a 用户1 pulse-rt sudo gpasswd -a 脉冲音频
2)你尝试过这个吗?
“编辑 /usr/local/etc/pulse/system.pa 并添加:
load-module module-native-protocol-unix auth-anonymous=1
参考:https://tango.0pointer.de/pipermail/pulseaudio-discuss/2009-January/002942.html
3)尝试在系统模式下运行 pulseaudio
参考:https://bugzilla.redhat.com/attachment.cgi?id=262541
4)确保 user2 没有以 root 身份运行 pulseaudio
5)删除 user2 中可能不会发布音频的应用程序(例如 timidity)
6)浏览~/.asoundrc
,/etc/asound.conf
如果存在
7)检查是否“邪恶的 libflashsupport 库”已安装。要卸载:
sudo aptitude purge libflashsupport flashplugin-nonfree-extrasound
8)在系统范围内启动 pulseaudio 守护进程:
gksu gedit /etc/default/pulseaudio
并将“PULSEAUDIO_SYSTEM_START=0”更改为“PULSEAUDIO_SYSTEM_START=1”
9)尝试拔下外部扬声器等音频硬件并重新启动。