How to change login screen background?

For those of us for whom this method still didn't work (until now).
SOLUTION
Ubuntu MATE 22.04
CHANGING THE IMAGE OF THE LOG IN SCREEN

STEP ONE - we tried that

You have to open a specific file and edit it manually. The file is 30_ubuntu-mate.gschema.override. It is in /usr/share/glib-2.0/schemas/. You have to open it as admin using sudo from terminal. The command is:

sudo pluma /usr/share/glib-2.0/schemas/30_ubuntu-mate.gschema.override

You have to edit line 2 in that file. The line in my case contain:

/usr/share/backgrounds/ubuntu-mate-jammy/Jammy-Jellyfish_WP_4096x2304_Green.png

This is the path to the original image used, the one you see in the log in screen, and the one you want to change. Change it. Replace the path with the desired image. In my case this is:

background='/usr/share/backgrounds/MyDesktops/1c7f5dc499af5f6a61619b6c3dabec2f78804404.jpeg

The image file that is going to be used in the log in screen is now replaced.

STEP TWO - the solution explained

Please read, that's the important bit:

My file is in /usr/share/backgrounds/MyDesktops/.
I moved MyDesktops folder there. It contained my images.

Everything you do in /usr/share, perhaps everything in /usr at all is admin protected.
To do any changes you must to do it from the terminal. You can't just copy/paste new files there. You have to move them manualy (from the terminal) with sudo (admin) autorisation.
Needless to say, you have to put your password there. In my case I moved the folder with:

sudo mv /home/rock/Pictures/MyDesktops /usr/share/backgrounds

I believe the reason this method didn't work for some users is that the path they may have specified is path to a home folder. So when the script execute it doesn't bypass the admin restriction or something (I am guessing). In my case it ignored the line in the script and it moved to the next line which was about the background color. That was the color that loaded instead of any image. That is why I moved the image folder in /usr/share/backgrounds/.

I believe this folder is important on system level. So the file you want to use for that function must be inside '/usr/share/backgrounds/'.

So I did it and it didn't work. I forgot step three.

STEP THREE - the sweet bit

You have to compile the file. In the terminal type:

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

As of the moment of typing this I haven't tested my theory.
Now, I just compiled it, let me log out and see if it has worked.

You should see the smile on my face.

It worked!

PROBLEM SOLVED