在只有终端的ubuntu服务器上的Pygame错误“视频系统未初始化”

时间:2012-04-19 00:40:27

标签: python ubuntu pygame

我在使用ubuntu服务器的PC(PC-104)上使用pygame,因此它只有终端,而不是UI。

在我的笔记本电脑上,代码工作正常,在终端上运行代码“例如:python game.py”,但在PC104上它给出“视频系统未初始化”,我读错误显示是因为它是一种方式在没有UI的系统上使用事件?

感谢。

2 个答案:

答案 0 :(得分:3)

感谢您的回答jsbueno。几个星期前我找到了一个解决方案,但忘了回答这个问题。

我无法使用除X11之外的任何其他库运行任何pygame脚本。但我发现可以运行没有图形库的脚本。只需将SDL_VIDEOLIBRARY环境变量设置为“虚拟”。

这在bash上是可行的,但我更喜欢在python上执行:

os.environ["SDL_VIDEODRIVER"] = "dummy"

通过这个,我能够运行pygame脚本,检测操纵杆事件等。

答案 1 :(得分:2)

如果你将它设置为使用framebuffer或vgalib,可以在没有X11的系统中运行pygame程序 - 文档甚至谈论使用aalib(它会在终端上使用ascii art显示图形。)

文档的这一部分有:

  

Pygame会在几个内部显示后端中选择一个   它被初始化了。将根据选择显示模式   当前用户的平台和权限。在显示模块之前   初始化环境变量SDL_VIDEODRIVER可以设置为   控制使用哪个后端。有多种选择的系统是   列在这里。

     

Windows:windib,directx
     Unix:x11,dga,fbcon,directfb,   ggi,vgl,svgalib,aalib

因此,您需要做的是在启动代码之前设置SDL_VIDEODRIVER环境变量。并保持适当的lib。已安装。

了解更多信息: http://www.pygame.org/docs/ref/display.html