You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSH连接远程树莓派运行Tkinter出现DISPLAY环境变量错误如何解决?

解决SSH运行Tkinter GUI显示在RPi本地显示屏的问题

方法1:连接时手动指定DISPLAY变量

通过Putty SSH连接RPi后,先执行这条命令设置环境变量:

export DISPLAY=:0.0

之后再运行你的Python代码即可。如果想每次SSH连接都自动生效,编辑RPi用户目录下的.bashrc文件,添加一行export DISPLAY=:0.0,保存后执行source ~/.bashrc让设置生效。

方法2:解决X11权限限制

有时候即使设置了DISPLAY,也会因为X服务器的权限拦截无法显示。需要在RPi本地的终端(直接操作RPi的时候)执行:

xhost +local:

这条命令允许本地用户的进程访问X服务器,之后再通过SSH运行代码就能正常显示GUI了。

方法3:调整Python代码的环境变量设置方式

你之前用os.environ.__setitem__的方式可能不够稳定,换成更直接的写法试试:

import os
import tkinter as tk

# 直接设置DISPLAY
os.environ['DISPLAY'] = ':0.0'

# 或者做个简单检查再设置
# if not os.environ.get('DISPLAY'):
#     os.environ['DISPLAY'] = ':0.0'

root = tk.Tk()
root.title("测试窗口")
root.mainloop()

额外注意

  • 确保RPi的桌面系统处于运行状态,显示屏没有黑屏或休眠
  • 尽量用普通用户SSH连接,不要用root;如果必须用root,执行xhost +(但存在安全风险,不推荐)

内容的提问来源于stack exchange,提问作者Rekcoj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 10:17:05