在运行 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;