簡短的答案:四個 defaults 鍵能阻止 Dock 被調整大小、移動、清空或隱藏。它們是依帳號儲存的,所以在有各自登入帳號的家用 Mac 上,必須在每個帳號中分別設定。
「螢幕使用時間」做不到這件事。它控制的是哪些 App 可以開啟,以及能用多久,對 Dock 完全沒有著墨。
這個問題的其他每一種版本,說的都是陌生人使用的機器。家用 Mac 則完全相反:更動你 Dock 的人跟你住在一起,他們不是故意的,而你也不太可能真的收回他們的使用權限。
這改變了什麼才算是好答案。你要的不是「贏」,而是要讓星期二看起來和星期一一樣。
「螢幕使用時間」與「家人共享」是 Apple 的家長監護功能,在它們涵蓋的範圍內表現得很好:哪些 App 可以執行、能用多久、允許哪些內容,以及 Mac 什麼時候該在晚上安靜下來。
這些都動不到 Dock。「螢幕使用時間」沒有任何設定能控制 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 contents-immutable; killall Dock
包含每個鍵類型的完整清單,請見所有 Mac Dock defaults 指令。
如果這台 Mac 目前是所有人共用一個登入帳號,讓每個人擁有自己的帳號,才是更根本的解法,而 Dock 只是它能解決的其中一部分:各自獨立的桌面、各自獨立的下載項目、各自獨立的瀏覽紀錄,一切都各自獨立。這樣一來,Dock 就完全不再是一個共用的表面,每個人的 Dock 都會維持在他們離開時的樣子。
代價是你得不只設定一次鎖定。這個代價比聽起來的要小,而且只是一次性的。
維持這些設定有兩種方式,而在家用場景中,只有一種是對的。
如果你想要折衷方案,Still Dock 可以要求用 Touch ID 才能關閉鎖定,這樣就不會被隨便路過鍵盤的人輕易解除,而你自己只要按一下指紋就能解鎖。
macOS 會在 Dock 右側加上一個最近使用應用程式的區塊。在共用登入帳號中,它會被最後一個使用者開啟過的東西填滿,而且不論有沒有人動過任何東西,它每天都會改變。
defaults write com.apple.dock show-recents -bool false
killall Dock
四種鎖定並不會移除它。這是另一項獨立的設定,說明在如何阻止最近使用的 App 出現在 Dock 中。
免費的iPhone 與 Apple Watch 版 Still Dock能讓你直接從手機查看並切換這些鎖定,重新鎖定 Dock 不必再走回家用 Mac 前操作。
不會。它只會阻止 Dock 改變。限制能安裝或開啟什麼是「螢幕使用時間」的工作,兩者可以並存使用。
會,如果這個家庭有各自獨立的登入帳號,因為這些是依帳號而定的偏好設定。由 MDM 推送的描述檔,可以一次涵蓋整台裝置,但在家裡使用 MDM,對這個問題來說是殺雞用牛刀。
用一般的鎖定,只要他們找到終端機指令,就有可能解除。用描述檔的話,無法從終端機解除,但仍然可以刻意在「系統設定」中移除。這兩種都不是保險箱,也從來不打算是。
不會。它們存放在帳號的偏好設定裡,而不是系統中,所以更新不會動到它們。透過「遷移輔助程式」搬到新 Mac 時也一樣會保留。
在某一個帳號裡設定的內容,不會出現在其他帳號裡,所以請在家人實際使用的每個帳號中分別設定鎖定。如果某個帳號會被 macOS 在每次登出後清除,這些設定也會一併消失。
指令都是一樣的,情況卻不一樣。參見教室 Mac、圖書館或公用 Mac,或適用一般情況的共用 Mac 指南。