0

在运行 Ubuntu 8.10 的类似上网本的设备上,我有一个使用 GLFW 库的 C/C++ 应用程序。

据我了解 GLFW 库的来源,它使用对 X-Window 库的调用来创建它的窗口。

我们不使用机器上的任何桌面,而是登录到 tty 并在后台启动 X-server。在调用期间从目标平台上的 tty* 运行已编译的应用程序时

glfwOpenWindow( ... );
  glXQueryExtension( ...);
    _glfwChooseVisual( ... );
       XGetVisualInfo( ... );

应用程序停止。它不会崩溃。通过按 Ctrl+Alt+F7 切换到 X-Window 时,应用程序会正常继续。

什么可能导致这种奇怪的行为?

BEGIN_EDIT:

现在我很确定问题与 Ubuntu 或 x-server 的配置有关。当我尝试跑步时

glxinfo

在 shell 中,该命令也会挂起,直到我通过按 CTRL+ALT+F7 切换到 X 窗口。当我在按下键后返回我的 shell 时,命令已经完成。

是不是 X 服务器在控制台模式下进入“睡眠”状态?

END_EDIT;

4

2 回答 2

0

如果 X 窗口服务器在后台运行,它(显然)不拥有显示器。因此它不能回复请求,直到它回到前台。

至少这是我的期望。如果显示服务器在请求时实际上并不拥有显示硬件,则您不能要求显示服务器打开窗口。

阻止直到它控制硬件后部听起来对我来说完全明智。

于 2009-10-07T14:14:10.650 回答
0

登录管理器是否在 X 服务器上运行?他们通常会抢占 X 服务器以供独占使用。尝试登录,看看是否有所作为。

于 2009-10-14T17:28:28.530 回答