VNC Viewer Direct 直连——IP 地址 + 端口号的裸连接
什么时候用
Direct 直连是最原始、最轻量的 VNC 连接方式——Viewer 直接发 TCP 包到 Server 的 IP + VNC 端口,中间不经过 RealVNC Cloud、不需要 RealVNC 账号。
适用场景:
- 同一局域网内的临时连接(电脑连树莓派、办公网里帮同事调电脑)
- 远程设备装的不是 RealVNC Server(比如 TightVNC、TigerVNC、Ubuntu 自带的 x11vnc)
- 不想注册 RealVNC 账号、或设备没网连不上 RealVNC Cloud
连接写法
打开 VNC Viewer,在顶部搜索框里输入:
<IP 地址>:<端口>
- 默认端口是 5900——如果 Server 监听的是默认端口,可以省略不写,只填 IP
- 非默认端口要显式写:
192.168.1.100:5901(Ubuntu 默认的 x11vnc 常跑在 5901) - Linux VNC Server 也可以用 display number 简写:
192.168.1.100:1等价于192.168.1.100:5901 - 主机名也行:
raspberrypi.local:0(前提是你的局域网能解析 mDNS)
树莓派最常见的直连
Raspberry Pi 上开启了 VNC Server(桌面右上角 RealVNC 图标亮着),它的 IP 可以在路由器后台查、或者 arp -a 在 Windows 命令行找。
找到 IP 后,VNC Viewer 里直接输入 raspberrypi.local:0(或者实际 IP,比如 192.168.31.42:5900)就能进树莓派桌面。不需要任何账号登录,只要树莓派的 VNC Server 设过密码(默认首次开启树莓派 VNC 时会提示设密码)。

跨公网直连怎么办
Direct 模式跨公网需要两步:
- 在被控制设备的路由器上做端口映射——把公网 IP 的某个端口(比如 5900)转发到内网树莓派的
5900 - Viewer 端输入
<公网 IP>:5900
强烈建议跨公网直连时叠加 SSH 隧道:
- 先在 Viewer 端用 SSH 连远程设备,本地监听一个端口转发到远程的
5900 - 然后 VNC Viewer 里连
localhost:5900——流量走 SSH 加密通道,外面即使抓包也看不到内容
安全风险
Direct 模式下 RealVNC Viewer 不强制加密——连接内容默认是明文的:
- 局域网内风险不大,但在任何公共网络(咖啡馆 WiFi)上不要用 Direct 模式裸连
- RealVNC Connect Server 支持在 Options → Security 里强制 TLS,Viewer 端 Preferences 里勾 "Encrypt session traffic" 即可开启
- 最佳实践:跨公网 → 用 Cloud 云连接;LAN 裸连 → 也考虑开 TLS
与 Cloud 云连接对比
见 Cloud 云连接 页尾的对比表。一句话总结:能用 Cloud 就别用 Direct——Cloud 有端到端加密、自动发现、会话录制、MFA,Direct 有的只是 IP + 端口。