零显示器环境下的 Sidecar 全自动方案
关键词:Mac mini、iPad、Sidecar(随航)、BetterDisplay、AppleScript、自动化
一、故事的开头——“我的 Mac mini 没地方看”
事情是这样的:我要离家出走(误,其实是去外边住一段时间),行李箱太小了,我又只有一个Mac Mini,所以只能带着这台小巧玲珑的 Mac mini M4。
可 Mac mini 这玩意儿,浑身上下只有一个致命缺点——它没有自带屏幕。
带显示器?算了吧,行李箱表示已经喘不过气。
既然手里还有一台 iPad,何不把它捣鼓成 Mac 的主显示器?
于是,一套“零显示器点亮 Mac mini”的 Sidecar 自动化方案就此诞生。
整个配置步骤大概能在 15 分钟内搞定!
二、最终的效果
- 开机后全自动:Mac mini 自己跑脚本,把 iPad 当成主屏点亮。
- 一键复活:Sidecar 失联?按下全局快捷键秒连。
- 全程无外接显示器:“轻装上阵”,背包再也不用塞 HDMI 线和扛着一个显示器。
三、工具清单
硬件:
- 一台支持 Sidecar 的 iPad(iPadOS 13 以上都行)。
- 一台 Mac mini(macOS Ventura / Sonoma 及以上)。
- 一个能配对的蓝牙键盘(鼠标/触控板可选但强烈推荐)。
- 第一次配置时需要临时接入显示器 1 次,后面就可以收进柜子吃灰了。
软件方面:
- BetterDisplay(开源 + 免费,负责虚拟显示器)
- macOS 自带“自动化”(Automator)
- 下方提供的 AppleScript 脚本
四、正式开工
1. 找到你的 iPad 名字(非常关键)
脚本需要精确匹配 iPad 名称,不然 Mac 会一脸懵逼不知道连谁。
步骤:
- 拿起 iPad → 设置 → 通用 → 关于本机
- 名称 一栏就是脚本要用的名字,例如
Paxos 的 iPad
- 复制下来,等会儿粘到脚本里。
Tips:最好别起那种有 Emoji 的名字。
2. 用 Automator 创建“开启随航.app”
- 打开 Launchpad → 其他 → 自动化(Automator)
- 新建文稿 → 类型选“应用” → 确定
- 在左侧搜索栏输入“AppleScript”,把「运行 AppleScript」拖到右边。
- 把本文最后的脚本粘进去,把
Paxos的iPad
改成你的 iPad 名称。 - 点右上角运行测试:iPad 要是弹出提示/直接连上,就说明成功。
- ⌘+S 保存,名字起成
开启随航
,位置丢到/Applications
方便日后调用。


3. 设定全局快捷键
我不喜欢装第三方软件,所以还是 Automator 本家搞定。
- Automator 再次新建 → 这次选“快速操作(Quick Action)”
- 工作流接收:选“任何应用”
- 在动作列表找到「启动应用程序」,拖到右边,指定刚才的
开启随航.app
- 保存,名字随意,比如
打开随航显示

- 前往 系统设置 → 键盘 → 键盘快捷键 → “服务”
- 找到
打开随航显示
,点右边添加快捷键,例如⌃⌥⌘M
(Ctrl+Option+Cmd+M)
记牢它,以后 Sidecar 失联就靠这招“妙手回春”。

4. 设为开机自启
系统设置 → 通用 → 登录项
把 /Applications/开启随航.app
拖进去,大功告成。
以后 Mac mini 一开机就会自动启动这个,如果iPad在附近则会自动连接,不在则什么事情也没有 没有显示器的情况可以通过Mac mini 自带的扬声器的声音提示知道是否连接成功(脚本内配置了音效提示)
5. 准备一块“空气显示器”——BetterDisplay
macOS 新版本会检测“你至少得有一块显示器”才能启动 Sidecar。
物理 HDMI 欺骗器当然最方便,不过没有的话我们也能虚拟一块。
- 安装 BetterDisplay(brew cask / dmg 随意)。
- 打开 → Overview →
Create New Virtual Screen
- 尺寸随便,我选了 “iPad Pro 11 inch”。
- 创建后系统会出现一个新的显示器。
- 系统设置 → 显示器:
- 把 iPad 设为「主显示器」(拖动那条白色菜单栏到 iPad 上)。
- 把 虚拟屏幕 勾成“镜像 iPad 屏幕”。
这样就算 macOS 再怎么“查户口”,咱们手里永远有台显示器。

五、启动流程(以后每天都是这样)
- 把 iPad 摆在 Mac mini 旁边,保持蓝牙+Wi-Fi 开启。
- 按下 Mac mini 电源键。
- 等听见开机声,用蓝牙键盘盲输密码(或者直接设置自动登录,更懒)。
- 几秒后 iPad 自动亮起 Sidecar,Mac 桌面映入眼帘。
- 过程中若网络闪断,直接
⌃⌥⌘S
重新召唤即可。
六、完整脚本(复制即用)
注意 1:把 Paxos的iPad
改成你自己的 iPad 名称。
注意 2:如果你的系统语言中文/英文/繁体中文,按行添加翻译关键字。
on findLastTargetIndex(targetItem, itemList)
set lastIndex to 0
repeat with i from (count of itemList) to 1 by -1
if item i of itemList is targetItem then
set lastIndex to i
exit repeat
end if
end repeat
return lastIndex
end findLastTargetIndex
-- 给自己来个提示音,知道脚本开始执行
do shell script "afplay /System/Library/Sounds/Pop.aiff"
tell application "System Settings"
activate
delay 1
tell application "System Events"
tell process "System Settings"
-- 判断系统语言,以免多语言界面找不到按钮
set systemLanguage to do shell script "defaults read -g AppleLocale"
if systemLanguage starts with "zh" then
if systemLanguage is "zh_CN" then
set menuItemName to "显示器"
set menuBarItemName to "显示"
set addButtonName to "添加"
else -- 繁体
set menuItemName to "顯示器"
set menuBarItemName to "顯示方式"
set addButtonName to "加號"
end if
else if systemLanguage starts with "en" then
set menuItemName to "Displays"
set menuBarItemName to "View"
set addButtonName to "Add"
end if
-- 打开“显示器”面板
click menu item menuItemName of menu menuBarItemName of menu bar item menuBarItemName of menu bar 1
delay 0.5
-- 点右边的「添加」按钮
tell group 1 of group 2 of splitter group 1 of group 1 of window menuItemName
try
click pop up button addButtonName
set menuItems to name of menu items of menu addButtonName of pop up button addButtonName
-- 找到最后一个同名设备,防止和通用控制冲突
set targetIndex to (my findLastTargetIndex("Paxos的iPad", menuItems))
click menu item targetIndex of menu addButtonName of pop up button addButtonName
do shell script "afplay /System/Library/Sounds/Blow.aiff"
on error
do shell script "afplay /System/Library/Sounds/Hero.aiff"
end try
end tell
end tell
end tell
end tell
delay 1
tell application "System Settings" to quit
七、结语
现在,你的 Mac mini 已经“原地长出”了一块 iPad 屏。
Mac mini 不带显示器出门办公,再也不是问题。赶紧关掉这篇文章,背上包,去星巴克假装数字游民吧!
愿折腾常在,Bug 远离。
发表回复