Note
This is taken from one of my few usenet postings. It is from 1998 so probably not terribly useful today.

Putting An Image On The Desktop

We’re technically talking about putting a .jpg, .gif, or .bmp on the "root" window.

xv

I used to use the xv command. You can use

xv -root -maxpect -quit elisaspic.jpg

The -quit argument makes xv go away after the image is done loading.

Another fun trick is to have xv display an entire collection of photos on the root window sequentially. You can use a very short bash script for this:

for PHOTOS in *.jpg; do xv -root -maxpect -wait 10 -quit $PHOTOS ; done

Image Magick

Another solution is Image Magick which is very similar to xv for this purpose. If Image Magick is installed, then you have a "display" command that does pretty much the same thing.

xsetroot

The other option is to use the xsetroot command. This is a fairly standard X command but it only likes the X window system’s very own non compressed format; this makes image files kind of large.

I personally use xsetroot -solid darkgreen to make my background green. I have this in my bash start up script so that I can have different accounts fire up with different colored backgrounds.