Min. ports needed for headless AWT/Swing

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Min. ports needed for headless AWT/Swing

Aryeh Friedman-2
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)

--
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Michael Osipov
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"?
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Aryeh Friedman-2
On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]> 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)

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


--
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Ronald Klop
Van: Aryeh Friedman <[hidden email]>
Datum: maandag, 29 juni 2020 20:59
Aan: Michael Osipov <[hidden email]>
CC: [hidden email]
Onderwerp: Re: Min. ports needed for headless AWT/Swing

>
> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]> 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)
>
> _______________________________________________
> > [hidden email] mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
> > To unsubscribe, send any mail to "[hidden email]"
> >
>
>
> --
> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "[hidden email]"
>
>
>

Hi,

Can you start any other X application on the VM using the DISPLAY setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X instead of something with Java. I guess it is something with X.
I guess your desktop is not listening for external connections to the X server or your routing between the VM and the desktop does not work.
Or start a X server in the VM and use DISPLAY=:0.0 again.

This gives some hints to enable remote connections in X.
https://lanforge.wordpress.com/2018/03/30/enabling-remote-x-connections/

Another nice option is "ssh -X" from the VM to the desktop.

Regards,
Ronald.
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Aryeh Friedman-2
On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]> wrote:

> *Van:* Aryeh Friedman <[hidden email]>
> *Datum:* maandag, 29 juni 2020 20:59
> *Aan:* Michael Osipov <[hidden email]>
> *CC:* [hidden email]
> *Onderwerp:* Re: Min. ports needed for headless AWT/Swing
>
> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]> 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)
>
> _______________________________________________
> > [hidden email] mailing list
> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
> > To unsubscribe, send any mail to "[hidden email]"
> >
>
>
> --
> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "[hidden email]"
> ------------------------------
>
>
> Hi,
>
> Can you start any other X application on the VM using the DISPLAY setting?
> Like /usr/ports/x11/xeyes. Than you know if it is something with X instead
> of something with Java. I guess it is something with X.
> I guess your desktop is not listening for external connections to the X
> server or your routing between the VM and the desktop does not work.
> Or start a X server in the VM and use DISPLAY=:0.0 again.
>

Don't have any X components installed except for the ones required by
"make/make install" on openjdk8.   The reason for this post in the first
place was to figure out the minimum set of ports needed to get a working
DISPLAY variable in the first place.


--
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Ronald Klop
 
Van: Aryeh Friedman <[hidden email]>
Datum: woensdag, 1 juli 2020 13:33
Aan: Ronald Klop <[hidden email]>
CC: [hidden email], Michael Osipov <[hidden email]>
Onderwerp: Re: Min. ports needed for headless AWT/Swing

>
>  
>  
> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]> wrote:
>>
>> Van: Aryeh Friedman <[hidden email]>
>> Datum: maandag, 29 juni 2020 20:59
>> Aan: Michael Osipov <[hidden email]>
>> CC: [hidden email]
>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>>>
>>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]> 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)
>>>
>>> _______________________________________________
>>> > [hidden email] mailing list
>>> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
>>> > To unsubscribe, send any mail to "[hidden email]"
>>> >
>>>
>>>
>>> --
>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>> _______________________________________________
>>> [hidden email] mailing list
>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>>> To unsubscribe, send any mail to "[hidden email]"
>>>
>>>
>>>
>>
>> Hi,
>>
>> Can you start any other X application on the VM using the DISPLAY setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X instead of something with Java. I guess it is something with X.
>> I guess your desktop is not listening for external connections to the X server or your routing between the VM and the desktop does not work.
>> Or start a X server in the VM and use DISPLAY=:0.0 again.
>
>  
> Don't have any X components installed except for the ones required by "make/make install" on openjdk8.   The reason for this post in the first place was to figure out the minimum set of ports needed to get a working DISPLAY variable in the first place.
>
>
> --
> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org

I'm 99% sure you don't need any additional ports to get a working DISPLAY variable.

It will probably help to start your X server with "-listen tcp". But I don't have enough information to be sure about that and how to configure that in your setup.

Ronald.
 
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Aryeh Friedman-2
On Wed, Jul 1, 2020 at 7:58 AM Ronald Klop <[hidden email]> wrote:

