Comment 27 for bug 449198

hamish (hamish-b) wrote :

fyi, this works on ubuntu 12.04 to change the gdm login screen background image:


# su - gdm -s /bin/bash
$ dbus-launch

This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them

$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38
$ export DBUS_SESSION_BUS_PID=4283

Check to see if dconf-service is running and if not, start it like this

$ /usr/lib/dconf/dconf-service &


$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"

You will need to point to a file where the gdm user has permission to read, not in your home directory.

then as root restart the gdm service.

for precise I had to "chown gdm.gdm /var/lib/gdm/.config -R" first, as root owned that not the gdm user, so the gdm user couldn't write the file.

The resulting /var/lib/gdm/.config/dconf/user file is binary so can't just edit the config file with a text editor as per 4 decades of UNIX /etc conventions. (@!#@$!^%~)

have fun,