简短回答:macOS 能锁定 Dock 的大小、位置、内容和自动隐藏,命令如下。
共享 Mac 上的问题在于,任何能打开终端的人都可以用一行命令撤销它们。如果这一点对你很重要,你需要的是描述文件而不是命令,下面同样也有这部分内容。如果这台 Mac 只属于你自己,如何在 Mac 上锁定 Dock是更简短的答案。
一台多人使用的 Mac 会积累各种细微的改动。有人碰到了分隔线,每个图标的大小就都不一样了。有人把一个 App 拖出去,因为不认识它。有人打开了自动隐藏,或把 Dock 移到了左边,却没有人承认是自己做的。
这些都不是恶意造成的,也都不难解决。只是它无休无止,而在前台、教室或商店橱窗里的一台设备上,这看起来就像是无人维护。
先把 Dock 完全按你想要的样子设置好,因为运行这些命令时会冻结当前的状态。然后打开终端,运行你需要的那些命令:
defaults write com.apple.dock size-immutable -bool true; killall Dock
defaults write com.apple.dock position-immutable -bool true; killall Dock
defaults write com.apple.dock contents-immutable -bool true; killall Dock
defaults write com.apple.dock autohide-immutable -bool true; killall Dock
大小能阻止分隔线被拖动。位置能让它保持在你选择的边缘。内容能阻止图标被拖出、拖入或重新排列。自动隐藏能固定隐藏与显示设置。
免费的命令生成器会针对你选择的锁定项写出这些命令。把 true 换成 false 即可解除任意一项。当锁定开启时,“系统设置”里对应的控件会变灰,这会让后来发现它的人感到担心。
有一点值得了解:内容锁定阻止的是 Dock 被编辑。正在运行的 App 依然会出现在右侧的临时区域,这是正常现象,并不代表锁定失效。
这些设置属于运行它们的那个用户账户。这意味着:
false,也是任何人一搜索就能找到的第一个结果。对家用 Mac 来说这通常没问题,因为没有人想要破解它。但对自助终端、接待设备或教室来说,这就不是一项锁定,只是一个建议。
屏幕使用时间取代了“家长控制”,是锁定共享 Mac 时最常被建议使用的功能。它确实很擅长限制哪些 App 可以运行、屏蔽内容,以及限制使用时长。
它不会管理 Dock。屏幕使用时间里没有针对 Dock 大小、位置或内容的设置。如果你遇到的实际问题是 Dock 被重新排列,屏幕使用时间根本不是正确的工具,尽管很多建议还是会把人指向那里。
真正能在共享设备上保持有效的机制是描述文件。这正是公司和学校用来大规模管理 Mac 的同一种东西,它的优先级高于用户层面的偏好设置。
描述文件能让 Dock 在终端命令、重启,以及安装它的那个东西被移除之后依然保持锁定。它需要在“系统设置”、“通用”、“设备管理”中被有意移除,而不是意外发生。
Still Dock,能锁定 Mac Dock,可以从菜单栏为每项锁定分别安装一个描述文件,你无需自己编写任何描述文件 XML,而且它对这个取舍说得很清楚:描述文件是适合其他人使用的 Mac 的正确答案,却是你自己 Mac 的错误答案,因为普通锁定一键即可撤销,也从不要求输入密码。
使用不止一块屏幕?Dock 也会在它们之间跳动,这是另一个问题,有它自己的解决办法:如何将 Mac Dock 固定在单块屏幕上。
对共享 Mac 来说,描述文件是正确的答案。对你自己的 Mac,请比较全部三种方法:如何在 Mac 上锁定 Dock。在其他人使用的设备上,也请关闭最近使用的应用区域,单靠锁定并不会移除它:如何阻止最近使用和建议的 App。
正在为一整间学校的 Mac 做设置?这种情况有专门的指南:在教室 Mac 上锁定 Dock。
免费的 Still Dock for iPhone and Apple Watch 应用能让你从手机上切换这些锁定和阻止 ⌘Q 退出,不需要在共享的那台 Mac 上登录。
不会。defaults write 命令只适用于运行它的那个账户,所以需要在每个账户里都运行一遍。由 MDM 推送的描述文件是唯一能一次性覆盖每一个账户(包括之后创建的账户)的方式。你自己安装的描述文件,包括 Still Dock 生成的那些,只适用于你的登录账户。
没法通过“系统设置”解决,因为锁定开启时控件会变灰。但终端撤销命令只有一行,也很容易找到,所以应把这些当作防止意外的保护,而不是防止有心人破解的保护。
不会。它只控制 Dock。要限制能安装或运行什么,请使用屏幕使用时间或受管理的设备描述文件。
描述文件会保留,Dock 也会保持锁定,这正是它的全部意义所在。请在“系统设置”、“通用”、“设备管理”中移除它。
机制是一样的。区别在于,受管理 Mac 的描述文件是远程安装并锁定的,所以你无法在本地移除它。你自己安装的那种,则始终可以移除。