>
>
> *Van:* Aryeh Friedman <[hidden email]>
> *Datum:* woensdag, 1 juli 2020 13:33
> *Aan:* Ronald Klop <[hidden email]>
> *CC:* [hidden email], Michael Osipov <[hidden email]>
> *Onderwerp:* Re: Min. ports needed for headless AWT/Swing
>
>
>
> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]> wrote:
>
>> *Van:* Aryeh Friedman <[hidden email]>
>> *Datum:* maandag, 29 juni 2020 20:59
>> *Aan:* Michael Osipov <[hidden email]>
>> *CC:* [hidden email]
>> *Onderwerp:* Re: Min. ports needed for headless AWT/Swing
>>
>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]>
>> 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)
>>
>> _______________________________________________
>> > [hidden email] mailing list
>> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
>> > To unsubscribe, send any mail to "[hidden email]"
>> >
>>
>>
>> --
>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>> _______________________________________________
>> [hidden email] mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>> To unsubscribe, send any mail to "[hidden email]"
>> ------------------------------
>>
>>
>> Hi,
>>
>> Can you start any other X application on the VM using the DISPLAY
>> setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X
>> instead of something with Java. I guess it is something with X.
>> I guess your desktop is not listening for external connections to the X
>> server or your routing between the VM and the desktop does not work.
>> Or start a X server in the VM and use DISPLAY=:0.0 again.
>>
>
> Don't have any X components installed except for the ones required by
> "make/make install" on openjdk8.   The reason for this post in the first
> place was to figure out the minimum set of ports needed to get a working
> DISPLAY variable in the first place.
>
>
> --
> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>
>
> I'm 99% sure you don't need any additional ports to get a working DISPLAY
> variable.
>
> It will probably help to start your X server with "-listen tcp". But I
> don't have enough information to be sure about that and how to configure
> that in your setup.
>

I think that might work if in fact there was an X server on the VM:

root@dnixon:~ # X -listen-tcp
X: Command not found.
root@dnixon:~ # ls /usr/local/bin/X*
ls: No match.
root@dnixon:~ # ls /usr/local/bin/x*
/usr/local/bin/x265 /usr/local/bin/xicclu /usr/local/bin/xmlcatalog
/usr/local/bin/xslt-config
/usr/local/bin/xaegis /usr/local/bin/xjc /usr/local/bin/xmlcatmgr
/usr/local/bin/xsltproc
/usr/local/bin/xft-config /usr/local/bin/xkbcomp /usr/local/bin/xmllint
/usr/local/bin/xsubpp
/usr/local/bin/xgettext /usr/local/bin/xml2-config /usr/local/bin/xmlwf
/usr/local/bin/xxd
root@dnixon:~ # ls /usr/local/sbin/x*
ls: No match.
root@dnixon:~ # ls /usr/local/sbin/X*
ls: No match.
root@dnixon:~ # java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)


--
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Ronald Klop
 
Van: Aryeh Friedman <[hidden email]>
Datum: woensdag, 1 juli 2020 14:03
Aan: Ronald Klop <[hidden email]>
CC: [hidden email], Michael Osipov <[hidden email]>
Onderwerp: Re: Min. ports needed for headless AWT/Swing

>
>  
>  
> On Wed, Jul 1, 2020 at 7:58 AM Ronald Klop <[hidden email]> wrote:
>>
>>  
>> Van: Aryeh Friedman <[hidden email]>
>> Datum: woensdag, 1 juli 2020 13:33
>> Aan: Ronald Klop <[hidden email]>
>> CC: [hidden email], Michael Osipov <[hidden email]>
>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>>>
>>>  
>>>  
>>> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]> wrote:
>>>>
>>>> Van: Aryeh Friedman <[hidden email]>
>>>> Datum: maandag, 29 juni 2020 20:59
>>>> Aan: Michael Osipov <[hidden email]>
>>>> CC: [hidden email]
>>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>>>>>
>>>>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]> 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)
>>>>>
>>>>> _______________________________________________
>>>>> > [hidden email] mailing list
>>>>> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
>>>>> > To unsubscribe, send any mail to "[hidden email]"
>>>>> >
>>>>>
>>>>>
>>>>> --
>>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>>>> _______________________________________________
>>>>> [hidden email] mailing list
>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>>>>> To unsubscribe, send any mail to "[hidden email]"
>>>>>
>>>>>
>>>>>
>>>>
>>>> Hi,
>>>>
>>>> Can you start any other X application on the VM using the DISPLAY setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X instead of something with Java. I guess it is something with X.
>>>> I guess your desktop is not listening for external connections to the X server or your routing between the VM and the desktop does not work.
>>>> Or start a X server in the VM and use DISPLAY=:0.0 again.
>>>
>>>  
>>> Don't have any X components installed except for the ones required by "make/make install" on openjdk8.   The reason for this post in the first place was to figure out the minimum set of ports needed to get a working DISPLAY variable in the first place.
>>>
>>>
>>> --
>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>
>> I'm 99% sure you don't need any additional ports to get a working DISPLAY variable.
>>
>> It will probably help to start your X server with "-listen tcp". But I don't have enough information to be sure about that and how to configure that in your setup.
>
>  
> I think that might work if in fact there was an X server on the VM:
>  
> root@dnixon:~ # X -listen-tcp
> X: Command not found.
> root@dnixon:~ # ls /usr/local/bin/X*
> ls: No match.
> root@dnixon:~ # ls /usr/local/bin/x*
> /usr/local/bin/x265 /usr/local/bin/xicclu /usr/local/bin/xmlcatalog /usr/local/bin/xslt-config
> /usr/local/bin/xaegis /usr/local/bin/xjc /usr/local/bin/xmlcatmgr /usr/local/bin/xsltproc
> /usr/local/bin/xft-config /usr/local/bin/xkbcomp /usr/local/bin/xmllint /usr/local/bin/xsubpp
> /usr/local/bin/xgettext /usr/local/bin/xml2-config /usr/local/bin/xmlwf /usr/local/bin/xxd
> root@dnixon:~ # ls /usr/local/sbin/x*
> ls: No match.
> root@dnixon:~ # ls /usr/local/sbin/X*
> ls: No match.
> root@dnixon:~ # java -version
> openjdk version "1.8.0_252"
> OpenJDK Runtime Environment (build 1.8.0_252-b09)
> OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
>
>
> --
> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org

