20

How I can change the GDM 3.6 Wallpaper? I dont mean the desktop background, but the Wallpaper at the login (GDM 3.6).

Thanks


Thank you for your answer,

I know exactly what you mean. Recently I had installed LightDm, but today I uninstalled it, and replaced it with GDM. Ubuntu-Tweak dont show the login screen appearance button. I think it's because LightDM is currently not installed. Does anyone know where is the folder where the images are stored?

falk
  • 201

11 Answers11

8

Also worth mentioning with Ubuntu Artful 17.10, you can revert to the default Gnome 3 theme experience with:

sudo update-alternatives --config gdm3.css

And selecting the default gnome-shell.css option.

Source: https://didrocks.fr/2017/09/11/ubuntu-gnome-shell-in-artful-day-11/

Other Ubuntu and Debian Versions

The alternatives system in Debian and Ubuntu relies on "link group" names to configure software or files with similar functionality. A generic name in the /etc/alternatives/ filesystem is shared by all files included within different software packages providing interchangeable functionality.

Note that this "link group" name may be different, even for the same piece of software, depending on which version of Ubuntu or Debian you are working on. To see the available link groups on your system, run:

update-alternatives --get-selections

For this particular example with gdm3, you might want to filter this to only the gdm-related names:

update-alternatives --get-selections`  | grep -i gdm

Returns the following on Ubuntu 20.04 LTS

gdm3-theme.gresource auto /usr/share/gnome-shell/theme/Yaru/gnome-shell-theme.gresource

To configure this link group name, just pass it along to update-alternatives --config $LINK_GROUP_NAME_HERE (e.g.):

sudo update-alternatives --config gdm3-theme.gresource
TrinitronX
  • 3,394
6
  1. Copy the image you want to use into the /usr/share/gnome-shell/theme folder

    sudo gedit /usr/share/gnome-shell/theme/gnome-shell.css
    
  2. Search for the following section

    #lockDialogGroup {
    background: #2e3436 url(noise-texture.png);
    background-repeat: no-repeat;
    
  3. Change the name of the image to your image

  4. Set background to repeat or no-repeat

  5. Save the file

Logout and your new background is there

user.dz
  • 49,176
5

Follow the instructions on the Arch Linux Wiki:

https://wiki.archlinux.org/index.php/GDM#Log-in_screen_background_image

Here is what you need to do:

1. Extract the gnome-shell-theme bianry

Create and run the following script (/usr/local/bin/extractgst.sh)

#!/bin/sh

workdir=${HOME}/shell-theme
if [ ! -d ${workdir}/theme ]; then
  mkdir -p ${workdir}/theme
fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource

for r in `gresource list $gst`; do
        gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/}
done

2. Edit gnome-shell-theme.gresource.xml and gnome-shell.css (section #lockDialogGroup)

This creates the directory $HOME/shell-theme/theme. Change directory to this location.

Then create the file gnome-shell-theme.gresource.xml in the directory above.

With the following content, while imagefilename must be replaced with the filename of your background image.

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/org/gnome/shell/theme">

    <file>imagefilename</file>

    <file>calendar-arrow-left.svg</file>
    <file>calendar-arrow-right.svg</file>
    <file>calendar-today.svg</file>
    <file>checkbox-focused.svg</file>
    <file>checkbox-off-focused.svg</file>
    <file>checkbox-off.svg</file>
    <file>checkbox.svg</file>
    <file>close-window.svg</file>
    <file>close.svg</file>
    <file>corner-ripple-ltr.png</file>
    <file>corner-ripple-rtl.png</file>
    <file>dash-placeholder.svg</file>
    <file>filter-selected-ltr.svg</file>
    <file>filter-selected-rtl.svg</file>
    <file>gnome-shell.css</file>
    <file>gnome-shell-high-contrast.css</file>
    <file>logged-in-indicator.svg</file>
    <file>more-results.svg</file>
    <file>no-events.svg</file>
    <file>no-notifications.svg</file>
    <file>noise-texture.png</file>
    <file>page-indicator-active.svg</file>
    <file>page-indicator-inactive.svg</file>
    <file>page-indicator-checked.svg</file>
    <file>page-indicator-hover.svg</file>
    <file>process-working.svg</file>
    <file>running-indicator.svg</file>
    <file>source-button-border.svg</file>
    <file>summary-counter.svg</file>
    <file>toggle-off-us.svg</file>
    <file>toggle-off-intl.svg</file>
    <file>toggle-on-hc.svg</file>
    <file>toggle-on-us.svg</file>
    <file>toggle-on-intl.svg</file>
    <file>ws-switch-arrow-up.png</file>
    <file>ws-switch-arrow-down.png</file>
  </gresource>
</gresources>

Now, open the gnome-shell.css-file in the directory and change the #lockDialogGroup definition as follows:

#lockDialogGroup {
  background: #2e3436 url(imagefilename);
  background-size: [WIDTH]px [HEIGHT]px;
  background-repeat: no-repeat;
}

Set background-size to the resolution that GDM uses, this might not necessarily be the resolution of the image.

3. Then again compile it

Finally, compile the theme using the following command:

glib-compile-resources gnome-shell-theme.gresource.xml

4. Copy the compiled gnome-shell-theme file

And copy the resulting gnome-shell-theme.gresource-file to the /usr/share/gnome-shell directory.

5. Restart gdm or logout

Eventually restart gdm or just logout.

Finished!

4

I created a script which does this with just a few clicks.

You can download it at https://github.com/thiggy01/ubuntu-change-login-background

But before you download, you will need to install yad package for graphical interface. In Ubuntu, you just install it with sudo apt install yad.

After that, you just run sudo ./ubuntu-change-login-background and a window show up for you to choose your favorite image with previews.

When you select your background image, you will see a popup message saying Login image successfully changed. After that, you simply type y or Y to restart your gnome-session and apply the change.


You can see the result below with the beautiful Flat-Remix Gnome theme.

My GDM Screen

It was never so simple.

thsdsdev
  • 431
  • 3
  • 11
3
sudo machinectl shell gdm@ `which gsettings` \
  set com.ubuntu.login-screen background-picture-uri /path/to/greeter.jpg

You will need to match the screen size. i.e if you have 2 2k screens the image needs to be 5120x1440.

You can also set color, which will also fill around image if it's not covering the whole screen.

sudo machinectl shell gdm@ `which gsettings` \
  set com.ubuntu.login-screen background-color '#9c0031'

There are 2 other keys background-repeat which I assume takes the corresponding css values, haven't checked. And background-size that takes:

  • auto - original image size
  • cover - scale to cover and crop extra
  • contain - stretch to fit
Tamir Daniely
  • 291
  • 2
  • 9
2

For Ubuntu 24.04

This process has been simplified. Just use the GUI gdm-settings. It is provided in Ubuntu 24.04 system repository. To install it:

sudo apt install gdm-settings libglib2.0-dev-bin
  1. After installation, click the gdm-setting in your applications menu.
  2. Next, go to Appearance -> Background. Set Type option to Image and for Image option select your preferred image.
  3. Finally click the green colour Apply button.

settings

You will see the new GDM background after you logout your session and login again or when you restart your system.

Sun Bear
  • 3,014
1

You will need Ubuntu Tweak, if you do not have it already you can install it by running the following codes in the terminal.

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

Then launch Ubuntu Tweak and search for "login" in the search bar then click on "login settings" then press the unlock button in the top right by the search bar. Then you can edit your login screen as you choose by changing the background or Icon theme ect.

enter image description here

This should work for both GDM login as well as LightDM.

Source: http://www.techdrivein.com/2011/01/how-to-change-gdmlogin-screen.html

1

How to change Gnome 3 lock screen background:

  • GDM Background Grey is loacated in /usr/share/gnome-shell/theme/noise-texture.png
    • Rename noise-texture.png as noise-texture.png.bak (as root)
    • Copy a background of your choice in the above folder and rename it as noise-texture.png (as root)
    • Restart gnome-shell: Alt+F2, type R and hit Enter.

(Every update to gnome-shell will replace your noise-texture.png with the original, so you have keep repeating the above after every gnome-shell upgrade)

Source

0

I use gdm-tools:

sudo apt install libglib2.0-dev dconf-cli
git clone --depth=1 --single-branch https://github.com/realmazharhussain/gdm-tools.git
cd gdm-tools
./install.sh
set-gdm-theme -s default ~/Pictures/gdm_wallpaper.png
0

Keep Calm and Use an App:

Login Manager Settings: https://flathub.org/apps/io.github.realmazharhussain.GdmSettings

Majal
  • 8,249
0

I just went exploring. Check out /etc/gdm/greeter.gsettings

In the terminal, you can get READ access to this file by typing:

nano /etc/gdm/greeter.gsettings

You'll see in that file a reference to: /usr/share/themes/Adwaita/backgrounds which appears to hold the stripe backgrounds you're looking for. Good luck!

Remember, you'll need to elevate using sudo to write to this directory. Or if you would rather use the graphical interface, you can type this in the terminal to open up gedit as an elevated user, but be careful not to wreck your system:

gksudo gedit /etc/gdm/greeter.gsettings
David Foerster
  • 36,890
  • 56
  • 97
  • 151