login screen - setting screen saver to floating message on Catalina

dlondon
Valued Contributor

In versions of Mac OS before Catalina I was able to configure the screen saver to "message" instead of the default "flurry". This helped people including lab users know what the machine name was. It looks like the way they are doing screen savers is now different and the file I used "/System/Library/Frameworks/ScreenSaver.framework/Resources/Computer Name.saver" is no longer available

This is how I was doing it:

#!/bin/bash
# SetLoginWindowScreensaverToFloatingMessage.bash

# Sets the Login Window Screensaver to Floating Message instead of Flurry and by default will show the computer name
# https://support.apple.com/en-us/HT202173
# https://support.apple.com/en-us/HT202223

# loginWindowIdleTime nnn where nnn is time in seconds to be idle
defaults write /Library/Preferences/com.apple.screensaver loginWindowIdleTime 300

defaults write /Library/Preferences/com.apple.screensaver loginWindowModulePath "/System/Library/Frameworks/ScreenSaver.framework/Resources/Computer Name.saver"

exit 0

Any ideas/suggestions on how to get Computer Name or some other screen saver that will do this on Catalina?

8 REPLIES 8

Jevermann
New Contributor II

Removed.

dlondon
Valued Contributor

Thanks @bjoernschnell but on a clean installation of Catalina that "Computer Name.saver" file doesn't exist. Did you maybe upgrade?

On my clean build test machine all I got was a black screen

Jevermann
New Contributor II

I use it on clean installed Catalina Macs. But I noticed that on some Macs it will not work the first time, on others it does. So I run a policy with that script once a day and directly after the Enrollment on all Catalina machines. This seems to solve the issue.

dlondon
Valued Contributor

Hi @Jevermann would you mind sharing your script? I'm at a loss because as I said I cannot see the file "/System/Library/Frameworks/ScreenSaver.framework/Resources/Computer Name.saver" on a wipe and clean install of Catalina.

mconners
Valued Contributor

@dlondon and @Jevermann I am struggling with this. I did make a bit of headway though. I found on Catalina, there wasn't a Computer Name.saver file. So, I moved over the one from a Mojave computer and placed it into the /Library/Screen Savers folder and I now have the Computer Name.saver that works on Catalina. The problem now is, the font is something like 6 or 7 point which is unreadable. We need this on our lab computers so users can quickly determine the computer name in a lab. Our computer names include room, asset tag number and deployment type. Do either of you know how to change the font size?

taugust_ric
Contributor

The updated path for the Computer Name screen saver:

/System/Library/Frameworks/ScreenSaver.framework/PlugIns/Computer Name.appex

Source: Set screen saver in Catalina to 'Message', in System Preferences, then read contents of ~/Library/Preferences/ByHosts/com.apple.screensaver.$HUID.plist

snowfox
Contributor III

Many thanks to everyone above, I have it working under Big Sur 11.5.2 using the below code in a Configuration Profile under Application & Custom Settings.

Preference Domain is:  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>idleTime</key>
    <integer>600</integer>
    <key>loginWindowIdleTime</key>
    <integer>300</integer>
    <key>loginWindowModulePath</key>
    <string>/System/Library/Frameworks/ScreenSaver.framework/PlugIns/Computer Name.appex</string>
    <key>moduleName</key>
    <string>Computer Name</string>
  </dict>  
</plist>

 

 

300 Seconds = 5 minutes idle for Login Screen
600 Seconds = 10 minutes idle for Desktop

Update: It appears to only work when logged in.  The screensaver isn't starting at the login screen.

Thank you for sharing!