远程无线查看并控制机载电脑显示画面的几种实现方法

在无人机、机器人、移动平台或外场测试场景中,经常需要在地面端远程查看机载电脑的桌面画面,并进行鼠标、键盘操作。例如查看视觉算法界面、调试 ROS 节点、检查日志、修改参数、重启程序等。

整体思路是:

text 复制代码
地面电脑 / 平板 / 笔记本
        |
   Wi-Fi / 机载热点 / 4G / 5G / VPN
        |
机载电脑(Ubuntu / Windows / Jetson / 工控机)

推荐组合:

  • 远程命令:SSH
  • 快速远控:ToDesk / RustDesk / AnyDesk
  • 局域网桌面:NoMachine / VNC / RDP
  • 视频画面:RTSP / WebRTC / GStreamer
  • 跨网段访问:Tailscale / ZeroTier / WireGuard

一、方案选择建议

场景 推荐方案 特点
希望快速上手 ToDesk / RustDesk / AnyDesk 类似远程协助软件,安装后用设备码和密码连接
国内网络环境、图形化操作 ToDesk 上手简单,支持 Windows、macOS、Linux、Android、iOS 等
局域网内远程桌面 NoMachine / VNC 适合机载 Wi-Fi 或机载路由器网络
Windows 机载电脑 RDP 远程桌面 Windows 原生,体验较好
Ubuntu / Jetson 图形界面 NoMachine / VNC / ToDesk Linux 支持较成熟
低延迟看视频流 RTSP / WebRTC / GStreamer 比远程桌面更适合摄像头画面
4G/5G 跨公网访问 Tailscale + SSH/NoMachine/ToDesk 避免复杂公网 IP 和端口映射

如果只是要远程看摄像头或算法输出,不一定要传整个桌面。可以单独推视频流,然后用 SSH 控制程序,这样延迟通常更低、带宽占用更可控。


二、基础网络准备

常见连接方式:

text 复制代码
方式 A:机载电脑连接地面路由器 Wi-Fi
方式 B:机载电脑自己开热点,地面电脑连接热点
方式 C:机载电脑使用 4G/5G,再通过 VPN 访问
方式 D:机载电脑和地面端都加入 Tailscale / ZeroTier

假设机载电脑 IP 是:

bash 复制代码
192.168.4.2

地面电脑先测试网络:

bash 复制代码
ping 192.168.4.2

如果能 ping 通,再继续配置 SSH 或远程桌面。局域网测试时建议给机载电脑固定 IP,例如:

text 复制代码
机载电脑:192.168.4.2
地面电脑:192.168.4.100
网关:192.168.4.1

三、方案 1:SSH 远程命令控制

SSH 适合执行命令、查看日志、启动程序、重启服务,但不能直接查看完整桌面。建议无论是否使用远程桌面,都先配置好 SSH。

1. 机载电脑安装 SSH 服务

Ubuntu / Jetson:

bash 复制代码
sudo apt update
sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh

查看 SSH 状态:

bash 复制代码
systemctl status ssh

查看机载电脑 IP:

bash 复制代码
ip addr

2. 地面电脑连接

Linux / macOS / Windows PowerShell 都可以:

bash 复制代码
ssh 用户名@192.168.4.2

例如:

bash 复制代码
ssh nvidia@192.168.4.2

3. 常用命令

查看日志:

bash 复制代码
journalctl -u your_service -f

查看进程:

bash 复制代码
ps aux | grep python

远程重启:

bash 复制代码
sudo reboot

四、方案 2:ToDesk 远程桌面

ToDesk 是国内常用的远程控制软件,适合"快速看屏幕并控制"的场景。它支持多平台,官网页面标注支持 Win、Mac、Linux、Android、iOS、鸿蒙等平台,也支持文件传输、多屏、隐私屏、外设映射等功能。

1. 下载并安装 ToDesk

官方下载地址:

text 复制代码
https://www.todesk.com/download.html

Windows 直接下载安装包。Ubuntu / Jetson 如果提供 .deb 安装包,可使用:

bash 复制代码
sudo apt install -fy ./todesk*.deb

如果是国产系统、ARM 平台或特殊 Linux 发行版,需要在下载页选择对应架构版本。

2. 在机载电脑上打开 ToDesk

打开后重点查看两项:

text 复制代码
设备代码
临时密码 / 安全密码

地面端连接时需要用到设备代码和密码。

3. 在地面电脑连接机载电脑

操作流程:

  1. 地面电脑安装并打开 ToDesk。
  2. 在"远程控制设备"中输入机载电脑的设备代码。
  3. 点击连接。
  4. 输入临时密码或预设安全密码。
  5. 连接成功后即可查看并控制机载电脑桌面。

