简短回答:打开“系统设置”›“桌面与 Dock”,然后关闭 “在 Dock 中显示建议和最近使用的应用”。
从命令行:
defaults write com.apple.dock show-recents -bool false; killall Dock
Dock 会在分隔线右侧保留一个单独的区域,最多显示三个你最近打开过、但尚未固定在 Dock 中的 App。 它们没有被固定,也不是你放在那里的。它们会自动出现、把其他内容挤开,然后再次消失。
这种偏移正是大家把它描述成“Dock 自己重新排列”的原因。你放置的东西没有移动; 只是它旁边长出了一个临时区域。
在 macOS 26 上,这项设置位于“桌面与 Dock”中。在更早的版本中,它叫“Dock 与菜单栏”, 再往前则是“系统偏好设置”里的 Dock 面板。说法几乎没怎么变过。
defaults write com.apple.dock show-recents -bool false
killall Dock
没有 killall Dock,值会被写入,但什么都不会发生,这正是
从博客复制的命令看起来没有效果的最常见原因。参见
killall Dock 的作用。
要恢复它,使用 -bool true,或者
用 defaults delete com.apple.dock show-recents 恢复到 macOS 的默认设置。
这正是大多数人来这里寻找、却很少见诸文字的版本。在共享 Mac、机房设备或自助终端上, 在一个账户里关闭这项设置,对下一个登录的人毫无影响,因为它是按用户设置的偏好。
两个真正有效的选择:
com.apple.dock 配置的描述文件会应用到它所指定的每个用户,且无法从“系统设置”中重新开启。这正是 MDM 的做法,也是管理员真正想要的效果。defaults write com.apple.dock contents-immutable -bool true 能彻底阻止 Dock 的内容
被改动,包括通过拖动改动。它本身不会移除最近使用区域,所以要先把 show-recents 设为 false,
然后再锁定。顺序很重要。先锁定内容会冻结当时仍启用着最近使用区域的那个 Dock。
不会。它只会阻止 Dock 显示最近使用的 App。不会卸载任何东西,这些 App 依然会出现在启动台、聚焦搜索和 “应用程序”文件夹中。
macOS 升级可能会重置 那些从未被显式写入过的偏好设置。如果你是从终端或在描述文件中设置的,它会保留下来;如果你只是几年前切换过一次开关,它可能就不会保留。之后再锁定 Dock 的内容, 才能让它真正保持不变。
会的。
com.apple.dock 域下的 show-recents 键,以受管理的偏好设置形式下发。因为它是受管理的,“系统设置”里的开关会显示为灰色,而不只是被设置成某个值,这正是管理员通常想要的效果。
如果你不想记一堆命令,Still Dock 把同样的四项设置 变成了开关,而且会记住你锁定之前的 Dock 样子。大小锁定是免费的。