[Mono-list] Why is an X server necessary to useSystem.Drawing.Graphics?

Adrian Wilkins adrian.wilkins at gmail.com
Tue Apr 25 09:34:15 EDT 2006

> > I suppose my real concern is that if you want to use code to draw
> > (e.g.) CAPTCHAs or other bitmaps as part of a process, rather than for
> > the purposes of drawing UI for the user, running an X server to do it
> > could seem like overkill on a server that would ordinarily not be
> > running one. Feel free to mock my reasoning.
On 4/25/06, Dallman, John <jgd at ugs.com> wrote:
<points out, quite rightly, that graphics libs are big and complicated
and scary, that X has a good one and it's eminently sensible to re-use

> If you are running a server that generates stuff for web pages,
> rather than being a simple file/print server, it's going to
> need more support software to do those things.
> On MS Windows, you
> can't operate without the GUI at all;

Not entirely true ; you can't BOOT the OS without the GUI but (these
days) it's quite feasible to manage a Windows server without touching
GUI widgets.

> on UNIX/Linux you can do so
> for some things, but they're fairly limited.

I heartily disagree. I'd hardly call the non-GUI uses of Linux
"limited". My default interface to Linux is the shell, and aside from
one application (MythTV), I never leave the confines of the command

I think your perceptions are being skewed by your background as a CAD
engineer here.

> --
> John Dallman, Parasolid Porting Engineer, +44-1223-371554

So, I agree, it's sensible re-use to be using the X drawing routines ;
I wouldn't advocate re-writing such a large body of code just for
kicks. I was just exploring the possibility that someone might want to
draw things without having a graphical desktop up (or even without
graphics hardware being present) - which is probably the case on a
server generating bitmaps.

This is a pretty hypothetical line of reasoning anyway ; I'm not in
serious need of a solution to this, and if I was, I'd probably be
inclined to compromise.

The next question would be - is it possible to use X drawing libraries
in a way that does not use a Display, or use some sort of Display that
does not actually need a real display device... an example I was able
to find was Xvnc or Xvfb (which are the recommended X servers for

I tried using Xvfb ; I got the same results as I got using xwin.exe
(cygwin X server), the segfault stacktraced further up in the thread.

More information about the Mono-list mailing list