简短回答:那四个 defaults 键,外加在展示设备上最重要的一个:contents-immutable,好让你正在演示的 App 到打烊时依然留在 Dock 里。
如果你管理不止一台设备,请先把一切都设置好,再克隆镜像。彼此渐渐不同的设备比彼此都渐渐漂移的设备更糟,因为这时“为什么那一台看起来不一样”这个问题,没人能回答。
在其他共享 Mac 上,Dock 漂移只是个烦恼。但在一台专门用来推销产品的设备上,这就是推销本身出了问题:你想让顾客试用的 App 不见了,因为三位顾客之前它就被人拖走了。
展示设备上实际会发生的情况,按发生频率大致排序:
defaults write com.apple.dock contents-immutable -bool true
defaults write com.apple.dock size-immutable -bool true
defaults write com.apple.dock position-immutable -bool true
defaults write com.apple.dock autohide-immutable -bool true
killall Dock
contents-immutable 之所以被排在第一位是有意为之的。在个人 Mac 上,这一项常被跳过。而在展示设备上,它才是重点所在:正是它让你选定的 App 留在 Dock 里,并把其他一切挡在外面。
每一项都会让“系统设置”里对应的控件变灰。它们能在重启和 macOS 更新后依然生效。每个键及其类型都列在每一条 Mac Dock defaults 命令中。
macOS 会在 Dock 右侧添加一个最近使用的应用区域,内容锁定并不会移除它。所以即使 Dock 被锁定,它仍然会长出一条顾客打开过的一切内容的尾巴。
defaults write com.apple.dock show-recents -bool false
killall Dock
在展示设备上,这一步不是可选项。更多内容见如何阻止最近使用的 App 出现在 Dock 中。
这部分在家用或办公 Mac 上没有对应的情况。一批展示设备必须彼此保持一致,它们会一次一点地渐渐产生差异,直到顾客沿着一排设备走过去,看到四个不一样的 Dock。
所以操作的顺序比设置本身更重要:
在基线被捕获之后所做的任何配置,只存在于那一台机器上,并会在那台机器下次还原时被撤销。这就是一排原本一模一样的 Mac 变得不再一样的原因。
如果这些设备每晚都会还原到某个已知状态,同样的规则更加适用:锁定应该属于基线设置,而不是运行中的会话,否则你每天早上都要重新设置一遍。
defaults 命令。免费,一行就能撤销,在公众接触不到终端的情况下已经足够。它是按账户设置的,所以只适用于展示设备运行的那个登录账户。三种方式的完整对比,以及各自的代价:在 Mac 上锁定 Dock 的三种方法对比。
有些显示配置会驱动一块面向过道的第二块面板。Dock 不会固定在某一块屏幕上:它会跟随指针,没有任何 defaults 键或“系统设置”开关能改变这一点。如果顾客把鼠标移到了错误的边缘,Dock 也会跟着过去。
这些变通办法及其各自的代价,见如何将 Mac Dock 固定在单块屏幕上。
不会。它只会阻止 Dock 的图标被添加、移除或重新排列。能安装或打开什么是另一回事,那属于屏幕使用时间或你的管理工具的职责范围。
只能通过最近使用的应用区域,这与四项锁定是分开的。关闭它,打开过的 App 就不会留下任何痕迹。
只有在整个营业日的漂移都可以接受时才行,而通常并不可以:Dock 在下午最严重,因为那时使用过它的人最多。
很接近,但前台是由员工使用、只被顾客看到,而展示设备则是由顾客直接使用。员工那一侧参见前台或展厅 Mac,没有商业用途的设备参见图书馆或公共 Mac。家里则是家用 Mac。
不会。它们保存在账户的偏好设置里,而不是系统里。还原镜像会用基线中的内容将它们替换掉,这正是要把它们放进基线的原因。