Raspberry Pi - Raspbian Lite - Waveshare 2.8 英寸显示器 - Openbox/nodm - Tkinter 显示错误

Raspberry Pi - Raspbian Lite - Waveshare 2.8 Inch Display - Openbox/nodm - Tkinter dispaly error

我按照 tjohnson 在他 post 中的步骤操作:

https://raspberrypi.stackexchange.com/questions/57128/how-to-boot-into-own-python-script-gui-only

并且能够在使用 Raspbian Lite 的 raspberry pi 上启动 Python3 Tkinter 应用程序 运行ning。这是使用外部 HDMI 显示器。

然后我安装了 Waveshare 2.8 英寸显示器并安装了他们网站上引用的驱动程序。显示器本身可以很好地与控制台交互。

现在,当 pi 启动时,Tkinter 应用程序不会像使用 HDMI 连接的显示器那样加载。我只看到控制台登录提示。

如果,在 pi 上(直接在设备上,而不是通过 SSH)我 运行:

python3 /home/pi/App/my_script.py

我得到以下信息:

tkinter.TclError: 无显示名称且无 DISPLAY 环境变量

很明显,Waveshare 显示器的配置有些问题,因此我无法在其上 运行 一个 tkinter 应用程序。我在那里做了很多故障排除,但找不到解决方案。任何帮助将不胜感激。

感谢 stovfl(他在帮助我排除故障方面超越了一切)...我得到了显示和 tkinter 应用程序与 Openbox/nodm/Raspbian Lite 一起工作。

将本文用作资源: https://www.raspberrypi.org/forums/viewtopic.php?p=1050620

因为它不存在,所以我创建了目录和文件: /etc/X11/xorg.conf.d/99-calibration.conf

文件内容:

Section "InputClass" 
Identifier "calibration" 
MatchProduct "ADS7846 Touchscreen" 
Option "Calibration" "160 3723 3896 181" 
Option "SwapAxes" "1" 
EndSection 

Section "Device" 
# WaveShare SpotPear 3.5", framebuffer 1 
Identifier "uga" 
driver "fbdev" 
#Option "fbdev" "/dev/fb1" 
Option "ShadowFB" "off" 
EndSection 

Section "Monitor" 
# Primary monitor. WaveShare SpotPear 480x320 
Identifier "WSSP" 
EndSection

Section "Screen" 
Identifier "primary" 
Device "uga" 
Monitor "WSSP" 
EndSection 

Section "ServerLayout" 
Identifier "default" 
Screen 0 "primary" 0 0
EndSection

注意注释掉这一行:

Option "fbdev" "/dev/fb1" 

是让事情顺利进行的关键。