How do I increase the amount of wallpapers that appear on the menu for customizing the desktop with my backgrounds in 11.10?

I added more images to the respective folder in /usr/share/background as root, but the list does not remain persistent.

The images in 11:10 changes alone. So I want to add funds to enhance the environment. When I copy the images to the folder /usr/share/backgrounds the list is updated and increased. But only for the first time. Thereafter, the system ignores the other images, and the list of funds has become original as first.

Any help?


You might want to install wallch Install wallch from Software Center and add it to the Startup Applications. That is an application made for that purpose, as described before.

  • Alexandre, the system is running good in changing the backgrounds. So far, so good. I just want to add more pics to the original of 11.10 list's but i can't see the impediment.. – bjnobrega Mar 29 '12 at 1:30
  • Yes this is an option but the system already change the funds. I just want add more. – bjnobrega Mar 29 '12 at 1:52
  • @Alexandre, use this browser script to add apt links to the software in your answer. – jokerdino Mar 29 '12 at 6:44
  • 1
    That info was the most easy to configure wallpapers without problems like editting xml files. Thank you. – bjnobrega Apr 1 '12 at 15:06

Well, I think I found the answer. First, you should take ownership of /usr/share/backgrounds and /usr/share/backgrounds/contest/precise.xml using the chown command. Then you can copy your favorite image(s) to /usr/share/backgrounds. Then you can modify precise.xml to do your desired job.

Open precise.xml in a text editor. Suppose the image you want to add is named ABSTRACT-AnotherBlue_1024x768.png. Then you should copy one part of the body program and modify it like:


Note that the next image name is Twilight_Frost_by_Phil_Jackson.jpg, so you should copy this piece just before:


Now save and exit. Then restart your computer. You're done!


I wrote a perl script to build out the xml file. So if you have a directory with a ton of images and you would like to use them for backgrounds that change through out the day you can just run this once to build the list.

#! /usr/bin/perl
use strict;
use warnings;
# Change the value below to the directory where you images are stored!
my $dir = "/~/Pictures/backgrounds"; 
my $transition_duration = '5.0';
my $duration = '1795.0';
# Change the value below to the xml file to build.
my $bg_list_file = "/usr/share/backgrounds/contest/saucy.xml";
my @pictures;
opendir(DIR, $dir) or die $!;
while (my $file = readdir(DIR)){
next unless (-f "$dir/$file");
push @pictures, $file;
my $last_file;
open (my $fh, '>', $bg_list_file) or die "Could not open file '$bg_list_file' $1";
print $fh "    <background>\n\t<starttime>\n\t\t<year>2009</year>\n\t\t<month>08</month>\n\t\t<day>04</day>\n\t\t<hour>00</hour>\n\t\t<minute>00</minute>\n\t\t<second>00</second>\n\t</starttime>\n";
foreach my $pic (@pictures){
my $xml = "\t<static>\n\t\t<duration>$duration</duration>\n\t\t<file>$dir/$pic</file>\n\t</static>";
if (defined $last_file and length $last_file){
$xml = "\t<transition>\n\t\t<duration>$transition_duration</duration>\n\t\t<from>$dir/$last_file</from>\n\t\t<to>$dir/$pic</to>\n\t</transition>\n$xml";
$last_file = $pic;
print $fh "$xml\n";
print $fh "</background>";
close $fh;

Hope it helps!


Which of the two here are you trying to do?

  • Create a folder of images that will queue and change to be your background image at a set time rate


  • Change your background to one of your own personal pictures, downloaded pictures, etc...?

If you want to do the second, all you have to do is navigate to the file > Image Viewer > Right Click On the Photo > Set As Desktop Background. You can also create your own personal collection of background images in a folder, and open up the Appearance application and chose your folder/images by adding them via the + and - sign. If you are looking to do the first, wallch (listed above) is going to be your best bet.

  • Good point the second option, but what I've tried to add the images by pressing the plus (+) and minus (-), but the image disappears from the list, except the original images of Ubuntu. – bjnobrega Mar 29 '12 at 1:51
  • I believe you have to use a different folder than the default one, the collection might be locked or something; have you tried that? – RSX-1327 Mar 29 '12 at 2:00
  • If the default pics are shown why others cant? Even under root access? – bjnobrega Mar 29 '12 at 2:08
  • Have you attempted to use the chmod command in terminal? If you didn't have write, then you shouldn't have been able to modify anything in the folder. – RSX-1327 Mar 29 '12 at 2:11
  • I will try this. – bjnobrega Mar 29 '12 at 2:22

You can install the gnome-backgrounds package to get the ones which upstream GNOME ship with. If you want to add more to the main "Wallpapers" listing in the control center, versus just having them show up under the "Pictures" option in the drop down list, you can package them up and create an XML file in the $XDG_DATA_HOME/gnome-background-properties directory, such as bjnobrega-wallpapers.xml, similar to the other XML files which exist in /usr/share/gnome-background-properties. If you look at one it should be fairly obvious what you need to do. The images themselves can be anywhere on the file system, so long as you can read them.

To simply have them appear under the "Pictures" listing, you can put them in whatever your "Pictures" folder is set to (usually ~/Pictures I think), and they will show up. Or you can click the [+] icon under the listing, and select many pictures, where they will all show up under the "Pictures" heading.

  • But what I've tried to add the images by pressing the plus (+) and minus (-), but the image disappears from the list, except the original images of Ubuntu. How can i package the pics and create a xml file to follow your tip? – bjnobrega Mar 29 '12 at 1:55
  • @bjnobrega When you add them with the [+] button, they appear under the "Pictures" item instead, the next time you open the appearance properties. If you click on the "Wallpapers" drop-down and choose "Pictures" you should see them in there. I'll update my answer about the XML file, as there's another place you can put it, instead of making a .deb package. – dobey Mar 29 '12 at 2:24
  • Ok. Thank's for helping. Waiting for final tip. – bjnobrega Mar 29 '12 at 2:37

I think it's in /usr/share/backgrounds.

just make a ~/Pictures/wallpapers and make a link from /usr/share/wallpapers to that folder, so then they'll appear as a subfolder in the wallpaper selection, and you won't have to enter the root password every time. that might help

  • My desire is to shown my backgrounds and ubuntu backgrounds in same folder. – bjnobrega Mar 29 '12 at 1:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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