簡短的答案:就是能鎖定任何 Mac Dock 的那四個 defaults 鍵,再加上一個在這種情境下格外重要的設定:關閉最近使用的 App,因為在供公眾使用的機器上,這個區塊會洩漏上一位使用者在做什麼。
如果這台 Mac 每次重新開機都會還原成某個映像檔,請在擷取映像檔之前先設定好鎖定,否則每晚的還原都會把它們解除。
教室 Mac 面對的是三十個可以被告知不要做某件事的人。圖書館或供公眾使用的 Mac,完全沒有這種條件,這也改變了你真正該防範的對象。
公用機器通常只會用一個帳號,永久保持登入狀態,從不登出。這讓一般的 defaults 做法在這裡反而比在依學生分帳號登入的教室裡更耐用,因為這些設定只需要存放在唯一的一個帳號裡。
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 更新。包含每個鍵類型的完整清單,請見所有 Mac Dock defaults 指令。
macOS 會在 Dock 右側加上一個最近使用應用程式的區塊。在你自己的 Mac 上,這是個方便的功能。但在供公眾使用的 Mac 上,這卻是一份記錄著上一位使用者開啟過什麼的清單,直接展示給下一個坐下來的人看。
defaults write com.apple.dock show-recents -bool false
killall Dock
上面的四種鎖定並不會移除它,因為那是另一項獨立的設定。請刻意把它關閉。更多內容請見如何阻止最近使用的 App 出現在 Dock 中。
許多公用 Mac 都設定為每次都恢復到某個固定狀態,可能是透過映像檔軟體,或是重新開機時還原磁碟快照。這正是管理這類機器的正確方式,但它也有一個大家常常在吃過苦頭後才學到的結果:
在擷取基準映像檔之後才設定的任何內容,都會在機器下次還原時被清除。你的 Dock 鎖定就屬於這類設定。先設定好、確認生效,然後才擷取映像檔。如果這台 Mac 已經在使用中,這項變更就該放進基準映像檔裡,而不是執行中的工作階段中,否則你每天早上都得重新設定一次,還會納悶為什麼。
同樣的道理也適用於最近使用的 App 設定,以及 Dock 實際的內容。把 Dock 排列成你希望大眾一開始看到的樣子,然後再擷取映像檔。
值得精確一點,因為這三種機制並不能互相替代。
defaults 指令可以用另一條 defaults 指令解除。任何能打開終端機的人,都能在一分鐘內解除全部四項。如果是一般大眾使用、無法碰到終端機的公用機器,普通的鎖定通常就夠用。但如果使用者能接觸到終端機,那就不夠了。
不會。它只會阻止 Dock 改變。限制哪些 App 可以執行是另一回事,這該由「螢幕使用時間」或你的管理工具負責。這兩者可以並存使用,解決的是不同的問題。
只有在重新開機頻率夠高時才有效。每晚還原一次的機器,仍然會花上一整天的時間逐漸跑掉,而在下午使用人數最多的時候,跑掉的情況也最嚴重。
會。它們存放在帳號的偏好設定裡,而不是系統中,所以更新不會動到它們。但還原映像檔則會用基準狀態的內容把它們取代掉。
偏好設定是依帳號儲存的,所以在某一個帳號裡設定的內容,不會出現在其他帳號裡。請在大眾實際使用的那個帳號中設定鎖定。如果那個帳號會被 macOS 在每次登出後清除,這些設定也會一併消失,這種情況的答案是使用管理工具的裝置層級描述檔,而不是指令。
指令都是一樣的,但情境並不相同:教室有各自的帳號、有人監督,也有人可以回報問題,而櫃檯則有一台顧客看得到的第二螢幕。參見鎖定教室 Mac 的 Dock、鎖定櫃檯或展示間 Mac 的 Dock、鎖定家用 Mac 的 Dock,或適用一般情況的共用 Mac 指南。