Raspberry Pi 上的 VNC 显示当前无法显示桌面

问题描述

我正在尝试在我的 RaspBerry Pi 4 上的无头安装中使用 VNC,运行 RaspBerry Pi OS,通过 RaspBerry Imager 安装。安装或多或少是普通的,因为我所做的唯一更改是连接(设置 SSH、无线和 VNC,如本指南所述:https://www.tomshardware.com/reviews/raspberry-pi-headless-setup-how-to,6028.html)。

当我通过 VNC 登录时,出现“当前无法显示桌面”错误。应该可以通过 raspi-config 更改屏幕分辨率来修复,但这会使 pi 无响应。将 pi 设置为使用“G3 legacy”应该可以在重新启动或不重新启动后解决该问题(答案各不相同),但在任何一种情况下似乎都没有区别。

有谁知道我如何通过 VNC 连接到我的 pi?

谢谢:)

解决方法

基本上应该足以指定 HDMI 模式。我有一个 Raspberry Pi4 无头,这是我在 /boot/config.txt 中的配置

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen,and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# 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

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI,if you have interference,blanking,or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d
gpu_mem=128
start_x=1
enable_uart=1
#hdmi_enable_4kp60=1

然后我禁用了加密并设置了 VNC 密码。此外,如果您要通过 VNC 查看 raspistill/raspivid 预览,则必须启用此功能:RealVNC 查看器 > 菜单 > 选项 > 故障排除 > 优化屏幕捕获 - 选择“启用直接捕获模式”

,

根据documentation

如果您的 Raspberry Pi 是无头的(即未插入显示器)或 控制机器人,不太可能运行图形桌面。

所以想法是通过 vncserver 命令创建一个新的虚拟桌面并使用 VNC 中的显示编号。