树莓派4B踩坑指南 - (19)巨坑! VNC无显示器连接树莓派(headless)

准备随时远程连接树莓派, 但是发现经常是 vnc 连过去一个黑屏, 显示 Cannot currently show the dekstop. 试过了官网论坛中的各种方法(点这里看), 比如强制修改分辨率, 强制启用hdmi等等, 甚至搜到了一篇文章说宝塔5.9会破坏GUI显示相关依赖导致无法显示桌面...不一而足. 最后下定决心, 重做系统, 然后买了个 HDMI 假负载直接从硬件解决问题.

总花费¥14.40.

原因解释

大部分的时候, 我的树莓派不接入任何显示器, 这种使用方式被称为 Headless. 而 HDMI 有个特点, 这个接口能"智能"判断是否有外接设备, 并能自动判断其型号, 分辨率等信息. 但同时, 也正因为这个判断, 导致树莓派在不接入外接显示器的情况下, 很容易在启动系统时不启动图形界面运行, 而这时候通过vnc来使用树莓派就可能会出现黑屏 + Cannot currently show the dekstop了.

成功方法

某宝买了2样东西, 一个是HDMI假负载, 一个是hdmi转mini hdmi的 转接头, 组合在一起插在离type-c电源最近的插口就好了.

我买的宝贝链接:

  1. HDMI假负载
    HDMI假负载

  2. 转接头
    转接头

尝试#1: 修改分辨率

sudo raspi-config 中, 进入 2 Display Options, 选择 D1 Resolution. 出现过2种情况:

  1. 成功修改了分辨率, 但似乎没什么用
  2. 进去后闪退出来, 无法修改

尝试#2: 强制启用hdmi

  1. 修改 config.txt 文件: sudo vi /boot/config.txt
  2. 将其中的部分选项修改如下:
# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=82

其中, 关于 hdmi_grouphdmi_mode 可以参考 树莓派 设置HDMI分辨率

设置完问题依旧.

尝试#3 花生壳 + ssh

使用花生壳的内网穿透, 参见花生壳5.0 for 树莓派使用教程. 结果:

  1. 实名认证花了一些时间
  2. 设置好后ssh远程连接树莓派不稳定, 时好时坏, 连不上的时候大多数

尝试#4

update + upgrade + 重新安装桌面 lxde, xfce, gnome等等等等, 都不行, 最后发现问题越来越多...结果:

用Pi Imager重装了系统.

posted @ 2021-07-18 23:44  Bowen404  阅读(2851)  评论(0编辑  收藏  举报