In an earlier message you talked about "setenv DISPLAY 192.168.11.20:0.0". That is the IP address of your desktop. So the X server must be running on your desktop.

You want the VM to screencapture the screen of the desktop? Or do you want the VM to screencapture the screen of the VM?

Regards,
Ronald.
 
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Aryeh Friedman-2
On Wed, Jul 1, 2020 at 8:30 AM Ronald Klop <[hidden email]> wrote:

>
> Van: Aryeh Friedman <[hidden email]>
> Datum: woensdag, 1 juli 2020 14:03
> Aan: Ronald Klop <[hidden email]>
> CC: [hidden email], Michael Osipov <[hidden email]>
> Onderwerp: Re: Min. ports needed for headless AWT/Swing
> >
> >
> >
> > On Wed, Jul 1, 2020 at 7:58 AM Ronald Klop <[hidden email]> wrote:
> >>
> >>
> >> Van: Aryeh Friedman <[hidden email]>
> >> Datum: woensdag, 1 juli 2020 13:33
> >> Aan: Ronald Klop <[hidden email]>
> >> CC: [hidden email], Michael Osipov <[hidden email]>
> >> Onderwerp: Re: Min. ports needed for headless AWT/Swing
> >>>
> >>>
> >>>
> >>> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]>
> wrote:
> >>>>
> >>>> Van: Aryeh Friedman <[hidden email]>
> >>>> Datum: maandag, 29 juni 2020 20:59
> >>>> Aan: Michael Osipov <[hidden email]>
> >>>> CC: [hidden email]
> >>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
> >>>>>
> >>>>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]>
> 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)
> >>>>>
> >>>>> _______________________________________________
> >>>>> > [hidden email] mailing list
> >>>>> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
> >>>>> > To unsubscribe, send any mail to "
> [hidden email]"
> >>>>> >
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> >>>>> _______________________________________________
> >>>>> [hidden email] mailing list
> >>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> >>>>> To unsubscribe, send any mail to "
> [hidden email]"
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>> Hi,
> >>>>
> >>>> Can you start any other X application on the VM using the DISPLAY
> setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X
> instead of something with Java. I guess it is something with X.
> >>>> I guess your desktop is not listening for external connections to the
> X server or your routing between the VM and the desktop does not work.
> >>>> Or start a X server in the VM and use DISPLAY=:0.0 again.
> >>>
> >>>
> >>> Don't have any X components installed except for the ones required by
> "make/make install" on openjdk8.   The reason for this post in the first
> place was to figure out the minimum set of ports needed to get a working
> DISPLAY variable in the first place.
> >>>
> >>>
> >>> --
> >>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> >>
> >> I'm 99% sure you don't need any additional ports to get a working
> DISPLAY variable.
> >>
> >> It will probably help to start your X server with "-listen tcp". But I
> don't have enough information to be sure about that and how to configure
> that in your setup.
> >
> >
> > I think that might work if in fact there was an X server on the VM:
> >
> > root@dnixon:~ # X -listen-tcp
> > X: Command not found.
> > root@dnixon:~ # ls /usr/local/bin/X*
> > ls: No match.
> > root@dnixon:~ # ls /usr/local/bin/x*
> > /usr/local/bin/x265 /usr/local/bin/xicclu /usr/local/bin/xmlcatalog
> /usr/local/bin/xslt-config
> > /usr/local/bin/xaegis /usr/local/bin/xjc /usr/local/bin/xmlcatmgr
> /usr/local/bin/xsltproc
> > /usr/local/bin/xft-config /usr/local/bin/xkbcomp /usr/local/bin/xmllint
> /usr/local/bin/xsubpp
> > /usr/local/bin/xgettext /usr/local/bin/xml2-config /usr/local/bin/xmlwf
> /usr/local/bin/xxd
> > root@dnixon:~ # ls /usr/local/sbin/x*
> > ls: No match.
> > root@dnixon:~ # ls /usr/local/sbin/X*
> > ls: No match.
> > root@dnixon:~ # java -version
> > openjdk version "1.8.0_252"
> > OpenJDK Runtime Environment (build 1.8.0_252-b09)
> > OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
> >
> >
> > --
> > Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>
> In an earlier message you talked about "setenv DISPLAY 192.168.11.20:0.0".
> That is the IP address of your desktop. So the X server must be running on
> your desktop.
>
> You want the VM to screencapture the screen of the desktop? Or do you want
> the VM to screencapture the screen of the VM?
>

