屏幕共享无法连接到另一台 Mac
另一台 Mac 必须开启屏幕共享,并允许你的用户。两台 Mac 都必须处于唤醒状态、在同一网络上,并开放 5900 端口。
我的 Mac 出现了这个问题:屏幕共享无法连接到另一台 Mac。请阅读 https://kilobat.app/zh-hans/guides/screen-sharing-not-connecting-mac.md,并和我一起逐步处理。如果缺少 Kilobat CLI,请安装:brew install seifip/kilobat/kilobat。请你自己运行指南中的终端和 kilobat 检查,并告诉我发现了什么。列出只有我才能完成的步骤。更改任何设置之前先问我。
症状
- 另一台 Mac 没有出现在“屏幕共享”App 的“网络”下。
- 连接一直等待,然后失败。
- 你可以在一个网络上通过名称连接,但在另一个网络上不行。
- “高性能”选项没有出现,或会话回退。
可能的原因
- 另一台 Mac 上的屏幕共享已关闭。Apple 表示,你要访问的 Mac 必须开启屏幕共享或远程管理。
- 屏幕共享与远程管理冲突。Apple 表示,两者不能同时开启。
- 你的用户不被允许。该用户必须在另一台 Mac 上屏幕共享的访问列表中。
- 有一台 Mac 处于睡眠状态。Apple 表示,要确保两台 Mac 都不处于睡眠状态。
- 两台 Mac 在不同的网络上。Apple 表示,要确保两台电脑连接到同一个网络。
- 防火墙。Apple 表示,“阻止所有传入连接”会阻止对共享服务的连接。
- “高性能”需要更多条件。Apple 要求两台 Mac 之间有高带宽、低延迟,并开放 UDP 端口 5900、5901 和 5902。
如何检查
在另一台 Mac 上,选取苹果菜单 >“系统设置”>“通用”>“共享”。
查看“屏幕共享”和“远程管理”。只能开启其中一个。
点按“屏幕共享”旁边的信息按钮,查看“允许访问”。
确认两台 Mac 都处于唤醒状态并在同一网络上。
在另一台 Mac 上,显示防火墙是否阻止所有传入连接。
/usr/libexec/ApplicationFirewall/socketfilterfw --getblockall在你的 Mac 上,测试 5900 端口是否有应答。使用另一台 Mac 的 IP 地址。
nc -vz -G 5 192.168.1.20 5900
如何修复
如果“远程管理”已开启而你要使用“屏幕共享”,请先关闭“远程管理”。
打开“屏幕共享”。
在“允许访问”中,选择“所有用户”,或将你的用户添加到“仅这些用户”。
更改另一台 Mac 的睡眠设置,让它保持唤醒。
如果“阻止所有传入连接”已开启,请在“网络”>“防火墙”>“选项”中将其关闭。
将两台 Mac 连接到同一个网络,然后打开“屏幕共享”App。
点按“新建连接”按钮,输入另一台 Mac 的主机名。
要使用“高性能”,请按 Apple 的建议使用有线网络连接。
使用 Kilobat
测试到 5900 端口的 TCP 连接。读取 IPv4 那一行。它会显示已连接、被拒绝或无应答。
kilobat why 192.168.1.20:5900该检查随后会尝试安全网页连接。屏幕共享不使用它,所以请忽略这一步。
检查此网络上的设备能否互相看到。有些访客网络会将它们隔离。
kilobat local check列出 Mac 最近通信过的设备及其 Bonjour 名称。
kilobat devices --bonjour在出现卡顿的会话之后,Kilobat 会写出带有原因的报告。显示远程桌面的报告。
kilobat remote --kind desktop
常见问题
屏幕共享使用哪些端口?
Apple 列出屏幕共享使用 TCP 和 UDP 端口 5900。“高性能”还需要 UDP 5901 和 5902。
我可以同时使用屏幕共享和远程管理吗?
不可以。Apple 表示,只能开启其中一个。Apple 表示,两者中的任一个都能让你共享屏幕。
为什么没有“高性能”?
Apple 表示,它需要两台 Mac 都搭载 Apple 芯片并运行 macOS Sonoma 14 或更高版本。每台 Mac 一次只能运行一个会话。
参考资料
- Apple 支持:在 Mac 上打开或关闭屏幕共享
- Apple 支持:共享另一台 Mac 的屏幕
- Apple 支持:如果你无法共享 Mac 电脑的屏幕
- Apple 支持:Mac 上的屏幕共享类型选项
- Apple 支持:Apple 软件产品所使用的 TCP 和 UDP 端口
- Apple 支持:在 Mac 上更改防火墙设置
- nc(1) 和 socketfilterfw(8),随 macOS 27.2 安装的手册页
核对于 2026 年 11 月 7 日。