Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jun 2020 14:59:29 -0400
From:      Aryeh Friedman <aryeh.friedman@gmail.com>
To:        Michael Osipov <1983-01-06@gmx.net>
Cc:        freebsd-java@freebsd.org
Subject:   Re: Min. ports needed for headless AWT/Swing
Message-ID:  <CAGBxaXkpFimZFOX8WpkZvip9T%2BTnUt6sxg9jv2YsMzU2vjfBBw@mail.gmail.com>
In-Reply-To: <417840b4-1acc-ac20-2127-0754bce1fd68@gmx.net>
References:  <CAGBxaXnf=Q0Df403nRpsCVudiN56KD=rKxGtbjQAHePVoDnEFA@mail.gmail.com> <417840b4-1acc-ac20-2127-0754bce1fd68@gmx.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <1983-01-06@gmx.net> wrote:

> Am 2020-06-29 um 17:43 schrieb Aryeh Friedman:
> > I have a java application that works fine with setenv DISPLAY :0.0 on my
> > desktop FreeBSD 12.1 (amd64) [with Xfce4] but when I attempt to run the
> > same app on a VM that has the minimum ports needed to install OpenJDK 8
> and
> > Tomcat I get an exception saying that it can't connect to the X server
> even
> > though I did setenv DISPLAY desktop:0.0 (and xhost + on the desktop).
> > Note it is the same user on both machines (NIS/NFS password DB/home dirs)
> > doing the running on both machines but is a different user then the one
> > logged in at the console (I do all my development in a separate account)
>
> Are you look for "-Djava.awt.headless=true"?
>

Since this is a screen capture/recording program (which I am the developer)
I need to be able to capture the console (running X) that I am currently
on.   So the question is what is the minimum set of ports/packages I need
to install on the VM to make it see and X server?   It should be noted the
program has no GUI but does use java.awt.Robot#createScreenCapture (using
the full screen resolution as it's bounds) individual frames of the longer
video.

Here is the specific exception I am attempting to fix:
On desktop (192.168.11.20)
% xhost +

On VM (192.168.11.4):
% setenv DISPLAY 192.168.11.20:0.0
% java
-javaagent:/usr/local/share/java/classes/jacocoagent.jar=destfile=/usr/home/aryeh/fnwe-scap-1a1.C036/jacoco.exec,jmx=true,excludes=thistest/*:test/*
-cp
/usr/home/aryeh/fnwe-scap-1a1.C036/scrap/www/WEB-INF/lib/fnwe-scap-1a1.jar:/usr/local/share/java/classes/thisTest.jar:/usr/local/share/java/classes/pcCommon.jar:/usr/local/share/java/classes/pcUtil.jar
test.TestMain

Result of the jvm invocation on the VM (not it works no problem su(do)'ing
to another account on the desktop if I do setenv DISPLAY :0.0):

Caused by: java.awt.AWTError: Can't connect to X11 window server using
'192.168.11.20:0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
at
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at test.scap.TestVideoFrame.testCaptureFrame(TestVideoFrame.java:76)

_______________________________________________
> freebsd-java@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "freebsd-java-unsubscribe@freebsd.org"
>


-- 
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGBxaXkpFimZFOX8WpkZvip9T%2BTnUt6sxg9jv2YsMzU2vjfBBw>