On the desktop... finally got it to capture the screeen on the desktop via
what I tried above but now have a second problem with is the audio capture
is there anyway to make the following Java snippet work with a remote mic
(works fine on the desktop with a local mic on dsp2.0)?

                fmt=new AudioFormat(160000,8,2,true,true);
                mic=AudioSystem.getTargetDataLine(fmt);
                mic.open(fmt);
                mic.start();

--
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Ronald Klop
 
Van: Aryeh Friedman <[hidden email]>
Datum: woensdag, 1 juli 2020 14:36
Aan: Ronald Klop <[hidden email]>
CC: [hidden email], Michael Osipov <[hidden email]>
Onderwerp: Re: Min. ports needed for headless AWT/Swing

>
>  
>  
> On Wed, Jul 1, 2020 at 8:30 AM Ronald Klop <[hidden email]> wrote:
>>  
>> Van: Aryeh Friedman <[hidden email]>
>> Datum: woensdag, 1 juli 2020 14:03
>> Aan: Ronald Klop <[hidden email]>
>> CC: [hidden email], Michael Osipov <[hidden email]>
>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>> >
>> >
>> >
>> > On Wed, Jul 1, 2020 at 7:58 AM Ronald Klop <[hidden email]> wrote:
>> >>
>> >>
>> >> Van: Aryeh Friedman <[hidden email]>
>> >> Datum: woensdag, 1 juli 2020 13:33
>> >> Aan: Ronald Klop <[hidden email]>
>> >> CC: [hidden email], Michael Osipov <[hidden email]>
>> >> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>> >>>
>> >>>
>> >>>
>> >>> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]> wrote:
>> >>>>
>> >>>> Van: Aryeh Friedman <[hidden email]>
>> >>>> Datum: maandag, 29 juni 2020 20:59
>> >>>> Aan: Michael Osipov <[hidden email]>
>> >>>> CC: [hidden email]
>> >>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>> >>>>>
>> >>>>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]> 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)
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> > [hidden email] mailing list
>> >>>>> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
>> >>>>> > To unsubscribe, send any mail to "[hidden email]"
>> >>>>> >
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>> >>>>> _______________________________________________
>> >>>>> [hidden email] mailing list
>> >>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>> >>>>> To unsubscribe, send any mail to "[hidden email]"
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>> Hi,
>> >>>>
>> >>>> Can you start any other X application on the VM using the DISPLAY setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X instead of something with Java. I guess it is something with X.
>> >>>> I guess your desktop is not listening for external connections to the X server or your routing between the VM and the desktop does not work.
>> >>>> Or start a X server in the VM and use DISPLAY=:0.0 again.
>> >>>
>> >>>
>> >>> Don't have any X components installed except for the ones required by "make/make install" on openjdk8.   The reason for this post in the first place was to figure out the minimum set of ports needed to get a working DISPLAY variable in the first place.
>> >>>
>> >>>
>> >>> --
>> >>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>> >>
>> >> I'm 99% sure you don't need any additional ports to get a working DISPLAY variable.
>> >>
>> >> It will probably help to start your X server with "-listen tcp". But I don't have enough information to be sure about that and how to configure that in your setup.
>> >
>> >
>> > I think that might work if in fact there was an X server on the VM:
>> >
>> > root@dnixon:~ # X -listen-tcp
>> > X: Command not found.
>> > root@dnixon:~ # ls /usr/local/bin/X*
>> > ls: No match.
>> > root@dnixon:~ # ls /usr/local/bin/x*
>> > /usr/local/bin/x265 /usr/local/bin/xicclu /usr/local/bin/xmlcatalog /usr/local/bin/xslt-config
>> > /usr/local/bin/xaegis /usr/local/bin/xjc /usr/local/bin/xmlcatmgr /usr/local/bin/xsltproc
>> > /usr/local/bin/xft-config /usr/local/bin/xkbcomp /usr/local/bin/xmllint /usr/local/bin/xsubpp
>> > /usr/local/bin/xgettext /usr/local/bin/xml2-config /usr/local/bin/xmlwf /usr/local/bin/xxd
>> > root@dnixon:~ # ls /usr/local/sbin/x*
>> > ls: No match.
>> > root@dnixon:~ # ls /usr/local/sbin/X*
>> > ls: No match.
>> > root@dnixon:~ # java -version
>> > openjdk version "1.8.0_252"
>> > OpenJDK Runtime Environment (build 1.8.0_252-b09)
>> > OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
>> >
>> >
>> > --
>> > Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>
>> In an earlier message you talked about "setenv DISPLAY 192.168.11.20:0.0". That is the IP address of your desktop. So the X server must be running on your desktop.
>>
>> You want the VM to screencapture the screen of the desktop? Or do you want the VM to screencapture the screen of the VM?>
>  
> On the desktop... finally got it to capture the screeen on the desktop via what I tried above but now have a second problem with is the audio capture is there anyway to make the following Java snippet work with a remote mic (works fine on the desktop with a local mic on dsp2.0)?
>  
>                 fmt=new AudioFormat(160000,8,2,true,true);
>                 mic=AudioSystem.getTargetDataLine(fmt);
>                 mic.open(fmt);
>                 mic.start();
> --
> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org

