Locking Contents of Dock

New Contributor II

I'm running this script from a policy in Jamf.

defaults write com.apple.Dock contents-immutable -bool true; killall Dock

It does not do anything. However, if I run it locally from Terminal, works like a charm. Any thoughts? What I am doing wrong or forgetting?


New Contributor III

You’re running it as the logged in user when you’re executing through the terminal. As a policy it’s running as root.

New Contributor II

Thanks for the info @poormatt . What syntax can I use to run the above script as logged in user?

Contributor II

Not applicable

Open one of the applications you want to always be in the dock, and right click on its dock icon. Toggle “Keep in Dock” to on in the Options menu.
Open Terminal OneVanilla Login
In the terminal window type: defaults write com.apple.dock contents-immutable -bool true. Then type: killall Dock.

New Contributor

When you run something through the terminal, you do so as the user who is currently logged in. It is operating as root by default.