.GlobalPreferences.plist not "sticky"

DirkM
Contributor

Hello everybody,

This might be a little outside JAMF/JSS/MDX but I'm facing an issue where the default user profile is not applied 1:1 to a new user and hope that anybody can help.

I'm on 10.10.4 and have a .GlobalPreferences.plist that specifies the AppleLocal de_DE and Country DE. I copied this .GlobalPreferences.plist to all folders at /Volumes/Macintosh HD/System/Library/User Template/Library/Preferences on the new systems well as /Library/Preferences, assuming that a new user that logs on for the first time would get those settings as default. But whatever I do, the new profile is created with AppleLocal en_DE and not with de_DE.

This is what my .GlobalPreferences.plist looks like:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict> <key>AppleLanguages</key> <array> <string>en</string> <string>ja</string> <string>ko</string> </array> <key>AppleLocale</key> <string>de_DE</string> <key>Country</key> <string>DE</string>
</dict>
</plist>

The same file is stored at /Library/Preferences/ and well as all the folders at /System/Library/User Template but once i log on as a new user I get this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict> <key>AppleLanguages</key> <array> <string>en</string> <string>de</string> </array> <key>AppleLocale</key> <string>en_DE</string> <key>Country</key> <string>DE</string> <key>NSUserDictionaryReplacementItems</key> <array> <dict> <key>on</key> <integer>1</integer> <key>replace</key> <string>omw</string> <key>with</key> <string>On my way!</string> </dict> </array> <key>com.apple.springing.delay</key> <real>0.5</real> <key>com.apple.springing.enabled</key> <true/> <key>com.apple.trackpad.forceClick</key> <true/>
</dict>
</plist>

The issue is the same with all languages I tried, from de_AT converting to en_AT to many variations of this the same. The new user is fine if I copy /Library/Preferences/.GlobalPreferences.plist to the new user's profile after he logged in the first time but that's not really the points of a default user profile.

I'm certain that I'm just missing a tiny little bit to get this right but short of creating a LaunchAgent that copies the .GlobalPreferences.plist to a new user's profile, what can I do to prevent de_ to turn into en_?

Thanks,
Dirk

5 REPLIES 5

bentoms
Honored Contributor III
Honored Contributor III

@dmatth01 Is it possible your setting this somewhere else?

davidacland
Honored Contributor II
Honored Contributor II

We normally set this with a config profile these days. Seems to be the "Apple preferred" way and is less of a fight than copying preference files around. Our UK config profile is here and could be easily adjusted for the language you need.

DirkM
Contributor

@bentoms good question. I was trying to find all .GlobalPreferences.plist with find / -name .GlobalPreferences.plist and all returned files had the correct values. I even aded a first boot script via launchd that sets the AppleLocal via defaults write -g but that didn't make a difference.

@davidacland Good idea. I modified your mobileconfig for de_DE and added it via my first boot script. However, it seems though that those settings enforced and a user cannot change any of those settings anymore. If I remove the profile the an existing user can change these settings but any new user would end up no getting any of those settings.

Is there a way to make the settings optional or applied only once per user or per machine?

davidacland
Honored Contributor II
Honored Contributor II

Hi, the <key>Set-Once</key> should work be allowing you to make changes after its initially applied.

I just tried it on my Mac with the profile applied and I could still change the setting. What did it block in your case?

joe_farage
New Contributor III

Hi all,

I have the same problem as @dmatth01. I want the AppleLocale in .GlobalPreferences to be fr_CH. It is set in /Library/Preferences/.GlobalPreferences.plist and also in all /System/Library/User Template.
When I log in with the local admin account and create a new standard account, everything is set correctly except AppleLocale in ~/Library/Preferences/.GlobalPreferences.plist that is set to en_CH, and so the date in the clock is not in French.
BUT from that new standard account if a create another standard account, then the AppleLocale is set correctly to 'fr_CH'. Hope it's enough clear what I explain.
Does anyone know how to make it work correctly?
Many thanks and best regards,
joe