【问题标题】:Pygame.display.init() error: "No available video device", on VPS ServerPygame.display.init() 错误:“没有可用的视频设备”,在 VPS 服务器上
【发布时间】:2014-08-20 05:24:56
【问题描述】:

我正在尝试在 vps 服务器上运行 pygame 脚本,但在 pygame.display.init() 上收到错误消息。

按照此处http://www.pygame.org/docs/ref/display.html#pygame.display.init 和其他来源中的说明,我在 init() 之前使用了所有这些配置:

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

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

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

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

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

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

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

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

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

因此,“dummy”选项会导致脚本进入循环。任何其他选项都会给我错误:

<class 'pygame.error'>: No available video device

我安装了 x11。我正在从 php 文件调用 python 脚本,因此,我希望图形输出进入浏览器,或者“视频设备”自动设置为用户浏览器。没有发生。

【问题讨论】:

  • x11 是一个桌面窗口系统,在正常情况下不与网络浏览器交互。可能想看看stackoverflow.com/questions/8452927/…
  • 谢谢@Steven V。实际上我不需要它在浏览器中,我只是想显示一个图形输出。尽管我的脚本不是游戏,但我希望有一些在线游戏的行为。我正在仔细阅读 pyjs...
  • @LeandroGuedes 所以你希望 pygame 屏幕的输出出现在浏览器中?
  • @Bartlomiej Lewandowsk,没错。我错过了什么吗?一旦我从浏览器调用脚本,我希望输出出现在同一个窗口中,或者它会打开另一个窗口。但是如果我有任何其他方式可以显示不通过浏览器的输出,那不是问题。

标签: python pygame vps


【解决方案1】:

您是否通过 ssh 连接到 vps 服务器?您是否尝试过 x 转发,ssh -X user@server.com 然后当您从命令行运行脚本时,它应该会在您的窗口中打开

【讨论】:

  • 它会打开终端,工作正常,但我无法使用 pygame 运行 python 脚本(屏幕只是闪烁)。我需要的是使用http调用脚本,比如myserver/run_python.php,然后php fil调用脚本。它工作正常,但我遇到了pygame.display.init() 问题。
  • PHP 不会使用浏览器将 PyGame 屏幕发送到您的本地计算机。
  • 但是我可以告诉 PyGame 在服务器本身中打开屏幕并将此输出发送给站点的访问者吗?
  • 在浏览器中运行的游戏使用FlashHTML+CSS+JS 制作(参见:StencylFlixelImpact)。使用 PyGame,您可以创建 client-server 游戏。你必须编程:client - 使用 PyGame,在(本地)用户计算机上运行,​​server - 不使用 PyGame(最终它在控制台中打印一些文本,或者它只将文本发送到日志文件),适用于服务器。客户端发送到服务器玩家位置等。服务器发送到客户端敌人(其他玩家)位置等。就是这样。
  • @LeandroGuedes 我在询问任何使用 pygame 的在线游戏链接。在我看来,将服务器输出转发到浏览器是非常困难且毫无意义的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-12-31
  • 1970-01-01
  • 2020-01-08
  • 1970-01-01
  • 2015-11-26
  • 1970-01-01
相关资源
最近更新 更多