使用Python 3在X服务器(树莓派)上全屏显示JPEG

3 投票
2 回答
1506 浏览
提问于 2025-04-19 14:58

我正在用Python开发一个软件,这个软件可以生成静态的jpeg图片,并把它们保存到文件系统里。这个软件在启动时就会运行,并会根据一些外部和内部的事件来触发生成相应的jpeg图片,然后在连接的HDMI屏幕上全屏显示这些图片,而且不需要任何可见的用户控制或菜单栏。

这个设备上没有安装和运行窗口管理器(比如Gnome、KDE等)。它是一个被动设备,主要是通过远程控制来操作。

目前,我是通过启动一个feh程序来查看图片,然后在下一张显示之前把它关闭。这样做虽然能实现,但效果不是很好。

你有没有更好的办法,让我的Python 3程序在X服务器上显示jpeg图片呢?

2 个回答

2

你真的需要一个X-Server吗?如果你不需要图形界面(GUI)或者鼠标,那其实可以直接把图片写入帧缓冲区,这样可能会更好,而不需要用X-Server。你可以简单地使用fbi来做到这一点。

1

使用 feh 命令加上其中一个 --bg- 选项。这会设置根 X 窗口的背景,然后程序就会退出。所以你不需要去结束 feh 这个程序再重启,只要每次想换图片的时候调用这个命令就可以了。

feh --bg-scale image1.jpeg

不过,这个方法在某些桌面环境下(比如 kde、gnome、xfce 等)可能不太好使,但在一些轻量级窗口管理器(比如 evilwm、goomwwm 等)中是可以用的,甚至在没有窗口管理器的情况下也能工作。

撰写回答