Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

We have Macbook Airs running 10.8.1. These are exposed to students in a k-12 setting. I'd like to restrict their ability to change the wallpaper of the desktop. Is there a setting to configure?

share|improve this question
add comment

2 Answers

In Terminal, the following:

chown (USER)
/Users/(USER)/Library/Preferences/com.apple.desktop.plist

Where (USER) is the short user name.

Then, lock that file:

chflags uchg /Users/(USER)/Library/Preferences/com.apple.desktop.plist
share|improve this answer
    
Can you specify which shortname to use for the (USER) variables? I have an admin account and a student. When I enter: chown admin /Users/student/Library/Preferences/com.apple.desktop.plist It says permission denied. –  Pangea Oct 1 '12 at 23:56
    
Isn't it owned by the user by default? Anyway chflags uchg didn't work for me. The desktop picture is changed before the plist is modified. –  Lauri Ranta Oct 2 '12 at 0:22
    
This doesn't work with Safari option "set image as background" –  Napolux Sep 27 '13 at 7:09
add comment

I didn't find any way to prevent changing the desktop picture, but you could just change it back to the default every few seconds.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST
1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.stackexchange.apple.65938</string>
    <key>ProgramArguments</key>
    <array>
        <string>osascript</string>
        <string>-e</string>
        <string>tell application "Finder"
set f to POSIX file "/Library/Desktop Pictures/Galaxy.jpg"
if desktop picture is not file f then set desktop picture to f
end tell</string>
    </array>
    <key>StartInterval</key>
    <integer>10</integer>
</dict>
</plist>

Save the file above as /Library/LaunchAgents/com.stackexchange.apple.65938.plist, change the owner, and load the plist:

sudo chown root /Library/LaunchAgents/com.stackexchange.apple.65938.plist
sudo launchctl load /Library/LaunchAgents/com.stackexchange.apple.65938.plist

The property list is loaded automatically when users log in.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.