- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 Pi Zero 运行 Raspbian Buster Lite,没有连接显示器。它在启动时运行一个 python 程序(crontab @reboot 入口),像这样:
@reboot sudo su username/home/username/launcher.sh >>/home/username/crontab.log 2>&1
我必须初始化 pygame 显示,因为我需要处理 Sound 对象结束事件。如果不初始化显示,则不会触发事件。
代码在这一行中断,出现错误“pygame.error:无法打开控制台终端”
os.putenv('SDL_VIDEODRIVER', 'dummy')
pygame.display.init() # error at this line
我的代码曾经在以前的 Raspbian (Stretch) 版本中工作。我尝试了各种驱动程序,添加/删除了 pygame.display.set_mode((1, 1))
,但没有成功。
我知道其他帖子解决了同样的问题,但我已经用尽了所有这些方法 - 将驱动程序更改为 fbcon,跳过 set_mode 行等。唯一有效的方法是以 root 身份运行程序:
@reboot/home/username/launcher.sh >>/home/username/crontab.log 2>&1
但从安全角度来看,这是个坏主意。我宁愿以非特权用户身份运行它。
是否有一种新的 hack 可以让它通过 display.init()
?
最佳答案
pygame.init
初始化所有 Pygame 模块。你不需要初始化所有的 Pygame 模块,只需要初始化你需要的那些。对于播放音乐,初始化 pygame.mixer
就足够了.一些例子
import pygame
pygame.mixer.init()
pygame.mixer.music.load('music.mp3')
pygame.mixer.music.play()
while pygame.mixer.music.get_busy():
pygame.time.delay(10)
pygame.mixer.quit()
import pygame
pygame.mixer.init()
my_sound = pygame.mixer.Sound('music.mp3')
my_sound.play(0)
while pygame.mixer.get_busy():
pygame.time.delay(10)
pygame.quit()
import pygame.mixer
pygame.mixer.init()
my_sound = pygame.mixer.Sound('sound.wav')
my_sound.play(0)
pygame.time.wait(int(my_sound.get_length() * 1000))
pygame.mixer.quit()
但是,您不能使用事件模块,因为它绑定(bind)到显示模块。
关于python - Pygame display init on headless Raspberry Pi Zero (Raspbian Buster Lite),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57418067/
假设您不希望其他站点以 格式“框定”您的站点: 因此,您将反框架、破坏框架的 JavaScript 插入到您的所有页面中: /* break us out of any containing if
假设您不希望其他网站在 中“框定”您的网站: 因此,您将反框架、框架破坏 JavaScript 插入到所有页面中: /* break us out of any containing iframe
如果网页使用了 this question 中提到的 frame-buster buster,我该如何停止加载该网页? , 或者更强的 X-Frame-Options: deny喜欢 stackove
如何使用 Buster 测试从远程服务器获取文件的功能?我写的测试像 buster.testCase("Remote fetch file", { "test it": function ()
我们被要求在我们的网站上托管一些 iframe Buster 脚本 - 它们允许从外部域转换到 iframe 中的广告从 iframe 外部扩展到主机页面。我们的托管提供商警告我们要注意这些脚本中的安
我对展开式广告和 有一些疑问秒。我已经创建了将显示在 中的可扩展广告秒。这些广告将由已知的广告服务器转换,例如 doubleclick、smartadserver、eyewonder 等。 感谢s
我关注 these用于查找安装在 debian:buster 上的开箱即用的 ca 证书的指南 docker 形象。 但是,事实证明具有相应信息的文件不存在。 ▶ docker run -it deb
我对Raspberry Pi和Linux/Debian还是很陌生,所以请多多包涵。我已经尝试了几个小时,以在我的Raspberry Pi 3上安装RabbitMQ,但无济于事。我遵循了这些步骤,但是最
现在很多官方的 Docker 镜像都是基于 Debian Buster 的。我们曾经安装过chromedriver在基于 Stretch 的图像中打包,但现在它不再可用。 最佳答案 包被重命名为 ch
在 javascript 中将 buster.js 用于 BDD,我有一些相当庞大的 API 需要测试。在某些情况下,默认超时不会为我做这件事。如何覆盖(异步)规范的默认超时? describe("G
我想使用 Buster.js 创建一个全局设置/拆卸方法,但我不明白该怎么做。该文档提到了“suit:start ”和“suite:end”事件,它看起来像我所追求的,但我不明白如何连接它。有人吗?
在 ASP.Net 网站中自动应用和/或更新我的 javascript 和样式表引用上的缓存破坏器变量的好策略是什么? 例如。转型 到 更新:不需要持续集成。 我正在使用持续集成(具体来说是 Je
我正在尝试对 Debian Buster 中 php-fpm 上发生的某些段错误进行有意义的回溯。 阅读Debian's guide , 我明白那个 我需要添加调试仓库 deb http://deb.
似乎Debian repo提供的 Varnish 6.1.1被标记为“安全性”,并且修复仅在 Varnish 版本^ 6.2.1上可用。 所以我环顾四周并降落在这里https://packageclo
我正在开发一个扩展,有时会在 iframe 内显示一些网站。我已经绕过了 X-FRAME-OPTIONS 问题,但现在我陷入了简单 iframe buster 代码,例如: if (top != se
我尝试使用此 Dockerfile 安装 V8JS FROM php:7.3-cli-buster RUN apt-get update -y --fix-missing && apt-get upg
安装 Debian 10 (Buster) 时,桌面/GUI 应用程序速度很慢。打开应用程序(例如 Firefox、Terminal...)需要很长时间,并且系统根本无法使用。 apt update
我看到这段代码可以帮助解决 iframe 中的点击劫持问题 html { display : none; } if( self == top ) { document.docum
我第一次尝试使用 Buster.js 进行 Javascript 测试 我已按照 the Buster site 中的说明进行操作运行“陈述显而易见”的测试。但是,我无法将任何现有的 .js 文件导入
我在 IE 缓存所有内容时遇到问题,所以如果我切换用户,我仍然会看到来自不再登录的旧用户的数据。 我试过这个解决方案(位于:Angular IE Caching issue for $http),它有
我是一名优秀的程序员,十分优秀!