如何在 Ubuntu 11.04 或更高版本中的单独的 X 服务器中获取声音?

如何在 Ubuntu 11.04 或更高版本中的单独的 X 服务器中获取声音?

我配置了我的 Ubuntu 系统,以便能够在单独的 X 服务器中启动任何应用程序。在单独的 X 服务器中运行游戏或 XBMC 等具有一些主要优势。

然而问题是,当您切换到第二个 X 服务器 (Ctrl+Alt+F8) 时,您听不到任何声音。奇怪的是,当切换回桌面 (Ctrl+Alt+F7) 时,您突然可以听到第二个 X 服务器的声音。这意味着声音正在工作,但您在第二个 X 服务器中时听不到声音。

在较早版本的 Ubuntu(例如 Ubuntu 10.10)中,有一个命令(ck-launch-session),您可以在第二个 X 服务器中运行它,这样声音就可以正常工作。不幸的是,这个命令在 Ubuntu 11.04 及更高版本中不再有这种效果。这是我在单独的 X 服务器中启动 XBMC 时使用的命令:

xinit /usr/bin/ck-launch-session /usr/bin/xbmc -- :1

当我在 Ubuntu 11.04 或更高版本中的第二个 X 服务器中时,如何启用声音?

相关错误报告:366404

答案1

当我做这种事情时,我必须成为“音频”组的一员。这样每个屏幕的音频都可以听到。有一个问题:切换屏幕不会改变输出的音频。如果我在一个屏幕上运行 KDE 实例并使用 Amarok 播放音乐,我将能够在所有屏幕上听到它。

如果您(像我一样)不知道如何通过命令提示符将用户添加到组,只需在 Synaptic 或软件中心安装“kuser”或sudo apt-get install kuser在终端中输入。

我似乎记得在使用默认启动器以 root 身份启动它时遇到了一些问题。如果它给出错误,说它无法访问文件,这通常不是问题,只需确保您以 root 身份使用该程序即可。如果它只是告诉您需要 root 身份,请关闭窗口,按 ALT+F2,然后键入gksudo kuser。计算机将要求您输入密码,然后 Kuser 将正确加载。

答案2

尝试使用以下命令让第二个 x-server 知道你的脉冲音频凭据pax11publish -D :1 -e

(其中 :1 是第二个 X-Server 的显示器编号,通常 :0 是第一个,向上计数)

您正在运行的应用程序可能正在尝试从 X11 根窗口属性中读取脉冲属性。

或者,您可能会陷入主要的控制台套件故障。

相关内容