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 racket-users+unsubscr...@googlegroups.com.
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