Mac电脑每次开机都自动蹦出上次没关完的窗口,这事儿确实挺烦人。明明已经关掉的软件,重启之后又原封不动地回来了,甚至包括那些再也不想看到的旧标签页。
要根治这个问题,得从三个层面下手:系统级开关、应用内设置,以及那些特别“顽固”的进程。少一个,效果都可能打折扣。

先说头一件事,也是打地基的那一步。
全局关闭系统窗口恢复功能
这条设置是基础防线,适用于 macOS Ventura 及更新版本(包括当前的 macOS Sequoia 15)。它能把所有应用在退出时“记住”窗口状态的能力直接掐断。
操作路径如下:点击屏幕左上角苹果菜单 → “系统设置” → 左侧边栏点“桌面与程序坞” → 向右滚动到底部 → 找到“退出应用程序时关闭窗口”选项 → 【开启该开关】(滑块变蓝)。
这里得专门提醒一句:这个开关的名字确实容易让人误会。“关闭窗口”真正的意思是“不保存窗口状态”。开启之后,所有 App 退出时都会强制丢掉当前打开的那些布局信息,下次启动就是干干净净的,不会还原任何标签页或窗口排列。
单独处理 Safari 的双重恢复逻辑
Safari 有个小问题:它会绕过系统设置,自己维护一套标签页恢复行为。就算你已经全局关掉了窗口恢复,Safari 可能还是会把上一轮的全部历史标签页重新打开。
应对方法有两种。方法一:打开 Safari → 顶部菜单栏点击“Safari” → “设置” → 切换到“通用”标签页 → 在“启动 Safari 时打开”下拉菜单中选“新窗口”或“无”。
方法二:如果你只是临时想跳过某次恢复,那可以在启动 Safari 之前按住【Shift 键不放】,直到主界面完全显示再松手——这样一来,这次启动就不会还原任何历史标签页了。
用终端命令精准关闭顽固应用
有些应用比较难缠,比如 Chrome、Obsidian、BetterZip 这类,它们会绕过系统设置,自己写一个偏好值来维持窗口记忆。这时候就得请出终端来覆盖它们的专属配置了。
第一步:打开“终端”(应用程序 → 实用工具)。
第二步:输入命令并回车(以 Chrome 为例):
defaults write com.google.Chrome NSQuitAlwaysKeepsWindows -int 0
第三步:重启 Chrome,看看效果。如果要改其他应用,把 com.google.Chrome 换成对应的 Bundle ID 就行了,比如:
• 微信:com.tencent.xinWeChat
• 钉钉:com.dingtalk.mac
• Firefox:org.mozilla.firefox
这一步操作起来其实很简单,直接复制粘贴命令回车即可,但必须重启对应应用才会生效。
检查并清理登录项中的残留启动源
最后这一步很容易被忽略:有些应用虽然窗口恢复功能已经关掉了,但因为它被设成了登录项,每次开机都自动启动主窗口,就会产生一种“怎么又弹出来了”的错觉。
处理方法如下:
① 点击苹果菜单 → “系统设置” → 左侧“通用” → 右侧“登录项”。
② 在列表中找目标应用(比如飞书、WPS、网易云音乐那些),确认一下它前面的复选框是不是勾着的。
③ 选中该条目 → 点击下方减号(−)按钮,彻底移除。
④ 如果只是临时想抑制窗口显示、不打算删掉配置,可以取消勾选复选框,然后勾选右侧的“隐藏”选项。
这一步不能跳过去,因为登录项的优先级高于系统窗口恢复设置——哪怕你把所有恢复逻辑都关掉了,只要它还在登录项里,就会先启动再空窗,白费功夫。
