Pygame在无头Raspberry Pi Zero(Raspbian Buster Lite)上显示init

时间:2019-08-08 17:38:57

标签: python raspberry-pi pygame raspberry-pi-zero debian-buster

我的Pi Zero运行Raspbian Buster Lite,没有任何显示器。它在启动时运行python程序(crontab @reboot条目),如下所示:

os.putenv('SDL_VIDEODRIVER', 'dummy') pygame.display.init() # error at this line

我必须初始化pygame显示,因为我需要处理Sound对象的结束事件。如果不初始化显示,则不会触发事件。

代码在此行中断,错误为“ pygame.error:无法打开控制台终端”

pygame.display.set_mode((1, 1))

我的代码曾经在以前的Raspbian(Stretch)版本中工作。我已经尝试了各种驱动程序,添加了{/ {1}} /删除了这些驱动程序,但是没有运气。

我知道其他处理相同问题的文章,但是我已经用尽了所有这些方法-将驱动程序更改为fbcon,跳过set_mode行,等等。唯一有效的方法是以root身份运行程序:

@reboot /home/username/launcher.sh >> /home/username/crontab.log 2>&1

但是,从安全角度来看,这是一个坏主意。我宁愿以非特权用户身份运行它。

是否有一种新的破解方法可以使它通过display.init()

0 个答案:

没有答案