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

Raspberry Pi Zero下Java JFrame无法连接X11窗口服务器问题求助

解决Raspberry Pi Zero SSH运行Java Swing程序无法显示到本地显示器的问题

问题根源

通过SSH远程连接时,默认无权限访问树莓派本地的X11窗口服务器(对应显示器的DISPLAY标识为:0),且环境变量DISPLAY配置错误,导致Java程序无法连接X服务器创建窗口。

解决方案

步骤1:在树莓派本地授权X服务器访问

直接在树莓派连接的显示器上打开终端(非SSH会话),执行以下命令允许本地用户访问X服务器:

xhost +local:

注:xhost +local:仅允许本地用户访问,比xhost +(允许所有来源访问)更安全。临时测试可使用xhost +,测试完成后用xhost -关闭宽松权限。

步骤2:SSH登录后配置正确的DISPLAY变量

通过Putty登录树莓派后,执行命令将DISPLAY设置为本地X服务器的地址:

export DISPLAY=:0

步骤3:运行Java程序

直接运行你的Java程序即可:

java Prueba

特殊情况:用sudo运行程序时的处理

如果需要用sudo运行程序(如涉及硬件权限),需保留环境变量或手动指定XAUTHORITY:

  • 方式1:保留当前环境变量运行
sudo -E java Prueba
  • 方式2:手动指定XAUTHORITY路径(假设你的用户名是pi)
sudo DISPLAY=:0 XAUTHORITY=/home/pi/.Xauthority java Prueba

额外检查项

  • 确认树莓派已进入桌面环境(X服务器已启动),纯命令行模式下X服务器未运行,无法显示图形窗口。
  • 检查Putty的X11转发设置:若无需将窗口转发到Windows本地,请勿开启X11转发;若误开启,DISPLAY会被自动设为localhost:10.0(即报错中的值),需手动覆盖为:0。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:54:58