我在带有ubuntu服务器的PC(PC-104)上使用pygame,因此它只有终端,没有UI。
在我的笔记本电脑上,代码完美运行,在终端上运行代码“例如:python game.py”,但在 PC104 上它给出“视频系统未初始化”,我读到错误显示,因为它是一种使用事件的方式在没有 UI 的系统上?
谢谢。
感谢您的回答 jsbueno。几周前我能够找到解决方案,但忘记回答这个问题。
除了 X11 之外,我无法使用任何其他库运行任何 pygame 脚本。但是我发现没有图形库也可以运行脚本。只需将 SDL_VIDEOLIBRARY 环境变量设置为“虚拟”。
这在 bash 上是可行的,但我更喜欢在 python 上这样做:
os.environ["SDL_VIDEODRIVER"] = "dummy"
有了这个,我能够运行 pygame 脚本,检测操纵杆事件等。
如果您将其设置为使用帧缓冲区或 vgalib,则可以在没有 X11 的系统中运行 pygame 程序 - 文档甚至谈到使用 aalib(它将在终端上使用 ascii 艺术显示图形。)
这部分文档有它:
Pygame 在初始化时会从几个内部显示后端之一中进行选择。显示模式将根据当前用户的平台和权限来选择。在初始化显示模块之前,可以设置环境变量 SDL_VIDEODRIVER 来控制使用哪个后端。此处列出了具有多种选择的系统。
Windows:windib、directx
Unix:x11、dga、fbcon、directfb、ggi、vgl、svgalib、aalib
因此,您需要做的是在启动代码之前设置 SDL_VIDEODRIVER 环境变量。并且是舒尔正确的库。已安装。
欲了解更多信息: http: //www.pygame.org/docs/ref/display.html