Unity greeter does not display custom wallpaper

I am using Ubuntu 14.04 LTS 64 bit . I know this question has popped up many times but I want to make it very clear that none of the posts helped me a bit.

my Problem: I am unable to get my custom wallpaper stored at /home/sudeepto/Pictures on the Ubuntu login screen . The screen shows me purple background and upon giving login credentials the graphics gets really scrambled for a while and then I can use my system just fine.

I guess since most of the articles are not Ubuntu 14.04 based, I am having such problems.

Things that I tried:

I followed this post on askbuntu . I tried both the suggestions but no luck.

I don't know how to take screenshot of unity-greeter, otherwise I would have given links to my login screen as well.

Please tell me what should I do next to solve this problem which I never faced in previous versions of Ubuntu.


In current Ubuntu 14.04 (October 2014), there is no need to hack gsettings manually. If the wallpaper file is available to others (read permissions), the greeter automagically displays everyone's background as you select the login name.

My wallpaper lives inside the Dropbox folder which has the permissions drwx------ and thus the greeter can't access it. Copying it to the pictures folder which has permissions drwxr-xr-x and using it from that folder solves the issue. Probably linking via ln -s works as well (although I didn't try).

You can check the permissions of everything in a folder using the -l option for ls.


To change the background of the login screen (based on this answer):

sudo -i
xhost +SI:localuser:lightdm
su lightdm -s /bin/bash
gsettings set com.canonical.unity-greeter draw-user-backgrounds 'false'
gsettings set com.canonical.unity-greeter background 'path-to-image'
exit

This will only change the background of the login screen. If you also want to change the background of your lock screen, you should also execute the following commands as each user you want to change the background for:

gsettings set com.canonical.unity-greeter draw-user-backgrounds 'false'
gsettings set com.canonical.unity-greeter background 'path-to-image'

I can confirm this is working on 14.04 LTS.


By setting draw-user-backgrounds to false you can set a custom background.

Obviously you should replace path-to-image by an absolute path to the image you want to use. Make sure the lightdm user has read permissions for this file.


Optional tweaks you might like

You can also change the background color which you'll see in a flash (default purple) before your background is loaded. To do this, execute the following command after the other gsettings commands (this will change the color to black):

gsettings set com.canonical.unity-greeter background-color '#000000'

And you can disable the dots on the login screen by executing the following:

gsettings set com.canonical.unity-greeter draw-grid 'false'

And also remove the greeter sound

gsettings set com.canonical.unity-greeter play-ready-sound 'false'