运行定期更新的10.04 LTS,我们在使用pulseaudio 0.9.22访问音频时遇到了一个奇怪的问题。声音设备是ATI Technologies Inc SBx00 Azalia (Intel HDA)
- 重新启动后登录user1:听起来不错
- 重新启动后登录user2:听起来不错
- 登录user1,然后登录user2:声音正常:两者都正常
但
- 登录user2,然后登录user1:只有user2有声音
- 引导后登录user2,注销user2,然后登录user1:无声音
和
- 登录user3,然后登录user1:一切正常!
在后两种情况下,user1在syslog中得到重复的错误:
protocol-native.c: Denied access to client with invalid authorization data
只有在终端中从user1手动启动pulseaudio后,这些错误才会消失。这样,音频访问就可以了。出现错误,module-alsa-card.c: Failed to find a working profile
但声音输出仍然可以。
我们俩都没有音频组的成员。~/.pulse
从两个帐户中删除均不会影响此行为。
该问题始于9.10 Karmic,甚至在升级到10.04 Lucid LTS后仍然存在。这表明某些错误的设置在升级后仍然存在。
对用户启动顺序的依赖性表明可能会涉及其他一些用户特定的设置,但是我们不知道从哪里开始搜索。从3个用户的测试来看,似乎只有user2的设置被破坏了。
加载pulseaudio模块module-esound-protocol-unix
并module-native-protocol-unix
使用auth-anonymous=1
default.pa和system.pa中的选项不会更改此行为。也没有帮助它删除的PulseAudio饼干~/.esd_auth
和~/.pulse-cookie
来自用户。
在此添加的是我们的default.pa和我们的system.pa。
从下面的答案中的建议1)到8)没有做任何更改(无法在系统模式下运行pulseaudio),但是拔下外部扬声器,重新启动,重新插入扬声器并再次从user1重新启动就可以了。
尚不清楚(错误地)将这些硬件信息存储在何处以及为什么仅影响一个用户帐户。