简短回答:这四个 defaults 键能阻止 Dock 被调整大小、移动、清空或隐藏,在附近有一位负责人看管的前台,这通常就够了。
它们唯一解决不了的是 Dock 跟随指针跑到第二块屏幕上,因为 macOS 对此没有任何设置。如果第二块屏幕正对着顾客,那才是最值得优先解决的问题。
在个人 Mac 上,大小不对的 Dock 只是个小烦恼。但在前台、接待柜台或展厅的展示设备上,那是顾客等待时第一眼看到的东西,会被解读为对这个场所管理水平的一种评价。
这些失效方式都很常见,之所以常见,是因为这台设备由当班的任何人使用:
defaults write com.apple.dock size-immutable -bool true
defaults write com.apple.dock position-immutable -bool true
defaults write com.apple.dock contents-immutable -bool true
defaults write com.apple.dock autohide-immutable -bool true
killall Dock
每一项都会让“系统设置”里对应的控件变灰,因此完全无法从界面中改动。它们是按账户设置的,能在重启和 macOS 更新后依然生效,撤销方式是移除对应的键,而不是把它设为 false:
defaults delete com.apple.dock autohide-immutable; killall Dock
包含每个键类型的完整列表见每一条 Mac Dock defaults 命令。
接待台和展厅几乎总有第二块显示屏:面向顾客的面板、墙上的屏幕、演示用的显示器。而 Dock 并不会固定在某一块屏幕上,它会跟随指针。把光标推到任意一台显示器的底部边缘并停留,Dock 就会移动到那一块。
没有对应的 defaults 键,“系统设置”里也没有相关设置。这是 Apple 设计 Dock 时就有的行为,这意味着一个满是内部工具的 Dock,可能会在对话进行到一半时,因为有人伸手去够什么东西,就出现在顾客正盯着看的屏幕上。
这些变通办法都各有代价:关闭“显示器具有各自的空间”、把 Dock 移到侧边,或改变哪块显示器是主显示器。如何将 Mac Dock 固定在单块屏幕上逐一说明了各自的代价。如果在一张必须保持美观的前台上,这些都不可接受,剩下的选择就是一款能把 Dock 固定在单块屏幕上的应用。
教室里有一位设置好房间、并且记得当初怎么设置的老师。图书馆有一份基准镜像。前台则是当天当班的任何人,一年之后可能就换了一个人。
这意味着这里的失效模式不是锁定被撤销,而是没有人记得自己设置过这项锁定。一年后有人打开“系统设置”,发现 Dock 的控件变灰,并附有一条说明它由管理控制,却完全不知道是谁做的,也不知道原因。这就是一张支持工单,偶尔还会是一台被清空的设备。
所以在锁定本身之外,还有两件事值得在办公用的 Mac 上做:
defaults 命令。当前台没有人会打开终端时很合适,而前台大多数时候正是这样。免费,且能用一行命令撤销。三种方式的完整对比,以及各自的代价:在 Mac 上锁定 Dock 的三种方法对比。
macOS 会在 Dock 右侧添加一个最近使用的应用区域。在面向顾客的屏幕上,它会显示上一位员工打开过的内容。关闭它:
defaults write com.apple.dock show-recents -bool false
killall Dock
这四项锁定不会移除它。这是一项独立的设置,说明见如何阻止最近使用的 App 出现在 Dock 中。
不是的。position-immutable 阻止的是 Dock 被移到屏幕的另一条边。它对 Dock 位于哪块屏幕上完全没有作用,因为 macOS 对此根本没有提供任何设置。
这取决于员工人数和班次数量。一个人在一张办公桌上,很少需要这个。而一个由六个人分三班使用的柜台,正是 Dock 漂移最快的地方,因为没有任何一个人会注意到这个变化。
不会。它们保存在账户的偏好设置里,而不是系统里,所以更新不会影响它们。
这样一来,顾客就是在使用它,而不是在看它,思路也就随之改变。参见在商店或展厅 Mac 上锁定 Dock。
命令是一样的,情况却不同:教室里有账户和监管,也有能打开终端的学生。参见在教室 Mac 上锁定 Dock、在家用 Mac 上锁定,或适用于一般情况的共享 Mac 指南。