I want to change my wallpaper in Ubuntu 11.10 (with Unity) in a small Python script.
I found the possibility to change it via the
python-gconf, I'm able to change the necessary values.
Apparently, the gconf string is not read out. If I change it (either via a script or via
gconf-editor), the wallpaper remains and in the menu of "Change wallpaper", the old wallpaper is shown.
How am I able to change the wallpaper for Unity via a Python script?
The following code does work.
#!/usr/bin/python # -*- coding: utf-8 -*- from gi.repository import Gio class BackgroundChanger(): SCHEMA = 'org.gnome.desktop.background' KEY = 'picture-uri' def change_background(self, filename): gsettings = Gio.Settings.new(self.SCHEMA) print(gsettings.get_string(self.KEY)) print(gsettings.set_string(self.KEY, "file://" + filename)) gsettings.apply() print(gsettings.get_string(self.KEY)) if __name__ == "__main__": BackgroundChanger().change_background("/home/user/existing.jpg")