macOS不存在官方“单窗口显示工作模式”,常见需求对应不同实现:一、窗口归主屏可用AppleScript;二、镜像显示可终端切换;三、禁用副屏需系统设置或第三方工具;四、全屏用Ctrl+Cmd+F。
macos 没有官方定义的“单窗口显示工作模式”这一系统级模式,终端中也不存在直接启用该模式的指令。你提到的可能是以下几种常见需求之一,对应不同实现方式:
一、让所有应用窗口集中显示在主显示器上(多屏环境下的窗口归位)
MacOS 不提供一键“把所有窗口移到主屏”的终端命令,但可通过 AppleScript 实现,再用终端调用:
osascript -e 'tell application "System Events" to repeat with i in (every process whose background only is false) do tell i to repeat with w in (windows where visible is true) do set bounds of w to {0, 0, 1280, 800} end repeat end repeat'⚠️ 注意:此脚本将所有可见窗口粗略移动到主屏左上区域(如主屏分辨率为 1280×800),需按实际主屏分辨率调整 bounds 值(例如 {0, 0, 1920, 1080})。更稳妥的方式是使用第三方工具如 yabai 或 rectangle 配合终端触发。
二、强制进入“镜像显示”模式(双显示器变单画面输出)
这属于显示器配置,可用终端命令切换:
# 开启镜像显示(所有显示器显示相同内容) defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true sudo killall WindowServer # 更可靠的做法:用内置命令(需 macOS Ventura 及以上) echo 'Switching to mirrored display...' && \ /usr/bin/python3 -c " import Quartz config = Quartz.CGDisplayMirroringEnabled(Quartz.CGMainDisplayID()) Quartz.CGDisplaySetMirroringEnabled(Quartz.CGMainDisplayID(), not config) "
✅ 执行后系统会立即切换镜像/非镜像状态,视觉上等效于“单显示输出”。
三、禁用副显示器(物理断开或软件关闭)
若想临时让副屏“消失”,可关闭其电源信号:
# 列出所有显示器 ID 和状态 system_profiler SPDisplaysDataType | grep -A 5 "Resolution" # 使用 switchresx CLI(需提前安装)或直接黑屏副屏(无原生命令) # 推荐替代:通过系统设置 → 显示器 → 拖拽显示器图标移除副屏布局,再用快捷键 ⌘+⌥+D 调出显示器设置快速操作
四、进入全屏独占模式(单应用占据整个屏幕)
这不是系统模式,但每个支持全屏的应用可用快捷键:
-
Control + Command + F:切换当前应用为全屏 - 终端中启动某应用并全屏(示例):
open -a "Safari" && sleep 0.5 && osascript -e 'tell app "Safari" to activate' -e 'tell app "System Events" to key code 3 ^ 4' # 模拟 Ctrl+Cmd+F
不复杂但容易忽略:Mac 的窗口管理逻辑基于空间(Spaces)和显示器布局,而非 Windows 式的“窗口管理模式”。真正高效的做法是配合 Mission Control(F3 或四指上滑)+ 快捷键 ⌘+↑(显示所有窗口)、⌘+↓(显示应用所有窗口)来手动聚焦。


















