现已支持 macOS Ventura
请访问原文链接:不受支持的 Mac 上的通用控制,查看最新版。原创作品,转载请保留出处。
作者主页:www.sysin.org
本文为 在不受支持的 Mac 上安装 macOS Ventura、Monterey、Big Sur (OpenCore Legacy Patcher) 的补充章节。2023-01-07,现已更新支持 Ventura。
如果说 macOS 10 系列升级到 macOS Big Sur 的首要理由是卓越的现代用户界面,那么 Big Sur 升级到 Monterey 的首要理由就是 “通用控制”。Ventura 继续保持该卓越特性并向下兼容。
通用控制:使用同一键盘和鼠标操控 Mac 和 iPad
使用 Mac 的键盘、鼠标或触控板可控制附近的最多两台其他 Mac 或 iPad 设备,并在它们之间无缝操控。

使用“通用控制”时,每台设备都会显示自己的屏幕和 App,但你只需使用一个键盘、鼠标或触控板,即可在设备之间移动指针,向不同设备中键入内容,甚至在设备之间拷贝内容。
如果你希望通过 iPad 来扩展或镜像 Mac 桌面,请使用“随航”功能。
2022 年 3 月 15 日凌晨推送的 macOS Monterey 12.3 是一个重大更新,它引入了 Universal Control(通用控制),这是 Apple 首先在 WWDC 上公布的一项功能,然后推迟了几个月。Universal Control 旨在让您使用单个鼠标、触控板和键盘控制多台 Mac 和 iPad(运行 iPadOS 15.4 及以上版本的 iPad),并且通过拖放方式在不同设备之间传输文件 (sysin)。
将您的设备更新到 macOS 12.3 和 iPadOS 15.4 后,Universal Control 会自动启用(设置选项:系统偏好设置 > 显示器,“通用控制…” 按钮),允许您的 Mac 的光标和键盘在 iPad 上工作,反之亦然。使用起来简单直观(除了 Mac+iPad,Mac+Mac 也可以。至少有一台 Mac,可以同时控制多台 Mac 和 iPad)。
macOS Monterey 12.4 中的通用控制已经没有 beta 字符,正式发布。
官方系统要求:通用控制要求所有设备在各自的硬件上运行 iPadOS 15.4 和 macOS Monterey 12.3 或更高版本才能工作。适用于 MacBook Pro (2016 年及后续机型)、MacBook (2016 年及后续机型)、MacBook Air (2018 年及后续机型)、iMac (2017 年及后续机型)、iMac (27 英寸配备 5K 视网膜显示屏,2015 年末机型)、iMac Pro、Mac mini (2018 年及后续机型) 和 Mac Pro (2019 年机型);以及 iPad Pro、iPad Air (第三代及后续机型)、iPad (第六代及后续机型)和 iPad mini (第五代及后续机型)。两台设备均须使用同一个 Apple ID 通过双重认证登录 iCloud。若要无线使用此功能,则两台设备均须开启蓝牙、无线局域网和接力功能,相互之间距离不得超过 10 米 (30 英尺),且 iPad 和 Mac 不可共享同一蜂窝网络或互联网连接。若要通过 USB 连接线使用此功能,则必须在 iPad 上选择信任 Mac 设备。
本文介绍的是在不受支持的 Mac 机型上启用 “通用控制”。
Universal Control 在 macOS Monterey 中引入,是一项允许 Mac 控制其他 Mac 和/或 iPad、共享输入设备以及同时在它们之间共享文件的功能。借助 OpenCore 和 FeatureUnlock,只要符合技术要求 (sysin),即可为大多数不受支持的 Mac 解锁 Universal Control。
前提条件:在不受支持的 Mac 上安装 macOS Ventura、Monterey、Big Sur (OpenCore Legacy Patcher)
如果系统满足所有要求,在大多数情况下,可以转系统偏好设置中的显示器并勾选通用控制设置来启用它。如果您打算在 iPad 上使用 Universal Control,请确保在 iPad 上也启用 Universal Control。
| 显示器(系统偏好设置) | 通用控制设置 |
|---|---|
![]() |
![]() |
Ventura:系统设置 - 显示器,“高级…” 按钮。
大多数 Mac 2011 及更高版本应该可以开箱即用 (sysin)。但是,像 2008-2011 MacBook Pro 这样的旧 Mac 需要升级到更新的 Wi-Fi/蓝牙卡。参看下文描述。
一些 Monterey 原生机型被列入黑名单,请查看下文列入黑名单的机型部分了解更多信息。
技术要求:
检查下述型号列表确认是否需要升级硬件 (sysin),以及有问题的 Mac 确切地需要更改哪些硬件。
其他需求:
此表显示了哪些型号支持和不支持开箱即用 (OOB) 的通用控制 (UC) 以及获得支持所需的条件。
Spoofing 意为欺骗或者仿冒,本文使用原词汇,不再翻译。
| SMBIOS | Wi-Fi/BT version | UC OOB | Comment |
|---|---|---|---|
| MacBook4,1 | Wi-Fi 4 / BT 2.0 EDR | NO | 使用 Mac Pro Wi-Fi 升级套件升级到 BCM94360 |
| MacBook5,1 | |||
| MacBook5,2 | Wi-Fi 4 / BT 2.1 EDR | ||
| MacBook6,1 | 升级到 BCM94360 | ||
| MacBook7,1 | |||
| MacBook8,1 | Wi-Fi 5 + BT 4.0 | YES | Universal Control 工作正常 |
| SMBIOS | Wi-Fi/BT version | UC OOB | Comment |
|---|---|---|---|
| MacBookAir2,1 | Wi-Fi 4 / BT 2.1 EDR | NO | 将卡更换为 BCM94360 并断开/禁用 BT 模块 |
| MacBookAir3,1 | |||
| MacBookAir3,2 | |||
| MacBookAir4,1 | Wi-Fi 4 + BT 4.0 | YES | Universal Control 工作正常 |
| MacBookAir4,2 | |||
| MacBookAir5,1 | |||
| MacBookAir5,2 | |||
| MacBookAir6,1 | Wi-Fi 5 + BT 4.0 | ||
| MacBookAir6,2 | |||
| MacBookAir7,1 | NO | 硬件支持 UC,需要 Spoofing (sysin) | |
| MacBookAir7,2 |
| SMBIOS | Wi-Fi/BT version | UC OOB | Comment |
|---|---|---|---|
| MacBookPro4,1 | Wi-Fi 4 / BT 2.1 EDR | NO | 使用 Mac Pro Wi-Fi 升级套件升级到 BCM94360 |
| MacBookPro5,1 | 升级到 BCM94331 需要对机箱硬件进行一些重大修改,因此请改用 USB BT 4.0 连接 | ||
| MacBookPro5,2 | |||
| MacBookPro5,3 | |||
| MacBookPro5,4 | |||
| MacBookPro5,5 | |||
| MacBookPro6,1 | |||
| MacBookPro6,2 | |||
| MacBookPro7,1 | |||
| MacBookPro8,1 | Wi-Fi 4 + BT 2.1 EDR | 升级到 BCM94331 | |
| MacBookPro8,2 | |||
| MacBookPro9,1 | Wi-Fi 4 + BT 4.0 | YES | Universal Control 工作正常 |
| MacBookPro9,2 | |||
| MacBookPro10,1 | |||
| MacBookPro10,2 | |||
| MacBookPro11,1 | Wi-Fi 5 + BT 4.0 | ||
| MacBookPro11,2 | |||
| MacBookPro11,3 | |||
| MacBookPro11,4 | Wi-Fi 5 + BT 4.2 | NO | 硬件支持 UC,需要 Spoofing (sysin) |
| MacBookPro11,5 | |||
| MacBookPro12,1 |
| SMBIOS | Wi-Fi/BT version | UC OOB | Comment |
|---|---|---|---|
| Macmini3,1 | Wi-Fi 4 + BT 2.1 EDR | NO | 升级需要对机箱硬件进行一些重大修改,因此请改用 USB BT 4.0 连接 |
| Macmini4,1 | 升级到 BCM94360 | ||
| Macmini5,1 | Wi-Fi 4 + BT 4.0 | YES | Universal Control 工作正常 |
| Macmini5,2 | |||
| Macmini5,3 | |||
| Macmini6,1 | |||
| Macmini6,2 | |||
| Macmini7,1 | Wi-Fi 5 + BT 4.0 | NO | 硬件支持 UC,需要 Spoofing (sysin) |
| SMBIOS | Wi-Fi/BT version | UC OOB | Comment |
|---|---|---|---|
| iMac7,1 | Wi-Fi 4 + BT 2.0 EDR | NO | 使用 Mac Pro Wi-Fi 升级套件升级到 BCM94360(BT 需要焊接) |
| iMac8,1 | |||
| iMac9,1 | Wi-Fi 4 / BT 2.1 EDR | ||
| iMac10,1 | |||
| iMac11,1 | |||
| iMac11,2 | |||
| iMac11,3 | |||
| iMac12,1 | |||
| iMac12,2 | |||
| iMac13,1 | Wi-Fi 4 + BT 4.0 | YES | Universal Control 工作正常 |
| iMac13,2 | |||
| iMac13,3 | |||
| iMac14,1 | Wi-Fi 5 + BT 4.0 | ||
| iMac14,2 | |||
| iMac14,3 | |||
| iMac14,4 | |||
| iMac15,1 | |||
| iMac16,1 | Wi-Fi 5 + BT 4.2 | NO | 硬件支持 UC,需要 Spoofing (sysin) |
| iMac16,2 |
| SMBIOS | Wi-Fi/BT version | UC OOB | Comment |
|---|---|---|---|
| MacPro3,1 | Wi-Fi 4 + BT 2.0 EDR | NO | 使用 Mac Pro Wi-Fi 升级套件升级到 BCM94360 |
| MacPro4,1 | Wi-Fi 4 + BT 2.1 EDR | 使用 Mac Pro Wi-Fi 升级套件升级到 BCM94360(BT 需要焊接) | |
| MacPro5,1 | |||
| MacPro6,1 | Wi-Fi 5 + BT 4.0 | 硬件支持 UC,需要 Spoofing (sysin) |
以下型号被 Apple 列入了使用 Universal Control 的黑名单:
这些型号中的硬件是有能力的,但由于列入黑名单,在上述型号上使用 Universal Control 的唯一解决方案是仿冒他们的 SMBIOS。SMBIOS Spoofing 本质上绕过了 macOS 的某些检测 (sysin),使其认为它们在不同的机器上运行。
通过 SMBIOS Spoofing,Universal Control 握手可以识别不同的 SMBIOS,从而允许列入黑名单的 Mac 连接到具有 Universal Control 的其他 iPad 和 Mac。
| 使用场景 | 健康状况 | 解决方案 |
|---|---|---|
| Mac <-> Mac 连接 | Monterey-unsupported | 无需 Spoofing |
| Mac <-> iPad 连接 | Monterey-unsupported | 无需 Spoofing |
| Mac <-> Mac 连接 | 一个或两个都被列入黑名单 | 列入黑名单的 Mac 需要 Spoofing |
| Mac <-> iPad 连接 | Mac 被列入黑名单 | 列入黑名单的 Mac 需要 Spoofing |
警告
在继续之前,请记住 SMBIOS Spoofing 是 OpenCore 的一项高级功能,如果不计后果地使用它,可能会搞砸事情并导致安装的系统无法正常工作。一旦启动进入 Spoofing 状态,强烈建议保持 Spoofing 状态,并避免在没有 OpenCore 的情况下启动 macOS。
Ventura 放弃了更多型号,其中包括所有列入黑名单的 Mac,这使得程序略有不同。请务必遵循您所使用版本的指南,否则可能会导致启动问题。
首先运行 OpenCore Legacy Patcher 的 GUI 版本。转到 Settings,然后转到 SMBIOS Settings,将 SMBIOS Spoof Level 设置为 Moderate。将 SMBIOS Spoofing 机型设置为下表中对应的 Spoof SMBIOS 机型。
⚠️ 请注意,与 Monterey 不同,无需勾选 “Allow native models" 与 “Allow Native Spoofs”。它们不再与 Ventura 相关,启用它们会导致启动问题。
| Settings 视图 | SMBIOS Settings |
|---|---|
![]() |
![]() |
使用原生 Ventura 支持的任何型号 Spoofing 都应该有效,但是为了简单起见,选择这些 Ventura 原生支持的最早的 Mac。
提醒:未在此表中列出的 Mac 可以在没有 Spoofing 的情况下工作,包括不原生支持 Ventura 系统的,只要满足其他要求,因为它们没有被列入黑名单。
| Mac by name | Native SMBIOS | Spoof SMBIOS | Tested | Tested by |
|---|---|---|---|---|
| MacBook Air Early 2015 11" / 13" | MacBookAir7,x | MacBookAir8,1 | NO | N/A |
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro14,1 | ||
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro14,3 | ||
| iMac Late 2015 21" | iMac16,x | iMac18,2 | ||
| Mac mini Late 2014 | Macmini7,x | MacMini8,1 | NO | N/A |
| Mac Pro Late 2013 | MacPro6,x | MacPro7,1 | NO | N/A |
再次构建并安装 OpenCore,重新启动回到操作系统,然后启用通用控制(见文中上述章节)。
现在应该会提示您通过 Mac 重新登录 iCloud。这意味着您成功了,否则,请验证您是否正确执行了上面列出的步骤。
首先,运行 OpenCore Legacy Patcher 的 GUI 版本,进入 Settings 并勾选 Allow native models。
注意: 除非您在与目标不同的机器上构建 OpenCore,否则不要在此主设置视图中更改机型。重要的是要了解 OpenCore Legacy Patcher 以该机型为目标 (sysin),无论您可能 Spoofing 了什么,因为您的 Mac 仍然是 Native SMBIOS 显示的内容。
其次,进入 SMBIOS Settings,勾选 Allow Native Spoofs,将 SMBIOS Spoof Level 设置为 Moderate。将 SMBIOS Spoofing 机型设置为 下表中对应的 Spoof SMBIOS 机型。
| Settings 视图 | SMBIOS Settings |
|---|---|
![]() |
![]() |
应该支持官方黑名单 Mac 列表之外的任何型号,但为了简单起见,应该选择这些是最早支持 Universal Control 的 Mac。
提醒:未在此表中列出的 Mac 可以在没有 Spoofing 的情况下工作,包括不原生支持 Monterey 系统的,只要满足其他要求,因为它们没有被列入黑名单。
| Mac by name | Native SMBIOS | Spoof SMBIOS | Tested | Tested by |
|---|---|---|---|---|
| MacBook Air Early 2015 11" / 13" | MacBookAir7,x | MacBookAir8,1 | YES | Hzlph |
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro13,1 | ||
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro13,3 | ||
| iMac Late 2015 21" | iMac16,x | iMac18,2 | ||
| Mac mini Late 2014 | Macmini7,x | MacMini8,1 | YES | Shawn |
| Mac Pro Late 2013 | MacPro6,x | MacPro7,1 | YES | Crystall1nedev |
再次构建并安装 OpenCore,重新启动回到操作系统,然后启用通用控制(见文中上述章节)。
现在应该会提示您通过 Mac 重新登录 iCloud。这意味着您成功了,否则,请验证您是否正确执行了上面列出的步骤。
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que
我想将我的MacSnowLeopardruby从1.8.7升级到1.9.1版本,有人知道轻松且最好的升级方法吗?因为我读了一些论坛/帖子/博客/讨论说覆盖苹果发布的ruby不好将Rails从版本2.2.2升级到2.3.8的最佳方法是什么?因为我找到的所有信息都仅适用于豹/老虎,而且很少有关于雪豹的复杂文章。他们还说覆盖apple提供的rails不好吗。谁能帮帮我?谢谢。 最佳答案 DanBenjamin有一些greatinstructionsforcompilingandinstallingRuby,RubyGemsandRai
我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案
说在前面这部分我本来是合为一篇来写的,因为目的是一样的,都是通过独立按键来控制LED闪灭本质上是起到开关的作用,即调用函数和中断函数。但是写一篇太累了,我还是决定分为两篇写,这篇是调用函数篇。在本篇中你主要看到这些东西!!!1.调用函数的方法(主要讲语法和格式)2.独立按键如何控制LED亮灭3.程序中的一些细节(软件消抖等)1.调用函数的方法思路还是比较清晰地,就是通过按下按键来控制LED闪灭,即每按下一次,LED取反一次。重要的是,把按键与LED联系在一起。我打算用K1来作为开关,看了一下开发板原理图,K1连接的是单片机的P31口,当按下K1时,P31是与GND相连的,也就是说,当我按下去时
我有一个.pfx格式的证书,我需要使用ruby提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o
在我的Character模型中,我添加了:字符.rbbefore_savedoself.profile_picture_url=asset_path('icon.png')end但是,对于数据库中已存在的所有角色,它们的profile_picture_url为nil。因此,我想进入控制台并遍历所有这些并进行设置。在我试过的控制台中:Character.find_eachdo|c|c.profile_picture_url=asset_path('icon.png')end但这给出了错误:NoMethodError:undefinedmethod`asset_path'formain:O