I'm experiencing a bug in Mountain Lion. I have 2 desktop spaces open. When I change the desktop background picture, it only changes for one of the spaces and not the other. Rebooting solved the problem.

Is this a bug? If so what is causing it? Is there any way to change the behaviour?

enter image description here

  • 2
    aren't backgrounds defined per space in ML (and in earlier OS X versions as well)?
    – nohillside
    Aug 22, 2012 at 21:43
  • 1
    I believe this is by design - though it's certainly irritating. There is no easy way I've found to set all spaces at once. I use 6, so changing the desktop can take a while.
    – Alex
    Aug 22, 2012 at 21:49
  • Could you edit this into a real question? I'm also not sure what the screenshot is supposed to show, it looks like both spaces have a maximized browser window open.
    – Gerry
    Aug 22, 2012 at 23:00
  • 1
    FWIW, this was the case with Lion, too: discussions.apple.com/thread/3191097?start=0&tstart=0
    – Ken
    Aug 26, 2012 at 3:41

7 Answers 7


Seems like if you set the first desktop to the picture you want and then go to each space and right click on the desktop and select "Change Desktop Background" it changes that desktop's background to the background of Desktop 1.

YMMV: This in 10.8.1, pretty sure it wasn't like that before (in 10.8).

  1. Go to Mission Control and remove all Spaces but the Main Space (which is the leftmost space) by clicking the "X" buttons at their upper left corners.
  2. Click the Main Space to enter it and chose the desired desktop background.
  3. Go to Mission Control again and add the desired amount of spaces by repeatedly moving the mouse pointer to the upper right corner of the screen and clicking the "+" Button that will emerge.
  4. Voilà: every new space will have the same background.

As Alex pointed out. I falsely assumed workspaces was the same as in 10.6 where all workspaces backgrounds change simultaniously. This is not the case in 10.8. Meaning my bug is not a bug, it's a feature.


It's an annoying issue but I found a decent solution.

  1. Open up the system preferences pane and choose Desktops&Screensavers.
  2. Choose your background of choice for the current Space that the preference pane is open in. Only the background in this space will change.
  3. Activate Mission Control and drag the system settings preference pane to your next Space that you'd like to change.
  4. Click on a picture within the Desktops&Screensavers pane that you'd like for this background and it'll change for this current Space.
  5. Repeat the Mission Control and dragging the preference pane as necessary for other Spaces.

If you want to do it in a more automated way try the Applescript below.

It needs a bit of manual setup, you have to put in the number of spaces and if you changed the default hotkeys for first and next desktop.

-- Adapted from http://movingparts.net/2012/09/25/changing-backgroundwallpaper-on-os-x-with-multiple-spaces-and-multiple-monitors/

-- pick a new background image
set theFile to choose file

-- *Note*: Set the number of spaces/desktops manually
set numSpaces to 12

-- Loop through the spaces/desktops, setting each of their backgrounds in turn:
-- *Note*: Set your keyboard shortcut for desktop 1 if it’s different
tell application "System Events" to key code 18 using {control down} -- ⌃1
repeat (numSpaces) times

    -- Now loop through each monitor (confusingly called desktop) and change its background
    tell application "System Events"
        set monitors to a reference to every desktop
        set numMonitors to count (monitors)
        log numMonitors
        repeat with monitorIndex from 1 to numMonitors by 1
            set picture of item monitorIndex of the monitors to theFile
        end repeat
    end tell

    delay 0.2

    -- switch to the next desktop
    -- *Note:* Set your keyboard shortcut for "next desktop" if it’s different
    tell application "System Events" to key code 124 using {control down} -- ⌃→
    delay 0.2
end repeat

This simple shell script can change the backgrounds on all spaces:


if [ -z $1 ]; then
  echo "Usage $0 [filename]"
  exit 1

echo "UPDATE data SET value='$1';" | sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db
killall Dock

Open up System Preferences. Click on "Desktop & Screen Saver." Then click the picture at the top left. This is the default desktop background. Select whatever pic you want to be the background and that should solve your problem.

  • How does this differ from other answers and what version of OSX does this apply to?
    – mmmmmm
    Oct 24, 2012 at 13:11
  • At least on ML the picture is the picture of the current desktop. I don't think there is a notion of default desktop picture any longer.
    – nohillside
    Oct 25, 2012 at 4:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .