Cannot change login wallpaper in 10.15 Catalina?

Solution 1:

Here's a simplified version of what you need to do (thanks to user3439894):

  1. Put an image you want to use as login background somewhere in your file system (I used my Downloads folder in this example).
  2. Reboot your Mac holding Cmd+R to boot into Recovery OS.
  3. Open Terminal from the Utilities menu on the menu bar.
  4. Backup/Rename Catalina.heic to e.g. Catalina.original.heic in /Volumes/Macintosh\ HD/System/Library/Desktop\ Pictures/, e.g.:

    cd  /Volumes/Macintosh\ HD/System/Library/Desktop\ Pictures
    mv Catalina.heic Catalina.original.heic
    
  5. Copy your desired image: cp /Volumes/Macintosh\ HD\ -\ Data/Users/[short_user_name]/Downloads/[image_from_step_1].jpg /Volumes/Macintosh\ HD/System/Library/Desktop\ Pictures/Catalina.heic
    • Note you can replace the destination path in the above command with just ./Catalina.heic as you should already be in the target directory if you performed the previous step to backup the original file.
  6. Reboot into normal mode.
  7. Change any option in System Preferences > Users & Groups > Login Options to change the cached image.

Solution 2:

I have been successful in changing the Catalina login wallpaper and have (easy) instructions below that I think will help. I compiled these instructions from several others, so I deserve no credit for this.

Find the wallpaper/picture you want to use as the new login wallpaper, copy it to an easy to find location (like the desktop), and rename it Catalina.heic

  1. Boot into recovery mode by holding down Command R when booting the computer (hold down Command R until you see the Apple logo)

  2. When in recovery mode, click on the top drop down menu "Utilities" and launch Terminal

  3. In terminal, type the following command and press Return:

    csrutil disable
    

    This turns off System Integrity Protection

  4. Restart your Mac

  5. Launch Terminal and enter the following command:

    sudo mount -t apfs -wu /dev/disk1s5 /Volumes
    

    Replace disk1s5 with the identifier for your system partition (you can find this in Disk Utility by clicking Info with the partition selected, then looking next to BSD device node). You’ll need to enter your password.

  6. In Terminal, enter the following command:

    sudo mount -wu /; killall Finder
    
  7. Using the Finder, navigate to Macintosh HD > System > Library->Desktop Pictures and right click (Command Click) to rename Catalina.heic to Catalina.orig.heic (be careful and make sure you pick the correct one, there are a lot of “Catalina” pictures/files).

  8. Copy (drag) Catalina.heic from your desktop into Macintosh HD > System > Library->Desktop Pictures

  9. To get the Login to use it, we update the preboot in Terminal, enter the following command:

    diskutil apfs updatePreboot /
    
  10. Reboot – you should now see the new login wallpaper.

  11. The system folders will be back to the copy protected state but SIP wont be turned back on by default when you reboot. To turn that back on, follow step 1. and 2. Than in terminal, type the following command and press Return:

    csrutil enable
    
  12. Reboot.

  13. To check if it is enabled go to Apple Logo > About This Mac > System Report > Software. Here you should see the entry: System Integrity Protection: Enabled

Solution 3:

It is possible!

To add to user3439894’s excellent instructions above: with FileVault enabled in 10.15, I had to also run diskutil apfs updatePreboot / to get the changes to “stick” on the FileVault (EFI) faux-login screen.

This writes a bunch of /System/Library/Caches/com.apple.corestorage/EFILoginLocalizations/*.efires files, which seem to be the login preferences—like for example, the lock message text. These would not update for me, despite other folks suggesting editing/toggling them in the System Preferences UI. updatePreboot made them change on the next restart.

This worked for the background image and the lock message text. However the FileVault/EFI login still ignores the “Display login window as: Name and password” option, unfortunately. Baby steps.

Solution 4:

To change Catalina login screen, please bear in mind the following:

  1. The intro login screen (when you login after a restart)
  2. The log out screen (When you select Log Out)
  3. The lock screen (When you select Lock Screen)

I know, this may sound confusing (bear with me for a second).

In theory, everything is simple. All you need to do is replace the proper image in the appropriate location and you are done.

Step one (i.e. the intro login screen) is kind of difficult because it requires you to jump through extra hoops because of a feature known as SIP aka System Integrity protection, which will make it hard for you to change system files even if you are an administrator

Let's start with Step 3 working our way to Step 1.

Step 3 (Changing the lock screen)

Changing the lock screen is a breeze. All you have to do is change your desktop background image and voila.

To verify this do:

Ctrl + Command + Q

Step 2 (Changing the logout screen)

Type the following to launch Spotlight:

Command + Space

Then type of the following to navigate the log out folder mac will be looking for the log out image:

/System/Caches/

Note: If Spotlight does not open the folder, do it using Finder (Shift + Command + G).

From this folder, you may or may not have another sub folder named Desktop Pictures. If you do not have it, create a folder with that name in there.

Inside the Desktop Pictures folder, you need to have another sub-folder associated with your account which goes by the name of your UUID (universally unique identifier). To know this information (i.e your UUID) do the following:

System Preferences > Users & Group > On the Left Hand Pane Right Click on Your current user > Choose Advanced in the pop-up menu > Copy Your UUID from there

Create a sub-folder inside the Desktop Pictures and rename it exactly the same as your UUID (be sure to leave to trailing or leading spaces)

From there, you only need to paste an image inside that folder named lockscreen.png

To verify this, logout and you should see the picture you previously had chosen. Sometimes, you may need to go to Preference > Login Items > Select Something. This re-initiates the caching mechanism.

Step 3 (Changing the intro login screen i.e. when you login after a restart)

In theory, all you need to do is something similar to step 2 without the UUID part.

Using Spotlight (or Finder Shift + Command + G) navigate to that folder by doing the following:

/System/Library/Desktop Pictures/

Note the keyword System in front of that path. Meaning Mac OS doesn't know which account you are going to use.

All you need to do here is change the Catalina.heic image in that location to your own.

The problem is, SIP (System Integrity Protection) will not let you change anything, therefore you are stuck with a lonely rocky island pic.

To fix this, you are going to reboot into recovery mode (Steps can only be found using this article https://discussions.apple.com/thread/250713266). While restarting your computer, hold the following command until you get a recovery mode screen (You'll know when you are in recovery mode because the login screen differ from the standard one):

Command + R

Launch the Terminal application while in recovery mode

Utilities > Terminal

Disable SIP using the terminal

csrutil disable

From there, you can simply copy and paste the image you wanted inside the System Desktop Pictures folder.

In Spotlight (or Finder Shift + Command + G), navigate to:

/System/Library/Desktop Pictures/

Rename the Catalina.heic image to Catalina.heic.bak and copy and paste your new image renamed as Catalina.heic inside that same folder.

At this point, you are done. To confirm this, restart your computer. Bear in mind you will need to re-enable SIP. To do so, restart your computer and hold Control + R until you get to Recovery Mode and launch the terminal as you once did, and type:

csrutil enable

That's all folks. At this point, you controlled 100% any background image on your Mac OS X Catalina.