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.

  • ive encountered this before i cannot change the background of lightdm greeter, but since my system update on 07/04/14.. all be seem fine now.. when i change my desktop wallpaper, it shows also in lightdm greeter automatically. – xsoultribex Jul 4 '14 at 14:52
  • What was installed? What changed? – 0xC0000022L Jul 4 '14 at 17:16

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'

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'
  • 1
    So do i need to do apply these settings for every wallpaper that I use other than the default ones ?? I mean is there a way so that whenever I add wallpapers inside the /home/sudeepto/Pictures folder it automatically apply the aforementioned settings for them as well?? – sud_the_devil Apr 26 '14 at 16:09
  • If you want to change the wallpaper, you'll have to execute the commands again, or you can just overwrite your last background image with a new image. – Louis Matthijssen Apr 26 '14 at 16:13
  • I am sorry but I didn't understood the difference between overwriting the image and changing it . Suppose I chose a different wallpaper from the Pictures folder, so do I need to execute all the above commands again or changing the wallpaper will automatically set my login screen to the new wallpaper. – sud_the_devil Apr 26 '14 at 16:30
  • If you set your wallpaper like this, Unity will open the image (for example /home/sudeepto/Pictures/bg.jpg) every time, so you can just overwrite bg.jpg and Unity will load your new bg.jpg. If you want to use the same background as your desktop's background you should set draw-user-backgrounds to true, but this is the default setting so then I wonder why you asked this question. – Louis Matthijssen Apr 26 '14 at 16:57
  • 1
    If lightdm (the user running the login screen) doesn't have permission to read the image file, it can't be loaded so you won't see it. Right click your image, choose Properties, click Permissions, at Others set Access to Read-only. – Louis Matthijssen Apr 26 '14 at 17:17

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.

  • PERFECT! Just right click the photo you used as wallpaper, change its permissions to allow read and write for everyone. I changed the permissions for my Pictures folder where my wallpapers are kept, so now all the wallpapers display on my lockscreen. Awesome! – x__x Nov 6 '15 at 11:10
  • Note that this doesn't work if your home directory is encrypted (at least, I tried the above but it didn't work). What worked form me: askubuntu.com/a/123554/22147 – Koen Jun 5 '16 at 10:29

Not the answer you're looking for? Browse other questions tagged or ask your own question.