下面是我试图通过ssh在我的树莓派中运行的代码。当我有直接连接到raspberry pi的键盘和显示器时,它通常工作得很好,但当我使用ssh时,它就不能运行了。
import pygame, sys, time
from pygame.locals import *
pygame.init()
pygame.joystick.init()
joystick = pygame.joystick.Joystick(0)
joystick.init()
#screen = pygame.display.set_mode((400,300))
#pygame.display.set_caption('Hello World')
interval = 0.01
# get count of joysticks=1, axes=27, buttons=19 for DualShock 3
joystick_count = pygame.joystick.get_count()
print("joystick_count")
print(joystick_count)
print("--------------")
numaxes = joystick.get_numaxes()
print("numaxes")
print(numaxes)
print("--------------")
numbuttons = joystick.get_numbuttons()
print("numbuttons")
print(numbuttons)
wprint("--------------")
loopQuit = False
while loopQuit == False:
# test joystick axes
# outstr = ""
# for i in range(0,4):
# axis = joystick.get_axis(i)
# outstr = outstr + str(i) + ":" + str(axis) + "|"
# print(outstr)
# test controller buttons
outstr = ""
for i in range(0,numbuttons):
button = joystick.get_button(i)
outstr = outstr + str(i) + ":" + str(button) + "|"
print(outstr)
for event in pygame.event.get():
if event.type == QUIT:
loopQuit = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
loopQuit = True
我得到的错误是回溯(最近一次调用):文件"testing_joystick.py",第47行,在pygame.event.get()中的事件: pygame.error:视频系统未初始化
有人能帮我找出解决这个错误的方法吗?
发布于 2018-11-13 14:00:01
我知道这个问题已经有一段时间了,但我今天也遇到了同样的问题。
对我来说,ssh sudo命令解决了问题。
sudo python code_path.py
发布于 2019-01-30 00:53:00
我遇到了与描述类似的问题。当没有可用的X服务器时,问题就会出现,这就是为什么当你有一个显示器连接到Raspberry时它会工作。
一种解决方案是使用X转发选项运行ssh:
ssh -X pi@raspberry_ip_address
那么你的程序应该会正常运行:
python your_code.py
希望这对任何人都有帮助。
发布于 2016-08-07 22:00:16
你还没有初始化你的窗口。看起来你可能已经注释掉了,也可能没有注释掉:#screen = pygame.display.set_mode((400, 300))
。pygame的许多事件都依赖于窗口。只需取消对屏幕初始化的注释,它就会工作得很好。
https://stackoverflow.com/questions/38813215
复制相似问题