Skip to content
返回博客Tutorial

Raspberry Pi 远程桌面:将 Pi 作为远程目标使用

Tenvo Editorial Team9 分钟阅读
Raspberry Pi 远程桌面:将 Pi 作为远程目标使用

你试图从另一台机器访问 Raspberry Pi 的桌面,但经常遇到空白屏幕、重绘缓慢或脆弱的端口转发配置。无论是管理无头信息亭、远程帮助亲友,还是运行轻量级工作站,让 Pi 成为可靠的远程桌面目标都需要可重复的实用步骤和谨慎配置。

你试图从另一台机器访问 Raspberry Pi 的桌面,但经常遇到空白屏幕、重绘缓慢或脆弱的端口转发配置。无论是管理无头信息亭、远程帮助亲友,还是运行轻量级工作站,让 Pi 成为可靠的远程桌面目标很麻烦——特别是当你关注安全、延迟和持久性时。本文按步骤列出实用且可重复的方法,使你的 Raspberry Pi 在局域网和因特网上作为远程桌面目标表现良好。

“Raspberry Pi 远程桌面”真正含义(以及现实可行的选择)

“远程桌面”可能有多种含义:控制当前物理显示器、虚拟 X/Wayland 会话,或通过中介进行的反向连接。在 Raspberry Pi OS 上,你有几种合理且实用的选择:

  • RealVNC(Raspberry Pi OS 捆绑的版本)——使用简单,为 Pi 硬件优化,在某些模式下支持视频硬件加速。
  • xrdp——提供与 Microsoft RDP 的兼容性;对虚拟 X 会话效果良好,但在 Pi 的默认桌面/合成器下可能表现怪异。
  • 像 TigerVNC 或 x11vnc 的 VNC 服务器——当你需要附着到真实桌面(x11vnc)或运行独立会话(TigerVNC)时灵活。
  • 自托管/反向连接工具——Tenvo(开源)、RustDesk、商业中介(TeamViewer/AnyDesk)。当你不能或不想在 Pi 所在网络上打开防火墙端口时,这些工具很有用。

每种方式在可用性、性能和安全性之间做出权衡。如果你只需要局域网访问,RealVNC 或 xrdp 通常就足够。若需跨 NAT 的远程访问且不想做端口转发,请考虑反向连接中介——参见我们的 remote-desktop-without-port-forwarding 文章,了解模式和风险。

你需要什么(硬件、操作系统与合理的最低要求)

推荐的硬件以保证流畅的远程桌面目标:

  • Raspberry Pi 4 或更新机型(Pi 3 可用,但 GPU 和 CPU 限制会明显)。如果运行多个应用,建议 4GB 或 8GB 内存。
  • SD 卡或 SSD——使用 Class A2/U3、32GB 及以上的 SD 卡,或使用 USB3 NVMe/SSD 以提高寿命和响应速度。
  • 尽量使用有线以太网(Pi 4 支持千兆)——Wi‑Fi 适合轻量用途,但会带来延迟和波动。
  • Raspberry Pi OS(如果需要 64 位用户态,建议 64-bit Bookworm;对于旧应用,32-bit Bullseye 依然稳定)。使用 apt 保持系统更新。

在软件方面,确保 Pi 已更新并更改了默认的 pi 用户密码。你可以用以下命令更新系统:

sudo apt update && sudo apt full-upgrade -y

分步:使 Pi 成为远程桌面目标(无头与有显示器)

下面是两种常见配置:(A)发布 Pi 的物理桌面(你在连接显示器时看到的桌面),以及(B)通过 RDP 托管虚拟桌面会话。选择与你的用例匹配的一种。

选项 A — 附着到物理桌面(RealVNC / x11vnc)

  1. 启用桌面服务器:Raspberry Pi OS 包含 RealVNC。运行 sudo raspi-config → Interface Options → VNC → Enable。
  2. 如果 Pi 是无头的,请强制使用虚拟 HDMI 模式,以便在没有显示器的情况下也能显示桌面。将以下内容添加到 /boot/config.txt
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=82  # 1920x1080@60Hz; use mode 16 for 1024x768 if you need lower res
  1. 重启 Pi:sudo reboot
  2. 设置 VNC 密码或使用系统用户凭据。Raspberry Pi OS 上的 RealVNC 默认与系统用户集成。
  3. 在客户端机器上,使用 RealVNC Viewer(或任何 VNC 客户端)连接到 Pi 的 IP 并进行身份验证。

