Enforcing a Screen Saver with JAMF Pro on Ventura 13.4

Dobson
New Contributor II

Do the 'Start Screen Saver after:' and 'Use Screen Saver Module at Path:' settings still function properly for the 'Login Window' configuration profile (JAMF Pro 10.46) in macOS Ventura? 

Dobson_0-1687458912712.png

We attempted to apply both a custom screen saver and one of the built-in options but are not seeing any of the desired results.

Dobson_1-1687459050863.png

Curious if I'm missing something.

 

3 ACCEPTED SOLUTIONS

sujal1208
New Contributor III

I have a screensaver policy to lock the device after 10 minutes of inactivity and display the classic flurry screen saver and it works on ventura.

Bundle ID: com.apple.screensaver

 

<?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>askForPassword</key>
	<true/>
	<key>askForPasswordDelay</key>
	<integer>0</integer>
	<key>idleTime</key>
	<integer>600</integer>
	<key>loginWindowIdleTime</key>
	<integer>300</integer>
	<key>moduleName</key>
	<string>Flurry</string>
</dict>
</plist>

View solution in original post

efil4xiN
Contributor II

something did change at least for us. We do not use that setting , but the below  as a custom plist to get the computer name  as the custom display and display to activate after 20 minutes. This is working for us on Ventura:

 

 

<?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>idleTime</key>
    <integer>1200</integer>
    <key>loginWindowIdleTime</key>
    <integer>1200</integer>
    <key>loginWindowModulePath</key>
    <string>/System/Library/Frameworks/ScreenSaver.framework/PlugIns/Computer Name.appex</string>
    <key>moduleName</key>
    <string>Computer Name</string>
  </dict>  
</plist>

 

 

 

 

View solution in original post

Dobson
New Contributor II

for whatever reason the plist approach worked instead of the Built in JAMF one. 

We just made a quick .saver screensaver file in xcode to display a PNG, deployed it as a .pkg and pointed the plist to it - worked like a charm!

<?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>askForPassword</key>
	<true/>
	<key>askForPasswordDelay</key>
	<integer>0</integer>
	<key>idleTime</key>
	<integer>900</integer>
	<key>loginWindowIdleTime</key>
	<integer>600</integer>
	<key>moduleName</key>
	<string>DoctorScreenSaver</string>
</dict>
</plist>

 

View solution in original post

8 REPLIES 8

sujal1208
New Contributor III

I have a screensaver policy to lock the device after 10 minutes of inactivity and display the classic flurry screen saver and it works on ventura.

Bundle ID: com.apple.screensaver

 

<?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>askForPassword</key>
	<true/>
	<key>askForPasswordDelay</key>
	<integer>0</integer>
	<key>idleTime</key>
	<integer>600</integer>
	<key>loginWindowIdleTime</key>
	<integer>300</integer>
	<key>moduleName</key>
	<string>Flurry</string>
</dict>
</plist>

efil4xiN
Contributor II

something did change at least for us. We do not use that setting , but the below  as a custom plist to get the computer name  as the custom display and display to activate after 20 minutes. This is working for us on Ventura:

 

 

<?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>idleTime</key>
    <integer>1200</integer>
    <key>loginWindowIdleTime</key>
    <integer>1200</integer>
    <key>loginWindowModulePath</key>
    <string>/System/Library/Frameworks/ScreenSaver.framework/PlugIns/Computer Name.appex</string>
    <key>moduleName</key>
    <string>Computer Name</string>
  </dict>  
</plist>

 

 

 

 

Dobson
New Contributor II

for whatever reason the plist approach worked instead of the Built in JAMF one. 

We just made a quick .saver screensaver file in xcode to display a PNG, deployed it as a .pkg and pointed the plist to it - worked like a charm!

<?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>askForPassword</key>
	<true/>
	<key>askForPasswordDelay</key>
	<integer>0</integer>
	<key>idleTime</key>
	<integer>900</integer>
	<key>loginWindowIdleTime</key>
	<integer>600</integer>
	<key>moduleName</key>
	<string>DoctorScreenSaver</string>
</dict>
</plist>

 

_CJ
New Contributor

Boy, I must really be missing something obvious.  I've been trying to get a loginwindow screensaver working for ages and have never had luck.  If it's verified to be working in Ventura, I must be overlooking something.

 

I know that Jamf's built-in Screensaver profile doesn't work, so I've tried a couple alternatives.  First I used ProfileCreator to make a signed profile (didn't work), and second I tried really old school deploying /Library/Preferences/com.apple.screensaver.plist (long shot, but unsurprisingly didn't work).

 

How are everyone deploying this profile/plist?

sujal1208
New Contributor III

In JAMF, I did was:

  • Application and Custom Settings
    • Upload
  • Preference Domain: com.apple.screensaver
  • Inside the PLIST:
<?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>askForPassword</key>
	<true/>
	<key>askForPasswordDelay</key>
	<integer>0</integer>
	<key>idleTime</key>
	<integer>600</integer>
	<key>loginWindowIdleTime</key>
	<integer>300</integer>
	<key>moduleName</key>
	<string>Flurry</string>
</dict>
</plist>

 Maybe your computer is not receiving the profile. You could always check out Low Profile to see if there is an issue with the config. Or make sure you don't have redundant configs for this. 

_CJ
New Contributor

Yup, that's exactly how I did it.  The profile is signed and everything so that it doesn't get changed by Jamf.

For testing, I set loginWindowIdleTime to 5, just so I can tell quickly whether it works or not.  But no longer how long I leave it at the login screen, the screen saver never kicks in.

Weirdly, it does kick in (after 5 seconds) on the user session if I log in.

Do only certain screen savers work on the login screen?  I'm trying to use either "Computer Name" or the one that used to be called "iLifeSlideshows".

_CJ
New Contributor

Also interestingly, when the screen saver fails to start on the login window, there is a unified log entry that says:

2023-07-26 12:51:40.069753-0700 0x77722    Error       0x0                  20299  0    lwsslauncher: (LaunchServices) [com.apple.launchservices:open] LAUNCH: request execute thru runningboard of 0x0-0xdc0dc com.apple.ScreenSaver.Engine/<private> failed with error=Error Domain=RBSRequestErrorDomain Code=5 "Launch failed." UserInfo={NSLocalizedFailureReason=Launch failed., NSUnderlyingError=0x60000196c330 {Error Domain=OSLaunchdErrorDomain Code=112 "Could not find specified domain" UserInfo={NSLocalizedFailureReason=Could not find specified domain}}}

Abd0192
New Contributor II

This doesn't work on MacOS Sonoma anymore