# How do I change the wallpaper of the login screen?

I would like to set the wallpaper in the login screen (Unity Greeter), how do I do that?

-

## Ubuntu 12.04 to 13.04

Ubuntu 12.04 Unity greeter has introduced selected user dynamic background, that means that when selecting a user from the available users list the background will change to reflect the selected user's desktop background.

By default lightdm will set /usr/share/backgrounds/warty-final-ubuntu.png as the default background and the option for the dynamic background switching on.

### Setting the dynamic switching off

Open a terminal and get root

sudo -i


Allow the user lightdm to create a connection to the X server

xhost +SI:localuser:lightdm


Switch user to lightdm

su lightdm -s /bin/bash


Turn off the dynamic switching of the background

gsettings set com.canonical.unity-greeter draw-user-backgrounds 'false'


If you want to reset that setting to default after changing it, follow all the steps until the command above and instead use

gsettings reset com.canonical.unity-greeter draw-user-backgrounds


When you are done setting off or reseting to default the dynamic background feature you can close the terminal or type 2x exit, first to revert back to root and the second to clear the root privileges and revert back to your normal user.

### Changing the default fixed background

(you will only see this one if the user did not set a desktop background picture or if the dynamic setting is set to false)

Open a terminal and get root

sudo -i


Allow the user lightdm to create a connection to the X server

xhost +SI:localuser:lightdm


Switch user to lightdm

su lightdm -s /bin/bash


Change the default background with a picture of your choice

gsettings set com.canonical.unity-greeter background '/foo/wallpaper.png'


(Note: the wallpaper file cannot be located inside a encrypted user's home, those are only mounted after the user has logged in with his account.)

If you want to revert that to the default background follow all the steps until the command above but instead type

gsettings reset com.canonical.unity-greeter background


When you are done changing the default background feature or reverting back to the default one you can close the terminal or type 2x exit, first to revert back to root and the second to clear the root privileges and revert back to your normal user.

-
I think, adding this information will help future users like us, who want to disable any paper on lightdm. I first disabled the "drawing-user-background" feature and then sat a background which only exists in .. (no it doesn't exists). I have now a nicer login screen. –  Anwar Shah Jul 30 '12 at 14:08
I used "Changing the default fixed background" and it works, but then I don't know why, I get a message with "low-graphics mode" after reboot and lightdm doesn't start anymore. Then I found this solution to change the lightdm background. –  BuZZ-dEE Sep 7 '12 at 16:17
I have two users, each with different (custom) wallpapers. I want one user to display his own wallpapaer on the login screen, but I want the other one to display the default warty-final-ubuntu one. How would I do this? Is it even possible, without an extra program, to set login backgrounds on a per-user basis other than the user's wallpaper? –  JamesTheAwesomeDude Jan 15 '13 at 21:27
How is it possible to change the warty-final-ubuntu.png that is shown when ubiquity installer is displayed to some other images ? –  Roshan George Jun 22 '13 at 1:30
It's much easier and more safer to make an override file as suggested in the alternative answers –  Robert Ancell Mar 26 '14 at 4:39

12.04

Bruno Pereira's answer worked for me but could not be used in a context without X11. Here is an other way to do the same ... without the need of X11 (and easily scriptable) :

Edit the following file :

sudoedit /usr/share/glib-2.0/schemas/10_unity_greeter_background.gschema.override

[com.canonical.unity-greeter]
draw-user-backgrounds=false
background='/foo/wallpaper.png'


Apply the new settings :

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

-
This seems to be the best way to do it in 12.04. –  Carsten Agger Oct 21 '13 at 8:43
i was able to use this for our preseed environment with Ubuntu 13.10! –  Bastian Rang Jan 31 '14 at 12:52

The main answer doesn't work for me, as I'm not using unity-greeter. My lightdm is configured to use lightdm-gtk-greeter.

I found a solution by looking through the lightdm source code. It queries DBus to find the BackgroundFile property for the user. You can change this by using the d-feet program (or command-line tools).

Navigate to this point on d-feet:

Double click the "SetBackgroundFile" function. In the window that opens, type your desired wallpaper filename (with double quotes around it). Click the Execute button. If all is well, you'll see a message like, "This function didn't return anything".

The next time lightdm runs, it should have the new wallpaper that you selected.

-
Also of note is that I'm not using any of the main window managers (I'm using i3), which is why I can't use other methods. –  Jeremy Stephens Aug 14 '13 at 16:04
Here's a script you can use to set the wallpaper from the command-line: gist.github.com/viking/6232740 –  Jeremy Stephens Aug 14 '13 at 16:23

Ubuntu 12.10

This approach uses the dconf-editor, rather than gsettings. Changes to the unity-greeter must be done as the lightdm user. The steps are as follows:

1. Change to root user.
2. Give lightdm user access to the X server.
3. Change to lightdm user.
4. Run dconf-editor.
5. Select /com/canonical/unity-greeter and change properties.

1. Change to root user.

sudo -i

2. Give lightdm user access to the X server.

xhost +SI:localuser:lightdm

3. Change to lightdm user.

su lightdm -s /bin/bash

4. Run dconf-editor.

dconf-editor

5. Select /com/canonical/unity-greeter and change properties.

-
dbus-launch dconf-editor is required(?). –  Khurshid Alam Mar 25 '13 at 13:21

## 12.04

This is my solution to those who are not able to change the login screen background.

I was having this problem when I changed the wallpaper but I was getting the default Ubuntu login background. So what I did was locate the wallpaper.jpg file in terminal and change its permissions to, say:

chmod 777 walpaper.jpg


Something which gives full access and now we can see the effect. The wallpaper I choose on desktop is also seen as the login screen background. This applies for all users.

-

Ubuntu 12.04

Just put the desired lightdm background in the default Ubuntu pictures folder (not a subfolder) and then set it as your wallpaper.

-

This what worked for me. Via nautilus, I renamed the original /usr/share/backgrounds/warty-final-ubuntu.png image file inside , then I pasted my preferred image as the login wallpaper and renamed it to warty-final-ubuntu.png, then applied the same file properties as with the original one.

-

All versions

If you use 12.04 Precise: to change the login wallpaper just change your desktop wallpaper, with Ubuntu Tweak you can change only the logo.

If you use 11.10 Oneiric you can use Ubuntu Tweak to change the login wallpaper and logo.

2) Open the downloaded package and install it

