我正在使用pygame的操纵杆api在无头系统上使用操纵杆和我的项目,但是pygame需要一个“屏幕”,所以我已经设置了一个虚拟视频系统.它工作正常,但现在突然间它给了我这个错误:
Traceback (most recent call last):
File "compact.py", line 10, in <module>
screen = display.set_mode((1, 1))
pygame.error: Unable to open a console terminal
这就是我所拥有的无头设置,应该是这个问题.
from pygame import *
import os
import RPi.GPIO as GPIO
os.environ["SDL_VIDEODRIVER"] = "dummy"
screen = display.set_mode((1, 1))
解决方法:
Pygame试图打开一个控制台,这意味着你通过ssh或cron或其他无权访问控制台的地方运行这个脚本.我会尝试跳过set_mode(因为虚拟驱动程序可能没有设置模式),只是尝试初始化显示.您可以尝试以root身份运行它,这可能会让它访问.您也可以尝试告诉它使用fbcon.
os.putenv('SDL_VIDEODRIVER', 'fbcon')
pygame.display.init()