我们最近在工作中测试了许多基于 Red Hat 的发行版,以取代 Windows 作为我们的主要操作系统。我们选择 CentOS 6,因为我们所有的软件都完全兼容。到目前为止,我遇到的最大错误来自 Pulse Audio。
当我以本地用户(root 和非 root)身份登录时,我完全没有问题。但当涉及到通过 NFS 的网络用户(漫游配置文件)时,Pulse Audio 似乎无法启动。我一直在查看系统日志,它抱怨无法创建套接字,因此我们更改了配置文件以在本地创建它。守护进程停止抱怨并启动,但仍然无法使音频工作。转到 System/../Audio 会弹出要配置的窗口,但我收到此消息:正在等待音频 [...],并且永远不会像本地用户会话那样显示。
我现在没有任何日志,明天我会发布它们。我只是想知道这是否是一个已知问题以及是否可以解决它?我已经寻找了一段时间但从未找到答案。
到目前为止我找到的解决方案是卸载脉冲音频(以及所有相关的 ALSA 插件)并直接使用 Alsa。它有效,但我认为拥有脉冲音频对我们的用户来说会更方便(因此他们可以比 ALSA 更轻松地配置 USB 或其他音频组件,并且某些软件与脉冲音频配合使用效果更好)。
谢谢
编辑:
以下是一些日志:
全新安装脉冲音频后
[...]
Sep 2 09:42:06 localhost pulseaudio[20545]: main.c: Module load failed.
Sep 2 09:42:06 localhost pulseaudio[20545]: main.c: Failed to initialize daemon.
Sep 2 09:42:06 localhost pulseaudio[20539]: main.c: Daemon startup failed.
Sep 2 09:42:06 localhost rtkit-daemon[20011]: Warning: Reached burst limit for user '1090', denying request.
Sep 2 09:42:06 localhost rtkit-daemon[20011]: Warning: Reached burst limit for user '1090', denying request.
Sep 2 09:42:07 localhost rtkit-daemon[20011]: Warning: Reached burst limit for user '1090', denying request.
Sep 2 09:42:07 localhost rtkit-daemon[20011]: Warning: Reached burst limit for user '1090', denying request.
Sep 2 09:42:07 localhost rtkit-daemon[20011]: Warning: Reached burst limit for user '1090', denying request.
Sep 2 09:42:07 localhost rtkit-daemon[20011]: Warning: Reached burst limit for user '1090', denying request.
Sep 2 09:42:07 localhost rtkit-daemon[20011]: Warning: Reached burst limit for user '1090', denying request.
Sep 2 09:42:07 localhost pulseaudio[20551]: module-protocol-stub.c: Failed to remove stale UNIX socket '/Network/Servers/[some path]/Volumes/Home/Users/xavier/.pulse/0a9e231ce3558be2c6df990d00000013-runtime/native': No such file or directory
Sep 2 09:42:07 localhost pulseaudio[20551]: module.c: Failed to load module "module-native-protocol-unix" (argument: ""): initialization failed.
Sep 2 09:42:07 localhost pulseaudio[20551]: main.c: Module load failed.
Sep 2 09:42:07 localhost pulseaudio[20551]: main.c: Failed to initialize daemon.
Sep 2 09:42:07 localhost pulseaudio[20542]: main.c: Daemon startup failed.
[...不断循环。]
然后我修改 /etc/pulse 中的 system.ps 和 default.pa:
load-module module-native-protocol-unix socket=/tmp/pulse.socket
现在日志有所不同:
Sep 2 09:46:13 localhost pulseaudio[22179]: pid.c: Daemon already running.
Sep 2 09:47:10 localhost rtkit-daemon[20011]: Sucessfully made thread 22187 of process 22187 (/usr/bin/pulseaudio) owned by '1090' high priority at nice level -11.
Sep 2 09:47:10 localhost pulseaudio[22187]: pid.c: Daemon already running.
还是没有声音。
然后我尝试:
[xavier@theatre ~]$ pulseaudio -k
[xavier@theatre ~]$ pulseaudio --start -D
结果是:
Sep 2 09:49:11 localhost rtkit-daemon[20011]: Sucessfully made thread 22238 of process 22233 (/usr/bin/pulseaudio) owned by '1090' RT at priority 5.
...但我运气不好。
答案1
我最近在运行 CentOS 6 的计算机实验室之一遇到了这个问题。通过将 Pulse 添加到漫游配置文件用户中,我能够使 Pulse 显示并为漫游配置文件用户工作。脉冲和脉冲存取组。这甚至不需要重新登录,当我这样做时,音频就神奇地开始工作。
这似乎只适用于本地用户——也就是说,当该用户登录到同一工作站时,更改将持续存在,但不会随用户移动到其他工作站。恐怕我对漫游配置文件了解不够,无法解决该问题。