Good that it is solved. Would you mind sharing what the solution was?
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Aryeh Friedman-2
On Wed, Jul 1, 2020 at 8:54 AM Ronald Klop <[hidden email]> wrote:

>
>
> *Van:* Aryeh Friedman <[hidden email]>
> *Datum:* woensdag, 1 juli 2020 14:36
> *Aan:* Ronald Klop <[hidden email]>
> *CC:* [hidden email], Michael Osipov <[hidden email]>
> *Onderwerp:* Re: Min. ports needed for headless AWT/Swing
>
>
>
> On Wed, Jul 1, 2020 at 8:30 AM Ronald Klop <[hidden email]> wrote:
>
>>
>> Van: Aryeh Friedman <[hidden email]>
>> Datum: woensdag, 1 juli 2020 14:03
>> Aan: Ronald Klop <[hidden email]>
>> CC: [hidden email], Michael Osipov <[hidden email]>
>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>> >
>> >
>> >
>> > On Wed, Jul 1, 2020 at 7:58 AM Ronald Klop <[hidden email]>
>> wrote:
>> >>
>> >>
>> >> Van: Aryeh Friedman <[hidden email]>
>> >> Datum: woensdag, 1 juli 2020 13:33
>> >> Aan: Ronald Klop <[hidden email]>
>> >> CC: [hidden email], Michael Osipov <[hidden email]>
>> >> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>> >>>
>> >>>
>> >>>
>> >>> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]>
>> wrote:
>> >>>>
>> >>>> Van: Aryeh Friedman <[hidden email]>
>> >>>> Datum: maandag, 29 juni 2020 20:59
>> >>>> Aan: Michael Osipov <[hidden email]>
>> >>>> CC: [hidden email]
>> >>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>> >>>>>
>> >>>>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]>
>> 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)
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> > [hidden email] mailing list
>> >>>>> > https://lists.freebsd.org/mailman/listinfo/freebsd-java
>> >>>>> > To unsubscribe, send any mail to "
>> [hidden email]"
>> >>>>> >
>> >>>>>
>> >>>>>
>> >>>>> --
>> >>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>> >>>>> _______________________________________________
>> >>>>> [hidden email] mailing list
>> >>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>> >>>>> To unsubscribe, send any mail to "
>> [hidden email]"
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>> Hi,
>> >>>>
>> >>>> Can you start any other X application on the VM using the DISPLAY
>> setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X
>> instead of something with Java. I guess it is something with X.
>> >>>> I guess your desktop is not listening for external connections to
>> the X server or your routing between the VM and the desktop does not work.
>> >>>> Or start a X server in the VM and use DISPLAY=:0.0 again.
>> >>>
>> >>>
>> >>> Don't have any X components installed except for the ones required by
>> "make/make install" on openjdk8.   The reason for this post in the first
>> place was to figure out the minimum set of ports needed to get a working
>> DISPLAY variable in the first place.
>> >>>
>> >>>
>> >>> --
>> >>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>> >>
>> >> I'm 99% sure you don't need any additional ports to get a working
>> DISPLAY variable.
>> >>
>> >> It will probably help to start your X server with "-listen tcp". But I
>> don't have enough information to be sure about that and how to configure
>> that in your setup.
>> >
>> >
>> > I think that might work if in fact there was an X server on the VM:
>> >
>> > root@dnixon:~ # X -listen-tcp
>> > X: Command not found.
>> > root@dnixon:~ # ls /usr/local/bin/X*
>> > ls: No match.
>> > root@dnixon:~ # ls /usr/local/bin/x*
>> > /usr/local/bin/x265 /usr/local/bin/xicclu /usr/local/bin/xmlcatalog
>> /usr/local/bin/xslt-config
>> > /usr/local/bin/xaegis /usr/local/bin/xjc /usr/local/bin/xmlcatmgr
>> /usr/local/bin/xsltproc
>> > /usr/local/bin/xft-config /usr/local/bin/xkbcomp /usr/local/bin/xmllint
>> /usr/local/bin/xsubpp
>> > /usr/local/bin/xgettext /usr/local/bin/xml2-config /usr/local/bin/xmlwf
>> /usr/local/bin/xxd
>> > root@dnixon:~ # ls /usr/local/sbin/x*
>> > ls: No match.
>> > root@dnixon:~ # ls /usr/local/sbin/X*
>> > ls: No match.
>> > root@dnixon:~ # java -version
>> > openjdk version "1.8.0_252"
>> > OpenJDK Runtime Environment (build 1.8.0_252-b09)
>> > OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
>> >
>> >
>> > --
>> > Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>
>> In an earlier message you talked about "setenv DISPLAY 192.168.11.20:0.0".
>> That is the IP address of your desktop. So the X server must be running on
>> your desktop.
>>
>> You want the VM to screencapture the screen of the desktop? Or do you
>> want the VM to screencapture the screen of the VM?
>
>
> On the desktop... finally got it to capture the screeen on the desktop via
> what I tried above but now have a second problem with is the audio capture
> is there anyway to make the following Java snippet work with a remote mic
> (works fine on the desktop with a local mic on dsp2.0)?
>
>                 fmt=new AudioFormat(160000,8,2,true,true);
>                 mic=AudioSystem.getTargetDataLine(fmt);
>                 mic.open(fmt);
>                 mic.start();
> --
> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>
>
> Good that it is solved. Would you mind sharing what the solution was?
>

