Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am creating a JPEG file, converting to BMP then using with xsetroot, but that is failing.

1) Make a JPEG file

$ convert -size 800x600 xc:transparent \
          -font Bookman-DemiItalic -pointsize 50 \
          -draw "text 25,90 'Please wait.'" -channel RGBA -blur 0x6 \
          -fill steelblue -stroke white \
          -draw "text 10,90 'Please wait.'" -antialias /var/tmp/wait.jpeg;

2) Convert the file from JPEG to bitmap BMP

$ convert /var/tmp/wait.jpeg /var/tmp/wait.bmp;


$ mogrify -format wait.jpeg wait.another.bmp;

3) Use it

$ xsetroot -bitmap /var/tmp/wait.bmp
xsetroot: bad bitmap format file: /var/tmp/wait.bmp


$ xsetroot -bitmap /var/tmp/wait.another.bmp;
xsetroot: bad bitmap format file: /var/tmp/wait.another.bmp

How do I set that BMP to xsetroot?

share|improve this question
man xsetroot mentions bitmap whose manpage suggests a simple monochrome bitmap format. I believe your convert commands are creating a different bitmap format - the one commonly used by Microsoft. – RedGrittyBrick Apr 23 '12 at 8:06
up vote 4 down vote accepted

I'd try .xbm (X11 bitmap format) as the file type.

See BMP and XBM in

Also, you don't need to use JPEG as an intermediate format. Use .xbm in the first command and omit the second.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.