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.