3) Launch Ubuntu Tweak.

Go to Tweaks > Login Settings. Click Unlock and click on the image you want to change.

If you use 12.04 Precise: to change the login wallpaper just change your desktop wallpaper, with Ubuntu Tweak you can change the logo.

-

### For 11.10:

You need to edit /etc/lightdm/unity-greeter.conf (sudo nano /etc/lightdm/unity-greeter.conf). In that file you have to replace value of BACKGROUND tag.

For ref check the below screen shot.

-

12.04

In Ubuntu 12.04 you don't need to do all those command line edits anymore. All you have to do is change your wallpaper and voilá, LightDM will use it as the background (:

Sadly it seems not fully implemented yet, since when your computer starts, you see the default Ubuntu wallpaper for some seconds before it change to your wallpaper. But since we are talking about a beta (Ubuntu 12.04 is in Beta 2 right now), it's expected.

-
I don't think this works unless you use Unity and change your wallpaper in Unity. In any case, what you're suggesting doesn't work if you want a different wallpaper in lightdm from what you have in your desktop environment. –  Chan-Ho Suh Apr 13 '12 at 1:35
@Chan-Ho Suh True, but since he did not specified that he was using another interface, i assume he is using Unity. About the second point, true (: –  Julian Fernandes Apr 13 '12 at 5:26
This is the only way to change the wallpaper at the moment. –  Gary Apr 14 '12 at 0:47

### 11.10

I'd suggest to use Ubuntu Tweak. You can configure what the logo and the backgroundimage comforably without messing around with config files:

This screenshot was taken on 10.10 Maverick, if somebody can check easily if it works also with recent Ubuntu versions an edit of this answer is welcome!

-
The UI is quite different, but it does allow the user to change both the background and the login screen logo. –  Alfredo Hernández Mar 26 '12 at 18:20
@AlfredoHernández in 11.10 I suppose? –  lumbric Mar 26 '12 at 20:40
Yes, sorry, I forgot that part xD –  Alfredo Hernández Mar 26 '12 at 20:45
It messed my login wallpaper! Now it has black background! –  Ravi Apr 17 '12 at 6:40

### 11.10 - Simple LightDM Manager

An enterprising developer has put together a simple applet that will change the wallpaper:

to install

sudo apt-add-repository ppa:claudiocn/slm
sudo apt-get update
sudo apt-get install simple-lightdm-manager


source

-
Connection to this repository is flaky –  enthusiasticgeek Apr 22 '14 at 21:56

This is a workaround for 12.04 and the current version of unity-greeter (the default "theme"). For other greeters like lightdm-gtk-greeter, the usual editing of the conf file in /etc/lightdm/ works. But unity-greeter no longer looks at unity-greeter.conf, and it's unclear how to configure it.

What I did is this: I found the image that unity-greeter insists on using. For me, it was in /usr/share/backgrounds. Move/delete/rename it. Now unity-greeter will fallback to the default background which is /usr/share/backgrounds/warty-final-ubuntu.png. Move/delete/rename that. Now you need to put another image at that location with that name. And no, it doesn't have to be a png (in fact, warty-final-ubuntu.png is actually a jpg for reasons I won't go into here). I believe the replacement must be a jpg (someone correct me if I'm wrong). Be very careful here. I think if lightdm can't fallback to the default background, something horrible might happen :-/ (maybe it'll only show a colored background... anyway be careful!).

In my case, I just made a symlink from another background in that location:

sudo ln -s Bird_by_Magnus.jpg warty-final-ubuntu.png


run this command while you are in /usr/share/backgrounds/ (or adjust command accordingly). Of course, replace the jpg with whatever is available and desired.

Keep in mind that if you are going to use a background in your home, you need to make sure your home is not encrypted, as lightdm will not be able to read that file until you login. Also make sure you have the right permissions on the file. If you don't know what any of this means, stick with a wallpaper that's already in /usr/share/backgrounds/. (Random tip: you can get more wallpapers from earlier versions of Ubuntu installed properly in that directory by sudo apt-get install ubuntu-wallpapers-oneiric, replace 'oneiric' with 'natty', etc.)

-
Jokerdino found the right answer. This one should be deleted now. –  Chan-Ho Suh Apr 14 '12 at 2:27
At the risk of looking narcissistic, I just found my own answer very useful once again, so I undeleted it. :-/ –  Chan-Ho Suh May 22 '13 at 22:51

### For 11.10

Run this command in the terminal (Ctrl+Alt+T)

gksu gedit /etc/lightdm/unity-greeter.conf


You will see gedit (text-editor app) appear with this text:

Just edit the line that says BACKGROUND=... with the absolute path to the background image of your desire.

Then click save or Ctrl+S and close the window. You are done.

Log out to see it working.

source

-
The first time I tried this I used a file in /home and it didn't work, I just had a black background (Maybe because /home is encrypted?). Changing it to a file in /usr/share/backgrounds/<name-of_picture>.jpg worked though. –  Tom Brossman Oct 17 '11 at 8:04