如果你更喜欢 x11vnc(附着到正在运行的 X 服务器),安装它并创建一个 systemd 服务以保证重启后仍然运行:

sudo apt install x11vnc
x11vnc -storepasswd /etc/x11vnc.pass
sudo tee /etc/systemd/system/x11vnc.service <<EOF
[Unit]
Description=x11vnc service
After=graphical.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -forever -usepw -display :0

[Install]
WantedBy=graphical.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable --now x11vnc

选项 B — 通过 xrdp 提供虚拟桌面(RDP 客户端)

xrdp 为 Windows 的远程桌面和许多 RDP 客户端提供兼容性。当你希望使用独立会话而不是附着到物理显示时,它是常见的选择。

  1. 安装 xrdp:sudo apt install xrdp -y
  2. 启用并启动服务:sudo systemctl enable --now xrdp
  3. 默认情况下,xrdp 使用系统的 X 服务器二进制启动 Xorg 会话。如果你的 Pi 使用带合成器的 Wayland 或非标准设置,xrdp 可能需要调整——见下面的故障排查。
  4. 从 Windows 客户端使用 Remote Desktop(mstsc)连接,或从 macOS/Linux 使用 Remmina、FreeRDP 或 Microsoft Remote Desktop for macOS。

安全:不要忽视这部分(网络暴露、认证与加固)

如果随意地将远程桌面服务器暴露到互联网,会带来安全风险。在转发端口之前,请考虑更安全的方案和加固步骤:

  • 优先使用反向连接或 VPN,而不是打开 TCP 端口。如果确实要完全避免端口转发,参见我们的 remote-desktop-without-port-forwarding 文章,了解使用中介或 P2P NAT 穿越的模式。
  • 始终更改默认的 pi 用户密码,并考虑为远程会话创建受限的专用账户。
  • 尽可能使用 SSH 隧道远程桌面连接:ssh -L 5901:localhost:5900 user@pi.address,然后把你的 VNC 客户端指向 localhost:5901
  • 启用并配置 UFW(简单防火墙):
sudo apt install ufw -y
sudo ufw allow from 192.168.1.0/24 to any port 5900 proto tcp  # LAN VNC only
sudo ufw allow ssh
sudo ufw enable
  • 使用 fail2ban 限制对 SSH/RDP/VNC 端口的暴力破解尝试。
  • 优先使用基于密钥的 SSH 进行文件与 shell 访问;如果可能,禁用密码 SSH。
  • 对于云端/中介解决方案,核实厂商的隐私/安全策略。对于自托管,参见我们的 self-hosted-remote-desktop-guide,了解架构与权衡。

给出一个有倾向性的建议:对于面向互联网的远程访问且不想自己运行 VPN,反向连接中介(RustDesk、Tenvo 或商业中介)通常是摩擦最小的一条路。Tenvo 是一个开源选项,你可以评估——下载构建位于 /download,我们在 /pricing 记录了托管与自托管的定价与选项。另请阅读我们的 remote-desktop-security 文章以获取更深入的加固建议。

性能调优:让 Pi 的远程体验更流畅

远程桌面的响应性取决于三点:Pi 上的 CPU/GPU、网络带宽/延迟,以及所用的协议/编码器。以下实用调整通常有帮助:

  • 降低分辨率与色深。对于低带宽连接,1024x768、16 位色通常比 1920x1080、32 位色更流畅。
  • 禁用桌面效果与合成器动画。在 Raspberry Pi OS(LXDE/Pi Desktop)上需要时可切换到更轻量的窗口管理器。
  • 为你的使用场景选择合适的 VNC 服务器编码:RealVNC 的内置编码对 Pi 硬件有优化;TigerVNC 在某些 X11 工作负载下可能更快。
  • 优先使用有线千兆以太网——与 Wi‑Fi 比较,它能减少抖动。对于跨互联网访问,目标带宽至少为 5–10 Mbps 以获得相对顺畅的桌面;低于约 1–2 Mbps 时会出现明显延迟和压缩伪影。
  • 对于视频或大量摄像头场景,测试 H.264 硬件加速选项。某些 VNC/RDP 实现或商业工具会利用 Pi 的硬件编码器;效果随软件与 Pi 型号而异。

