返回博客
VNC Client6 min read

Mac 开启 VNC:让 Windows、iPad 连进你的 Mac

macOS 自带 VNC 服务端,不需要装任何软件。要在设置里打开它,并且分清两套密码,五分钟就能连上。

这篇讲的是「被连的那台 Mac」怎么设置。如果你要的是在 Mac 上连别人的机器,那份对比在 Mac VNC 客户端怎么选。

三步开启屏幕共享

macOS 屏幕共享里的已保存连接列表

  1. 系统设置 → 通用 → 共享,打开「屏幕共享」
  2. 点右边的信息按钮,在「允许访问」里选「仅这些用户」,把要用的账号加进去
  3. 同一页点「电脑设置」,勾选「VNC 查看程序可使用密码控制屏幕」,设一个 VNC 密码

第三步是给非 Mac 客户端用的。只用 Mac 连 Mac,可以跳过;一旦要用 Windows、iPad 或者第三方 VNC 工具,必须打开。

两套密码,别混

凭据 用在哪 怎么改
macOS 账号密码 Mac 自带屏幕共享、Apple 远程管理 系统设置 → 用户与群组
VNC 密码 第三方 VNC 客户端 共享 → 屏幕共享 → 电脑设置

八成的「密码明明是对的却连不上」都出在这里:客户端连的是 VNC 服务,等的是 VNC 密码,输的却是登录密码。两套凭据互相独立,VNC 密码不会随登录密码一起改。

macOS 共享面板里的屏幕共享开关,与 VNC 客户端的地址输入框

判断方法很简单:看客户端的登录框有几个字段。只有一个密码框的,走的是 VNC 密码;用户名和密码都要填的,走的是账户凭据。

另外一个互斥关系要记住:屏幕共享和远程管理不能同时开。开了远程管理,屏幕共享会被系统关掉,设置项也会变灰。

从 Windows 连进来

Windows 没有内置 VNC 客户端,需要装一个:

  • RealVNC Viewer:个人非商业用途免费,8.4 版本起要登录账号
  • TightVNC Viewer:完全免费,界面旧但够用
  • UltraVNC:支持文件传输和聊天,配置项多

连接地址填 192.168.1.20:5900,端口是 VNC 默认的 5900。同一台 Mac 的第二块屏从 5901 开始,依次递增。

从 iPad 或 iPhone 连进来

Apple 没有提供原生客户端,需要第三方应用:

  • Screens:Apple 生态里体验最完整的一个,支持触控板手势和 Apple Pencil
  • Jump Desktop:RDP 和 VNC 都能连,自带中继服务
  • RealVNC Viewer:免费方案,够临时用

移动端要注意一点:外接键盘和鼠标会让长时间操作舒服很多,纯触控适合看一眼、点两下的场景。

从另一台 Mac 连进来

最快的方式是地址栏或 Spotlight 里输入:

vnc://192.168.1.20

系统会用「屏幕共享」App 打开连接。如果两台都是 Mac,且被控那台是 Apple 芯片、系统在 macOS 14 以上,连接时会出现「高性能」选项,它用硬件编码,画面和延迟都明显更好。

端口、防火墙与唤醒

  • VNC 走 TCP 5900,防火墙需要放行「屏幕共享」这个服务,通常默认已允许
  • 笔记本合盖会断连;在「电池 / 节能」里打开「唤醒以供网络访问」
  • 目标是桌面 Mac 时,把「电脑睡眠」设为永不或较长时间,否则连上去会看到黑屏
  • 连上后如果只看到登录窗口,说明没有用户登录,输密码即可进入桌面

跨网访问:不要把 5900 开到公网

VNC 的认证强度取决于实现,不少客户端只校验一个短密码,键盘输入也不加密。把 5900 直接映射到公网,等于把桌面交给扫描器。两种更稳妥的做法:

  • 私有网络:两边装 Tailscale 或用公司 VPN,连内网地址即可
  • SSH 隧道:先 ssh -L 5901:localhost:5900 user@mac,再让客户端连 localhost:5901,加密交给 SSH

跨网还要算一笔流量账。同样是 1080p30,按每工作日 8 小时、每月 22 天折算:

远程桌面按天使用折算出的月流量

不压缩是 157 TB 这个量级,就算压到 50:1 仍有 3 TB 出头。这解释了为什么在移动网络下要把分辨率和帧率降下来:不是客户端在偷懒,是链路真的不够。

第二种只需要开着 22 端口,适合临时排查。连不上时按VNC 连不上的排查顺序逐层检查,比反复换客户端快。

常见问题

开了屏幕共享,VNC 客户端还是连不上?

先确认「VNC 查看程序可使用密码控制屏幕」已勾选,并设了 VNC 密码。只开屏幕共享、不设 VNC 密码时,第三方客户端无法认证。

屏幕共享选项是灰的,点不动?

远程管理正在占用这个服务。关闭远程管理后,屏幕共享就能打开。两者在 macOS 上是互斥的。

需要一直开着「允许任何人请求控制屏幕」吗?

不需要,也不建议。选「仅这些用户」,把具体账号加进去更安全。允许任何人只适合临时协助的场景。

连接后画面很卡,能改善吗?

局域网内优先用高性能模式(Apple 芯片 + macOS 14 以上);跨网时先看带宽和延迟,VNC 对丢包很敏感,带宽够但延迟高的情况下,降低色深比换客户端有效。

可以让多个人同时连同一台 Mac 吗?

可以,但所有人看到的是同一个桌面,操作会互相干扰。需要各自独立桌面时,VNC 不是合适的方案,应该用远程桌面会话或者虚拟机。

继续阅读

DartShell

想要更高效的远程运维体验?

DartShell 在一套 macOS 原生体验里统一了 SSH、RDP、VNC、SFTP 和串口,帮你减少工具切换和重复配置。

Download DartShell