4. 建议设置无人值守访问

外场调试时,机载电脑不一定有人操作,因此建议设置固定安全密码或无人值守访问:

text 复制代码
设置 -> 安全设置 -> 临时密码 / 安全密码 / 无人值守

不同版本菜单名称可能略有差异,以软件界面为准。

5. 适合场景

ToDesk 适合:

  • 想快速远程查看机载电脑桌面。
  • 地面端是 Windows,机载端是 Windows / Ubuntu / Jetson。
  • 不想配置 VNC、NoMachine、端口映射。
  • 机载电脑通过 4G/5G 上网,需要穿透 NAT。

注意:飞行关键控制不要依赖 ToDesk 这类远程桌面链路。它适合调试、监控、维护,不适合作为实时飞控链路。


五、方案 3:NoMachine 远程桌面

NoMachine 支持 Windows、macOS、Linux、Raspberry Pi、ARM 等平台,适合 Ubuntu、Jetson、工控机远程桌面控制。局域网内使用体验通常比普通 VNC 更流畅。

1. 机载电脑安装 NoMachine

官网下载:

text 复制代码
https://www.nomachine.com/download

Ubuntu / Jetson 常见安装方式:

bash 复制代码
sudo dpkg -i nomachine_*.deb
sudo apt -f install

查看服务:

bash 复制代码
sudo /usr/NX/bin/nxserver --status

2. 地面电脑连接

在地面电脑安装 NoMachine 后:

  1. 点击 Add 或输入机载电脑 IP。
  2. Host 填写 192.168.4.2
  3. Protocol 使用默认 NX
  4. Port 默认 4000
  5. 输入机载电脑系统用户名和密码。

连接成功后即可远程控制桌面。

如果连接失败,检查防火墙:

bash 复制代码
sudo ufw allow 4000/tcp

六、方案 4:RustDesk 远程桌面

RustDesk 类似 TeamViewer / AnyDesk,支持 Windows、macOS、Linux、Android、iOS 等平台。它可以使用公共服务器,也可以自建服务器。

1. 机载电脑安装 RustDesk

官方下载:

text 复制代码
https://rustdesk.com/

Ubuntu / Jetson 下载 .deb 后安装:

bash 复制代码
sudo apt install -fy ./rustdesk-版本号.deb

Windows 直接安装 .exe

2. 查看 RustDesk ID

打开 RustDesk 后,左侧通常会显示:

text 复制代码
ID
One-time Password

记录 ID 和密码。

3. 地面端连接

  1. 地面电脑打开 RustDesk。
  2. 输入机载电脑 RustDesk ID。
  3. 点击连接。
  4. 输入一次性密码或预设密码。
  5. 连接成功后即可远程控制桌面。

如果机载电脑和地面端在同一局域网内,一般不需要自建服务器;如果通过复杂 NAT 或公网连接,可以考虑自建 RustDesk Server。


七、方案 5:VNC 远程桌面

VNC 是经典远程桌面方案,适合局域网内远程查看 Linux/Windows 桌面。常见实现包括 TigerVNC、RealVNC、TightVNC、x11vnc。

1. Ubuntu 安装 x11vnc

x11vnc 适合共享当前真实桌面:

bash 复制代码
sudo apt update
sudo apt install x11vnc -y

设置访问密码:

bash 复制代码
x11vnc -storepasswd

启动:

bash 复制代码
x11vnc -usepw -forever -shared -display :0

2. 地面电脑安装 VNC Viewer

可选客户端:

  • RealVNC Viewer
  • TigerVNC Viewer
  • TightVNC Viewer
  • Remmina

连接地址:

text 复制代码
192.168.4.2:5900

3. 设置开机自启

创建 systemd 服务:

bash 复制代码
sudo nano /etc/systemd/system/x11vnc.service

写入:

ini 复制代码
[Unit]
Description=x11vnc remote desktop
After=display-manager.service

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -usepw -forever -shared -display :0
Restart=always
User=你的用户名

[Install]
WantedBy=multi-user.target

启用服务:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable x11vnc
sudo systemctl start x11vnc

VNC 默认端口通常是 5900

bash 复制代码
sudo ufw allow 5900/tcp

VNC 不建议直接暴露到公网。跨公网访问时建议走 Tailscale、WireGuard 或 SSH 隧道。


八、方案 6:Windows RDP 远程桌面

如果机载电脑是 Windows Pro / Enterprise,可以使用系统自带远程桌面。

1. 开启远程桌面

路径:

text 复制代码
设置 -> 系统 -> 远程桌面 -> 启用远程桌面

确认当前 Windows 用户有密码。RDP 通常不允许空密码登录。

