Multiple screen wallpaper in Linux?

Solution 1:

The 'nitrogen' tool might do exactly what you need. When you run the tool, you first add one or more directories containing images, then set up you backgrounds the way you want, including setting different images on the two screens.

Now, nitrogen stores this information in .config/nitrogen/bg-saved.cfg

You restore the saved setup using 'nitrogen --restore', but of course, you could also change that file first, and then call nitrogen.

Solution 2:

This is an old thread but seeing that feh isn't properly demonstrated, I felt obliged to do so. The problem with Nitrogen is that once you have multiple monitors you cannot automatize the way you fit the image to each screen.

feh --bg-fill ~/Pictures/Wallpapers/MyWallpaper.jpg

will fit the image to your background without losing the aspect ratio. If you put two files, first one will go to the first monitor, the other to the second, like this:

$ feh --bg-center imagePathForFirstMonitor imagePathForSecondMonitor

You can also randomize the image you select by using the -z option and * for the folder contents, like this:

feh --bg-fill -z ~/Pictures/Wallpapers/*
# This command puts a random image for each monitor you have

feh is at the same an image viewer and has tons of other options that you can explore by man feh or reading the sources below.

Sources:

https://wiki.archlinux.org/index.php/feh

https://feh.finalrewind.org/

Solution 3:

I don't know such application, but you could write a script that does what you want using ImageMagick to edit/compose the images and feh to set the wallpaper. For example, this ImageMagick's montage command:

montage a.jpg b.jpg c.jpg -geometry +0+0 -tile x1 -resize x1080 out.jpg

will compose the files a.jpg, b.jpg and c.jpg into a single image (out.jpg) after resizing each input to be 1080px high.

Hope this helps, at least until you find a better solution.