常见问题排查

  • 连接时空白屏幕:如果 Pi 没有 HDMI 显示器,强制在 /boot/config.txt 中设置 HDMI 模式(见上文)。确保显示管理器正在运行(lightdm、gdm)。
  • 光标黑屏或乱码:在 VNC 中切换“仅查看”与“共享”模式,或如果 RealVNC 在你的合成桌面上表现异常,尝试 x11vnc。
  • xrdp 无法启动桌面:检查 /var/log/xrdp-sesman.log 并考虑安装替代的会话脚本。有些用户通过在 ~/.xsession 中添加 startlxde 或相应的桌面启动命令来显式设置会话为 Xorg。
  • 高 CPU 占用:检查合成效果、Chromium 或 GPU 密集型标签页,或错误配置的 VNC 编码器。降低屏幕分辨率或色深后再测试。
  • 认证失败:验证 PAM 与用户权限;对于 xrdp,确保用户有有效的 shell 和主目录,且 SELinux/AppArmor 未阻止会话。

何时使用自托管或中介云解决方案(以及专有工具的优势所在)

如果你能控制两端网络(如办公室局域网到同网段的 Pi,或通过 VPN 连接),局域网方案(通过 VPN 的 VNC/RDP)干净且快速。如果需要穿透防火墙且不想管理 VPN 或 NAT 规则,中介反向连接很方便。

商业解决方案如 TeamViewer 和 AnyDesk 在跨网络反向连接、多平台客户端和专有优化方面非常成熟;对于非技术用户,它们通常是最快的可行方案。其权衡是许可费用与闭源。AnyDesk 和 TeamViewer 都提供个人免费等级;商业许可通常从每月几十美元起(请查看厂商网站以获取当前计划)。

开源替代项例如 RustDesk 和 Tenvo 允许你运行自己的信令/中继服务器,或使用社区托管的中继。如果你想要完全控制并获得可预测的经常性成本,自托管中介(或部署自己的 VPN)通常更可取。参阅我们的 self-hosted-remote-desktop-guide 比较架构与运维注意事项。

上线前的实用检查清单

  • 更改默认密码;如可能,创建专门的远程访问用户。
  • 如果 Pi 是无头的,强制 HDMI 模式以确保桌面始终可用。
  • 决定是否需要访问物理显示(使用 VNC/x11vnc)或需要隔离会话(使用 xrdp/TigerVNC)。
  • 通过防火墙规则限制访问,或通过 VPN/反向连接中介运行。如果你要避免端口转发,见 /remote-desktop-without-port-forwarding。
  • 启用日志记录,部署 fail2ban,并定期审查登录尝试——我们的 remote-desktop-security 文章有更多细节。

最后一个实用提示:即使 GUI 访问是主要目标,也要保留一条 SSH 访问通道。如果远程桌面服务出现问题,SSH 是查看日志并修复问题的救援通道。

总结——该选择哪条路线?

如果你想要最简单的局域网体验并且不需要互联网访问,在带有有线以太网并强制启用 HDMI 模式的 Pi 4 上启用 RealVNC 或 xrdp 即可。如果你需要跨网络访问而又不想管理端口转发,使用反向连接中介——可选商业中介(方便时选择 TeamViewer/AnyDesk)或如果你偏好自托管与可控性,则选 Tenvo 或 RustDesk 等开源中介。

有关逐步安装程序和客户端应用,请查看 Tenvo 的下载页面 /download 及有关定价/自托管选项的 /pricing。如果你在评估安全权衡与架构,请参阅我们的 remote-desktop-security 和 self-hosted-remote-desktop-guide 以帮助为你的用例选择合适的模型。

准备在你的 Pi 上试一试了吗?在 /download 下载 Tenvo 或你偏好的客户端,并在想要避免麻烦的端口转发时测试反向连接。如果遇到问题,我们的 /remote-desktop-without-port-forwarding 和 /remote-desktop-security 指南是不错的后续阅读。祝顺利——并保持 SSH 可用作为你的安全后路。

获取 Tenvo

准备自己试用吗?

免费支持 30 台设备,无需信用卡。两分钟内即可运行并连接。