2. 查看 Windows IP

PowerShell:

powershell 复制代码
ipconfig

找到无线网卡或以太网卡的 IPv4 地址。

3. 地面电脑连接

Windows 地面端:

text 复制代码
Win + R -> mstsc

输入:

text 复制代码
192.168.4.2

Linux 地面端可以使用 Remmina。RDP 默认端口是 3389,不要直接开放到公网。


九、方案 7:Tailscale 跨网段访问

如果机载电脑通过 4G/5G 上网,或者地面端和机载端不在同一个局域网内,直接用 IP 连接会比较麻烦。Tailscale 可以把多台设备组成一个虚拟局域网,底层基于 WireGuard。

适合组合:

text 复制代码
Tailscale + SSH
Tailscale + NoMachine
Tailscale + VNC
Tailscale + RDP

1. 机载电脑安装 Tailscale

Ubuntu / Jetson:

bash 复制代码
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

浏览器登录账号后,设备会加入你的 Tailscale 网络。

2. 地面电脑安装 Tailscale

下载:

text 复制代码
https://tailscale.com/download

登录同一个账号。

3. 查看机载电脑 Tailscale IP

机载电脑执行:

bash 复制代码
tailscale ip -4

假设输出:

text 复制代码
100.64.10.20

地面端可以通过这个 IP 连接:

bash 复制代码
ssh nvidia@100.64.10.20

NoMachine / VNC / RDP 也可以直接填这个 Tailscale IP。ToDesk 这类软件本身通常可穿透 NAT,但配合 Tailscale 能多一个备用链路。


十、如果只想看摄像头或算法画面

远程桌面会传整个屏幕,带宽和延迟不一定理想。如果只关心摄像头画面、检测结果、跟踪结果,可以单独推流。

1. RTSP

适合局域网视频查看,VLC、ffplay、网页播放器都可以接:

text 复制代码
rtsp://192.168.4.2:8554/live

2. WebRTC

适合低延迟浏览器观看,复杂度比 RTSP 高,但延迟更低。

3. GStreamer

机器人和视觉项目中很常见,可控性强:

bash 复制代码
# 机载端推流
gst-launch-1.0 ...

# 地面端接收
gst-launch-1.0 ...

4. ROS 图像传输

如果系统使用 ROS / ROS2:

bash 复制代码
rviz
rqt_image_view
ros2 topic echo
ros2 run image_tools showimage

这种方式更适合机器人调试,不一定需要完整远程桌面。


十一、实际推荐架构

局域网调试推荐

text 复制代码
地面笔记本
  | Wi-Fi
机载路由器 / 机载热点
  |
机载电脑 Ubuntu / Jetson

软件组合:

text 复制代码
SSH + NoMachine/ToDesk + RTSP

用途:

  • SSH:启动程序、查看日志、重启服务
  • NoMachine / ToDesk:查看桌面和操作 GUI
  • RTSP:查看摄像头或算法画面

4G/5G 远程调试推荐

text 复制代码
地面电脑
  |
互联网
  |
ToDesk 或 Tailscale / ZeroTier
  |
机载电脑 4G/5G

软件组合:

text 复制代码
ToDesk + SSH
Tailscale + SSH + NoMachine

ToDesk 更适合快速连接和图形界面操作;Tailscale 更适合建立稳定的工程维护通道。


十二、安全注意事项

  1. 不要把 VNC、RDP、NoMachine 端口直接暴露到公网。
  2. ToDesk、RustDesk、VNC、RDP 都要设置强密码。
  3. 飞行中的关键控制链路不要依赖远程桌面。
  4. 远程桌面适合调试、监控、维护,不适合作为实时飞控链路。
  5. 外场测试建议保留 SSH 作为兜底通道。
  6. 重要任务建议配置看门狗、开机自启和异常自动重启。
  7. 机载电脑尽量固定 IP,减少现场排查时间。
  8. 无人值守访问要控制权限,避免设备代码和密码泄露。

十三、总结

如果只是想快速实现"远程无线看机载电脑屏幕并操作",优先推荐:

text 复制代码
快速上手:ToDesk
局域网:NoMachine / VNC
跨公网:ToDesk 或 Tailscale + NoMachine
命令行维护:SSH
低延迟视频:RTSP / WebRTC

实际工程中不建议只依赖一种方式。比较稳妥的配置是:

text 复制代码
SSH 负责命令控制
ToDesk / NoMachine / VNC 负责桌面控制
RTSP / WebRTC 负责视频画面
Tailscale / WireGuard 负责跨网段访问

这样既方便远程操作,也能在网络条件不好时保留基本维护能力。


参考资料