At Sat, 11 Jul 2020 09:26:47 -0700 (PDT), Shriram Krishnamurthi wrote:
> I'm running headless Racket from a Docker container for auto-grading 
> assignments in Gradescope.
> 
> The students are writing BSL programs with 2htdp/image. This does not cause 
> any problems for most of them.
> 
> Two students, however, get an error in file loading with the error message 
> in the subject line («Gtk initialization failed for display ":0"»).
> 
> I finally localized the problem: it's because they are using the universe 
> Teachpack.
> 
> I don't know what in universe is causing this, but it seems rather weird 
> that *image*, which is fundamentally graphical, does not cause this problem 
> but *universe*, which is it fundamentally not, does.

It's helpful help to distinguish between "images" and "GUIs". The
`2htdp/image` library is only about drawing images, so it doesn't need
a GUI context. The `2htdp/universe` library deals with windows and
mouse clicks, so it needs a GUI context.

> Furthermore, this dependency means that any program that depends on 
> universe would likely not be able to be auto-graded (at least in a 
> Gradescope-like headless context), which seems a rather severe restriction. 
> (And ironic, given that the design of universe is to enable testing, and 
> hence also auto-grading.) I don't know how Northeastern does auto-grading 
> of universe that gets around this, but it's clearly in a different setting.

Following up on Sam's suggestion, I recommend `xfvb-run` as something
like

 xfvb-run racket -l handin-server


Matthew

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/20200711103633.6a%40sirmail.smtp.cs.utah.edu.

Reply via email to