1.7.5 headless option still requires X11 service

thingfromspace 5 years ago updated by Tom 5 years ago 3
Running the 1.7.5 jar with the -headless option seems to still require a running X11 service. First line of logs in a new run:

connect /tmp/.X11-unix/X0: No such file or directory

Additionally when a scan is run, it looks like the scan thread crashes because of the X11 requirements. No items are scanned and added to the DB:

20150324 09:26:31 [Scanner thread] INFO  com.ubooquity.data.feeder.a - Scanning comics directories
20150324 09:26:31 [Scanner thread] INFO  com.ubooquity.data.database.b - Inserting/updating comic entry in database : /xxxxx
20150324 09:26:31 [Scanner thread] INFO  com.ubooquity.b.c - Reading metadata of comic file: /xxxxx/xxxxx.cbr
20150324 09:26:31 [Scanner thread] INFO  com.ubooquity.data.database.b - Inserting/updating comic entry in database : /xxxxx/xxxxx.cbr
20150324 09:26:33 [Scanner thread] ERROR com.ubooquity.Ubooquity - Uncaught exception on thread: Scanner thread
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
	at java.lang.Class.forName0(Native Method) ~[na:1.7.0_75]
	at java.lang.Class.forName(Class.java:191) ~[na:1.7.0_75]
	at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102) ~[na:1.7.0_75]
	at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81) ~[na:1.7.0_75]
	at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1182) ~[na:1.7.0_75]
	at com.ubooquity.f.d.a(SourceFile:124) ~[Ubooquity.jar:1.7.5]
	at com.ubooquity.f.d.a(SourceFile:34) ~[Ubooquity.jar:1.7.5]
	at com.ubooquity.data.feeder.b.a(SourceFile:72) ~[Ubooquity.jar:1.7.5]
	at com.ubooquity.data.feeder.a.b(SourceFile:518) ~[Ubooquity.jar:1.7.5]
	at com.ubooquity.data.feeder.a.c(SourceFile:458) ~[Ubooquity.jar:1.7.5]
	at com.ubooquity.data.feeder.a.b(SourceFile:39) ~[Ubooquity.jar:1.7.5]
	at com.ubooquity.data.feeder.a$1.run(SourceFile:127) ~[Ubooquity.jar:1.7.5]
	at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_75]

Running the jar with the java opt "-Djava.awt.headless=true" seems to no longer require X11 (the X11 connect log entry doesn't show up). Scans work as expected with no scan thread crashes.
Under review
Good point, I'll have the "-headless" parameter to automatically set the "java.awt.headless" flag so that you don't need to add it manually.