首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于pygame.event.get()中的事件: pygame.error:使用ssh时视频系统未初始化

对于pygame.event.get()中的事件: pygame.error:使用ssh时视频系统未初始化
EN

Stack Overflow用户
提问于 2016-08-07 18:30:00
回答 3查看 1.3K关注 0票数 0

下面是我试图通过ssh在我的树莓派中运行的代码。当我有直接连接到raspberry pi的键盘和显示器时,它通常工作得很好,但当我使用ssh时,它就不能运行了。

代码语言:javascript
运行
复制
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:视频系统未初始化

有人能帮我找出解决这个错误的方法吗?

EN

回答 3

Stack Overflow用户

发布于 2018-11-13 14:00:01

我知道这个问题已经有一段时间了,但我今天也遇到了同样的问题。

对我来说,ssh sudo命令解决了问题。

代码语言:javascript
运行
复制
sudo python code_path.py
票数 2
EN

Stack Overflow用户

发布于 2019-01-30 00:53:00

我遇到了与描述类似的问题。当没有可用的X服务器时,问题就会出现,这就是为什么当你有一个显示器连接到Raspberry时它会工作。

一种解决方案是使用X转发选项运行ssh:

代码语言:javascript
运行
复制
    ssh -X pi@raspberry_ip_address

那么你的程序应该会正常运行:

代码语言:javascript
运行
复制
    python your_code.py

希望这对任何人都有帮助。

票数 1
EN

Stack Overflow用户

发布于 2016-08-07 22:00:16

你还没有初始化你的窗口。看起来你可能已经注释掉了,也可能没有注释掉:#screen = pygame.display.set_mode((400, 300))。pygame的许多事件都依赖于窗口。只需取消对屏幕初始化的注释,它就会工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38813215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档