以下是解决 "VNC 连接超时 "问题的分步指南:
一、检查树莓派端配置
1. 确认 VNC 服务已启用并运行
①通过 SSH 或物理终端登录树莓派,执行:
sudo systemctl status vncserver-x11-serviced
若状态为 `inactive`,手动启动服务:
sudo systemctl start vncserver-x11-serviced
sudo systemctl enable vncserver-x11-serviced # 设置开机自启
2. 验证 VNC 接口配置
①重新检查 VNC 是否在 `raspi-config` 中启用:
sudo raspi-config → Interface Options → VNC → Yes
③ 重启树莓派以应用配置:
sudo reboot
二、排查网络问题
1. 确认树莓派与电脑在同一局域网
在树莓派终端执行 hostname -I 获取 IP 地址(如 192.168.1.100)。
在电脑上执行 ping 树莓派IP(如 ping 192.168.1.100),确保能收到回复。
若无法 ping 通:
检查路由器或交换机是否隔离了设备。
确认树莓派和电脑连接到同一网络(如相同 Wi-Fi 或子网)。
2. 检查防火墙设置
①树莓派防火墙:
若启用了 ufw,开放 VNC 端口(5900):
sudo ufw allow 5900
临时关闭防火墙测试:
sudo ufw disable
②电脑防火墙:
确保电脑防火墙未阻止 VNC 客户端(如 RealVNC Viewer)。
三、调整 VNC 服务配置
1. 修改分辨率(避免兼容性问题)
①在树莓派终端执行:
sudo raspi-config → Display Options → Resolution → 选择较低分辨率(如 1280x720)
②重启树莓派生效。
2. 更换 VNC 服务端(可选)
如果 RealVNC 仍无法连接,可改用 **TightVNC**:
① 安装 TightVNC Server:
sudo apt install tightvncserver
②启动服务并设置密码:
tightvncserver -geometry 1280x720
③在客户端使用 树莓派IP:1(如 192.168.1.100:1)连接。
四、使用替代连接方式
1. SSH 隧道(加密转发 VNC 流量)
①在电脑上执行:
ssh -L 5900:localhost:5900 pi@树莓派IP
②打开 VNC 客户端,连接 `localhost:5900`。
2. 使用其他远程工具(如 xrdp)
①在树莓派安装 xrdp(基于 RDP 协议):
sudo apt install xrdp
②在电脑使用 “ Windows 远程桌面 ”或 “ Remmina ” 连接树莓派 IP。
五、终极排查步骤
1. 更换 VNC 客户端:
尝试使用 **TigerVNC** 或 **TightVNC Viewer** 替代 RealVNC。
2. 检查 SD 卡健康状态:
长期运行可能导致 SD 卡损坏,影响服务稳定性。
3. 重装 VNC 服务:
sudo apt purge realvnc-vnc-server && sudo apt install realvnc-vnc-server
六、总结
优先级排查顺序:服务状态 → 网络连通性 → 防火墙 → 配置调整 → 替代方案。
关键命令回顾:
sudo systemctl status vncserver-x11-serviced # 检查服务状态
sudo ufw allow 5900 # 开放防火墙端口
sudo raspi-config # 调整分辨率/VNC设置
若仍无法解决,可能是硬件或系统镜像问题,建议备份数据后重新烧录系统。