The Way GNOME Handles Wallpapers Really Annoys Me

I <3 wallpapers

I <3 Wallpapers

I love GNOME Shell — and no, not just because I’ve little choice now that is Ubuntu’s default desktop!

But the more I use GNOME the more I learn that the desktop environment, like every other, has its own share of quirks, bugs and inconsistencies.

Like the following appreciably niche niggle in the the way GNOME handles desktop wallpapers.

A Minor Wallpaper Niggle

I love desktop wallpapers, as I’ve previously mentioned. I regularly download new wallpapers from websites, and set them as my desktop background in GNOME using Nautilus (right click > set as wallpaper).

Each time I do this GNOME makes a copy of the background images in ~/Pictures/Wallpapers.

But (rather bizarrely) the desktop’s built-in wallpaper settings manager (Settings > Wallpaper) ignores this location entirely.

GNOME wallpaper inconsistency

Before: the ~/Pictures/Wallpaper directory GNOME creates is ignored

Only images sitting in the top ~/Pictures folder (as well as those in a hidden cache folder we’ll explain more about in a second) are listed in this overview by default

This makes it harder for me to re-set or re-use a wallpaper I’ve previously enjoyed.

Now, GNOME has it’s reasons. It says it looks in the Pictures folder rather than the one it creates because “most photo management applications store photos there“.

But I think this is inconsistent and far from user friendly, two concepts that don’t vibe with GNOME’s people-focused (their words, not mine) approach, rigour and increasing maturity.

Thankfully a reader (who doesn’t wish to be named, but thanks) passed me a workaround solution. It fixes this inconsistency by exploiting a lesser known feature.

See, whenever you drag an image file into the Picture overview of the GNOME Background settings pane GNOME stores a copy in ~/.cache/gnome-control-center/backgrounds/.

GNOME Settings (it turns out) looks in both this folder and ~/Pictures to populate the Background > Pictures overview. It’s this which enables the following little “fix”.

This workaround is by a non-developer who occasionally makes mistakes in his/her non-non-[profession], so use at your own risk.

The “fix” is to replace the backgrounds folder in the cache folder with a symbolic link back to the wallpapers folder that GNOME settings ignores.

Naturally you should make a backup of any pictures in the cache folder before you replace the folder with a symbolic link to ~/Pictures/Wallpapers.

Then, to remove the original background folder, run this command in a new Terminal window:

rm -r ~/.cache/gnome-control-center/backgrounds

Then create a symlink to the ‘ignored’ folder:

ln -s ~/Pictures/Wallpapers/ ~/.cache/gnome-control-center/backgrounds

Phew — all done!

Next time you go to the ‘Pictures’ section of the GNOME Background picker you’ll see images from both ~/Pictures and the previously-ignored ~/Pictures/Wallpapers, aka the location Nautilus stores wallpapers.

And any wallpaper you drag on to the picker will now also be stored in this folder, making is super easy to re-find a favourite drap at any time.

GNOME Shell Backgrounds picker

After: the ~/Pictures/Wallpaper directory is used

In addition, this “fix” removes the need to right-click on any image inside ~/Pictures/Wallpapers to set it as your wallpaper, a move which would previously created an unnecessary copy of it elsewhere on your system.

As I said at the outset, this is a minor niggle. I expect most of you never noticed this quirk, much less pulled your hair out over it!

Understandably you should be prepared for future GNOME updates to undo these changes.

If you want to live the wild side you could go further and link your ~/Pictures/Wallpapers to, say, a directory in your Dropbox.