Using different wallpapers on multiple monitors (Gnome 2 + Compiz)

Edit (2019): Nitrogen is no longer maintained. Nitrogen doesn't fully work on newer Ubuntu distros.

You can use nitrogen

To install it, run the following command in terminal:

sudo apt-get install nitrogen

Because nitrogen doesn't have a desktop file by default when is installed, you need to run the following command from terminal to start it:

nitrogen

How to use it?

In it's Preferences, add your wallpaper folder, then at the bottom [...] select Screen 1, 2, etc., to set a different wallpaper for each monitor:

nitrogen

To be able to set a different wallpaper for each monitor, you must disable the file manager from handling the desktop. This means you'll no longer have folders on the desktop.

In GNOME / Unity, install GNOME Tweak Tool:

sudo apt-get install gnome-tweak-tool

Then open GNOME Tweak Tool and on the Desktop section, set Icons on Desktop (previously Have file manager handle the desktop) to OFF.

And finally, to have the wallpapers restored each time you log in, add the following command:

nitrogen --restore

to your Startup Applications.

Source: UBUNTU MULTI-MONITOR TWEAKS (FULL SCREEN FLASH FIXES, SPAN WALLPAPER ACROSS MONITORS, MORE)


From webupd8.org it seems there are 2 options. (copy from the website plus some extra things added by me):

The default Ubuntu Appearance settings doesn't let you span a single large wallpaper across both monitors or use a different wallpaper for each monitor, but there are two applications that you can use to do this.

  1. The first one is SyncWall. Install it in Ubuntu using the following commands:

    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install syncwall
    

    enter image description here

    Here's how my desktops looks like after using SyncWall:

    enter image description here

    Current Features

    • Scheduling : you can change wallpaper at start-up, by interval or at fixed time
    • Ability to use/define system hot-keys to change wallpaper manually.
    • Basic multi-monitor support in order to share the wallpaper across screens
    • Ability to add some special effects (emboss, edge, blur, ...) to the displayed wallpaper.
    • Ability to rate images in order to display them more often (if random order is selected)
    • Several resizing methods and background filling
    • Network synchronization of wallpaper change by defining a server and clients. Display parameters are shared across the network (same resizing type on all the desktops)
    • Supported files :SyncWall uses Qt plugins to load image, so by default it can read basic formats as BMP, PNG, JPG. You can add more formats if needed by using bridge plugins to the FreeImage or the Devil libraries.
    • For linux platform, the common windows managers are supported (Gnome, Gnome3, KDE3, KDE4, XFCE, ...).
  2. Another such tool is nitrogen Install nitrogen, which besides being able to set the same wallpaper to extend across displays, it can also be used to set a different wallpaper to each monitor.

    Nitrogen is available in the official Ubuntu repositories so to install it, search for it in Ubuntu Software Center or use the following command:

     sudo apt-get install nitrogen
    

    Nitrogen doesn't have a desktop file, so run it from the command line:

    nitrogen
    

    enter image description here

    To be able to set a different wallpaper for each monitor, you must disable the file manager from handling the desktop. This means you'll no longer have folders on the desktop.

    In GNOME / Unity, install GNOME Tweak Tool:

     sudo apt-get install gnome-tweak-tool
    

    Then open GNOME Tweak Tool and on the "Desktop" section, set "Have file manager handle the desktop" to OFF.

    And finally, to have the wallpapers restored each time you log in, add "nitrogen --restore" to your startup applications.

    Here's how my desktop looks like with different wallpapers for each monitor:

    enter image description here

    Features :

    • Multihead and Xinerama support.
    • Recall mode to restore wallpapers via startup script.
    • Uses freedesktop.org standard for thumbnails.
    • Can set GNOME background.
    • Command line set modes for script usage.
    • Inotify monitoring of browsed directories.
    • Lazy loading of thumbnails - conserves memory (new in 1.3).
    • "Automatic" set mode - determines best mode to set an image based on its size. (new in 1.4).
    • Display preview images in a tiled icon layout (new in 1.5).

    Install via the software center


Nitrogen seems to be the best option. Syncwall seems to be using the hack you described (large image to split across several monitors.