可通过Automator封装displayplacer命令实现菜单栏一键横竖屏切换:先用displayplacer list获取横竖屏配置字符串,再在Automator快速操作中用Shell脚本结合defaults读写状态控制切换,最后通过BTT或macOS Sequoia原生菜单栏支持将其显示为点击图标,无需进系统设置、终端或重启应用。

你需要在Mac菜单栏直接点击一个图标,就能让外接显示器瞬间从横屏切到竖屏、再点一下又切回来,不进系统设置、不打开终端、不重启应用。
用Automator封装displayplacer命令生成菜单栏快捷切换器
这一步必须先确认你的外接显示器已正确识别并能手动设为竖屏——否则后续一键切换无从谈起。打开“系统设置→显示器→旋转”,选90°或270°能生效,才可继续。
第一步:打开“终端”,运行displayplacer list,复制整段输出(含id、res、origin等字段);这是你当前横屏布局的唯一标识。
第二步:把外接显示器物理旋转90°,在系统设置中设为90°旋转→等待画面稳定→再次运行displayplacer list,复制新输出;这是竖屏布局配置。
第三步:打开“Automator”→新建“快速操作”→在左侧搜索栏输入“运行shell脚本”,拖入右侧工作流区域→在脚本框中粘贴以下内容(替换两处【your_horizontal_config】和【your_vertical_config】为你实际复制的两行完整字符串):
if [ "$(defaults read com.apple.menuextra.clock ShowSeconds -bool true 2>/dev/null)" = "1" ]; then
displayplacer "【your_horizontal_config】"
else
displayplacer "【your_vertical_config】"
fi
defaults write com.apple.menuextra.clock ShowSeconds -bool $([ "$(defaults read com.apple.menuextra.clock ShowSeconds -bool true 2>/dev/null)" = "1" ] && echo "0" || echo "1")
【注意:不要删除或修改defaults write那行,它是菜单栏图标的触发开关】
第四步:顶部菜单栏→文件→保存→命名为“横竖屏切换”→保存位置选“快速操作”。此时它还不会出现在菜单栏。
将快速操作绑定到菜单栏图标
方法一:用BTT(BetterTouchTool)添加菜单栏按钮
打开BTT→左下角“+”添加新触发器→类型选“菜单栏项目”→标题填“↕横竖屏”→动作选“执行预设”→在下方“预设”中找到刚保存的“横竖屏切换”快速操作→勾选“显示在菜单栏”→完成。
方法二:不用第三方工具,靠系统原生支持(仅限macOS Sequoia 15.0+)
进入“系统设置→键盘→快捷键→服务”→滚动到底部“通用”区域→找到“横竖屏切换”→勾选启用→然后前往“控制中心→显示器→更多选项”→开启“在菜单栏中显示显示器控件”→该图标会以小屏幕形状出现,点击即唤出服务列表,选择它即可触发切换。
验证与首次运行
点击菜单栏新出现的图标或BTT按钮,观察外接显示器是否在1秒内完成方向切换。若第一次点击无反应,检查终端是否已授予“完全磁盘访问权限”:系统设置→隐私与安全性→完全磁盘访问→点击“+”添加终端.app和Automator.app。
这一步完成后,菜单栏图标即可反复点击切换横/竖屏。

