Adding -- -listen tcp to my call to startx on the desktop (I was confused
about which machine was the server and which was the client since the
relationship is reverse of the normal order.... i.e. the server is the
local machine and the client is the remote one not the other way around for
X)


--
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Matthew Seaman-5
On 01/07/2020 13:56, Aryeh Friedman wrote:

> On Wed, Jul 1, 2020 at 8:54 AM Ronald Klop <[hidden email]> wrote:
>
>>
>>
>> *Van:* Aryeh Friedman <[hidden email]>
>> *Datum:* woensdag, 1 juli 2020 14:36
>> *Aan:* Ronald Klop <[hidden email]>
>> *CC:* [hidden email], Michael Osipov <[hidden email]>
>> *Onderwerp:* Re: Min. ports needed for headless AWT/Swing
>>
>>
>>
>> On Wed, Jul 1, 2020 at 8:30 AM Ronald Klop <[hidden email]> wrote:
>>
>>>
>>> Van: Aryeh Friedman <[hidden email]>
>>> Datum: woensdag, 1 juli 2020 14:03
>>> Aan: Ronald Klop <[hidden email]>
>>> CC: [hidden email], Michael Osipov <[hidden email]>
>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>>>>
>>>>
>>>>
>>>> On Wed, Jul 1, 2020 at 7:58 AM Ronald Klop <[hidden email]>
>>> wrote:
>>>>>
>>>>>
>>>>> Van: Aryeh Friedman <[hidden email]>
>>>>> Datum: woensdag, 1 juli 2020 13:33
>>>>> Aan: Ronald Klop <[hidden email]>
>>>>> CC: [hidden email], Michael Osipov <[hidden email]>
>>>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]>
>>> wrote:
>>>>>>>
>>>>>>> Van: Aryeh Friedman <[hidden email]>
>>>>>>> Datum: maandag, 29 juni 2020 20:59
>>>>>>> Aan: Michael Osipov <[hidden email]>
>>>>>>> CC: [hidden email]
>>>>>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
>>>>>>>>
>>>>>>>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <[hidden email]>
>>> 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)
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>> [hidden email] mailing list
>>>>>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>>>>>>>>> To unsubscribe, send any mail to "
>>> [hidden email]"
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>>>>>>> _______________________________________________
>>>>>>>> [hidden email] mailing list
>>>>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
>>>>>>>> To unsubscribe, send any mail to "
>>> [hidden email]"
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Can you start any other X application on the VM using the DISPLAY
>>> setting? Like /usr/ports/x11/xeyes. Than you know if it is something with X
>>> instead of something with Java. I guess it is something with X.
>>>>>>> I guess your desktop is not listening for external connections to
>>> the X server or your routing between the VM and the desktop does not work.
>>>>>>> Or start a X server in the VM and use DISPLAY=:0.0 again.
>>>>>>
>>>>>>
>>>>>> Don't have any X components installed except for the ones required by
>>> "make/make install" on openjdk8.   The reason for this post in the first
>>> place was to figure out the minimum set of ports needed to get a working
>>> DISPLAY variable in the first place.
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>>>>
>>>>> I'm 99% sure you don't need any additional ports to get a working
>>> DISPLAY variable.
>>>>>
>>>>> It will probably help to start your X server with "-listen tcp". But I
>>> don't have enough information to be sure about that and how to configure
>>> that in your setup.
>>>>
>>>>
>>>> I think that might work if in fact there was an X server on the VM:
>>>>
>>>> root@dnixon:~ # X -listen-tcp
>>>> X: Command not found.
>>>> root@dnixon:~ # ls /usr/local/bin/X*
>>>> ls: No match.
>>>> root@dnixon:~ # ls /usr/local/bin/x*
>>>> /usr/local/bin/x265 /usr/local/bin/xicclu /usr/local/bin/xmlcatalog
>>> /usr/local/bin/xslt-config
>>>> /usr/local/bin/xaegis /usr/local/bin/xjc /usr/local/bin/xmlcatmgr
>>> /usr/local/bin/xsltproc
>>>> /usr/local/bin/xft-config /usr/local/bin/xkbcomp /usr/local/bin/xmllint
>>> /usr/local/bin/xsubpp
>>>> /usr/local/bin/xgettext /usr/local/bin/xml2-config /usr/local/bin/xmlwf
>>> /usr/local/bin/xxd
>>>> root@dnixon:~ # ls /usr/local/sbin/x*
>>>> ls: No match.
>>>> root@dnixon:~ # ls /usr/local/sbin/X*
>>>> ls: No match.
>>>> root@dnixon:~ # java -version
>>>> openjdk version "1.8.0_252"
>>>> OpenJDK Runtime Environment (build 1.8.0_252-b09)
>>>> OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
>>>>
>>>>
>>>> --
>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>>
>>> In an earlier message you talked about "setenv DISPLAY 192.168.11.20:0.0".
>>> That is the IP address of your desktop. So the X server must be running on
>>> your desktop.
>>>
>>> You want the VM to screencapture the screen of the desktop? Or do you
>>> want the VM to screencapture the screen of the VM?
>>
>>
>> On the desktop... finally got it to capture the screeen on the desktop via
>> what I tried above but now have a second problem with is the audio capture
>> is there anyway to make the following Java snippet work with a remote mic
>> (works fine on the desktop with a local mic on dsp2.0)?
>>
>>                  fmt=new AudioFormat(160000,8,2,true,true);
>>                  mic=AudioSystem.getTargetDataLine(fmt);
>>                  mic.open(fmt);
>>                  mic.start();
>> --
>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
>>
>>
>> Good that it is solved. Would you mind sharing what the solution was?
>>
>
> Adding -- -listen tcp to my call to startx on the desktop (I was confused
> about which machine was the server and which was the client since the
> relationship is reverse of the normal order.... i.e. the server is the
> local machine and the client is the remote one not the other way around for
> X)
>
>

Be aware that running remote X applications against a local X server
will transmit all of the X related traffic across the network in the
clear -- which is roughly as bad as running old-style rsh(1).

That may or may not be a problem for your use case, but in general look
into tunnelling your X traffic across an SSH session -- see the
description of the  `-X` and `-Y` flags in ssh(1).  SSH basically sets
up a port forwarding from the loopback on the (remote) X client to the
(local) X server on your desktop, and will set DISPLAY and XAUTHORITY to
appropriate values for you automatically.  Plus you don't need to enable
a tcp listener for X, which in itself just offers up a massively
enlarged attack surface.

        Cheers,

        Matthew
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"
Reply | Threaded
Open this post in threaded view
|

Re: Min. ports needed for headless AWT/Swing

Aryeh Friedman-2
On Wed, Jul 1, 2020 at 10:03 AM <[hidden email]> wrote:

> On 01/07/2020 13:56, Aryeh Friedman wrote:
> > On Wed, Jul 1, 2020 at 8:54 AM Ronald Klop <[hidden email]> wrote:
> >
> >>
> >>
> >> *Van:* Aryeh Friedman <[hidden email]>
> >> *Datum:* woensdag, 1 juli 2020 14:36
> >> *Aan:* Ronald Klop <[hidden email]>
> >> *CC:* [hidden email], Michael Osipov <[hidden email]>
> >> *Onderwerp:* Re: Min. ports needed for headless AWT/Swing
> >>
> >>
> >>
> >> On Wed, Jul 1, 2020 at 8:30 AM Ronald Klop <[hidden email]>
> wrote:
> >>
> >>>
> >>> Van: Aryeh Friedman <[hidden email]>
> >>> Datum: woensdag, 1 juli 2020 14:03
> >>> Aan: Ronald Klop <[hidden email]>
> >>> CC: [hidden email], Michael Osipov <[hidden email]>
> >>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
> >>>>
> >>>>
> >>>>
> >>>> On Wed, Jul 1, 2020 at 7:58 AM Ronald Klop <[hidden email]>
> >>> wrote:
> >>>>>
> >>>>>
> >>>>> Van: Aryeh Friedman <[hidden email]>
> >>>>> Datum: woensdag, 1 juli 2020 13:33
> >>>>> Aan: Ronald Klop <[hidden email]>
> >>>>> CC: [hidden email], Michael Osipov <[hidden email]>
> >>>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Wed, Jul 1, 2020 at 5:52 AM Ronald Klop <[hidden email]>
> >>> wrote:
> >>>>>>>
> >>>>>>> Van: Aryeh Friedman <[hidden email]>
> >>>>>>> Datum: maandag, 29 juni 2020 20:59
> >>>>>>> Aan: Michael Osipov <[hidden email]>
> >>>>>>> CC: [hidden email]
> >>>>>>> Onderwerp: Re: Min. ports needed for headless AWT/Swing
> >>>>>>>>
> >>>>>>>> On Mon, Jun 29, 2020 at 2:28 PM Michael Osipov <
> [hidden email]>
> >>> 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)
> >>>>>>>>
> >>>>>>>> _______________________________________________
> >>>>>>>>> [hidden email] mailing list
> >>>>>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> >>>>>>>>> To unsubscribe, send any mail to "
> >>> [hidden email]"
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> --
> >>>>>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> >>>>>>>> _______________________________________________
> >>>>>>>> [hidden email] mailing list
> >>>>>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> >>>>>>>> To unsubscribe, send any mail to "
> >>> [hidden email]"
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> Can you start any other X application on the VM using the DISPLAY
> >>> setting? Like /usr/ports/x11/xeyes. Than you know if it is something
> with X
> >>> instead of something with Java. I guess it is something with X.
> >>>>>>> I guess your desktop is not listening for external connections to
> >>> the X server or your routing between the VM and the desktop does not
> work.
> >>>>>>> Or start a X server in the VM and use DISPLAY=:0.0 again.
> >>>>>>
> >>>>>>
> >>>>>> Don't have any X components installed except for the ones required
> by
> >>> "make/make install" on openjdk8.   The reason for this post in the
> first
> >>> place was to figure out the minimum set of ports needed to get a
> working
> >>> DISPLAY variable in the first place.
> >>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> >>>>>
> >>>>> I'm 99% sure you don't need any additional ports to get a working
> >>> DISPLAY variable.
> >>>>>
> >>>>> It will probably help to start your X server with "-listen tcp". But
> I
> >>> don't have enough information to be sure about that and how to
> configure
> >>> that in your setup.
> >>>>
> >>>>
> >>>> I think that might work if in fact there was an X server on the VM:
> >>>>
> >>>> root@dnixon:~ # X -listen-tcp
> >>>> X: Command not found.
> >>>> root@dnixon:~ # ls /usr/local/bin/X*
> >>>> ls: No match.
> >>>> root@dnixon:~ # ls /usr/local/bin/x*
> >>>> /usr/local/bin/x265 /usr/local/bin/xicclu /usr/local/bin/xmlcatalog
> >>> /usr/local/bin/xslt-config
> >>>> /usr/local/bin/xaegis /usr/local/bin/xjc /usr/local/bin/xmlcatmgr
> >>> /usr/local/bin/xsltproc
> >>>> /usr/local/bin/xft-config /usr/local/bin/xkbcomp
> /usr/local/bin/xmllint
> >>> /usr/local/bin/xsubpp
> >>>> /usr/local/bin/xgettext /usr/local/bin/xml2-config
> /usr/local/bin/xmlwf
> >>> /usr/local/bin/xxd
> >>>> root@dnixon:~ # ls /usr/local/sbin/x*
> >>>> ls: No match.
> >>>> root@dnixon:~ # ls /usr/local/sbin/X*
> >>>> ls: No match.
> >>>> root@dnixon:~ # java -version
> >>>> openjdk version "1.8.0_252"
> >>>> OpenJDK Runtime Environment (build 1.8.0_252-b09)
> >>>> OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
> >>>>
> >>>>
> >>>> --
> >>>> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> >>>
> >>> In an earlier message you talked about "setenv DISPLAY 192.168.11.20:0
> .0".
> >>> That is the IP address of your desktop. So the X server must be
> running on
> >>> your desktop.
> >>>
> >>> You want the VM to screencapture the screen of the desktop? Or do you
> >>> want the VM to screencapture the screen of the VM?
> >>
> >>
> >> On the desktop... finally got it to capture the screeen on the desktop
> via
> >> what I tried above but now have a second problem with is the audio
> capture
> >> is there anyway to make the following Java snippet work with a remote
> mic
> >> (works fine on the desktop with a local mic on dsp2.0)?
> >>
> >>                  fmt=new AudioFormat(160000,8,2,true,true);
> >>                  mic=AudioSystem.getTargetDataLine(fmt);
> >>                  mic.open(fmt);
> >>                  mic.start();
> >> --
> >> Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
> >>
> >>
> >> Good that it is solved. Would you mind sharing what the solution was?
> >>
> >
> > Adding -- -listen tcp to my call to startx on the desktop (I was confused
> > about which machine was the server and which was the client since the
> > relationship is reverse of the normal order.... i.e. the server is the
> > local machine and the client is the remote one not the other way around
> for
> > X)
> >
> >
>
> Be aware that running remote X applications against a local X server
> will transmit all of the X related traffic across the network in the
> clear -- which is roughly as bad as running old-style rsh(1).
>
> That may or may not be a problem for your use case, but in general look
> into tunnelling your X traffic across an SSH session -- see the
> description of the  `-X` and `-Y` flags in ssh(1).  SSH basically sets
> up a port forwarding from the loopback on the (remote) X client to the
> (local) X server on your desktop, and will set DISPLAY and XAUTHORITY to
> appropriate values for you automatically.  Plus you don't need to enable
> a tcp listener for X, which in itself just offers up a massively
> enlarged attack surface.
>

1. ssh -X and -Y were not working (tried them first).
2. It is only used on a wired LAN (no WiFi at all) on a double NAT'ed (both
private IP spaces on different 10.X.X.X and 192.168.X.X connection both via
physically separate routers [cable modem and a desktop router]) between two
machines on the same switch (the only machines on the switch) in my home
office that only me and my SO use (they are also a Java programmer and
wrote the encryption front end library we use for our stuff so I trust them
completely)
3. There are no applications on the VM that make arbitrary network
connections without direct user approval (i.e. no mail server/client and/or
web browser)

>
>         Cheers,
>
>         Matthew
> _______________________________________________
> [hidden email] mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-java
> To unsubscribe, send any mail to "[hidden email]"
>


--
Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org
_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-java
To unsubscribe, send any mail to "[hidden email]"