Ben Kim wrote:
If Cygwin is not aware of java, which means the GUI app should not be able to display on my Windows machines, then why is it the case that number #1 in my example works?
You got it about exactly backwards from what Igor told you.
Java for Windows does not understand the X Window System. Java for Windows displays graphics via the Win32 GDI system. Java for UNIX machines displays graphics via the X Window System.
Cygwin/XFree86 is an implementation of the X Window System. Thus, setting DISPLAY on your UNIX machine to point to your Windows machine that is running Cygwin/XFree86 will cause the X graphics to show up under Cygwin/XFree86.
However, the Win32 GDI system is nothing like the X Window System. It was not initially designed to be network transparent like the X Window System. Thus, there is not a simple way to display Windows applications running on a remote machine.
Harold
Meaning, when I'm on Unix, set the
display to Windows, and run the Java GUI, the gui correctly displays on the Windows machine?
Ben
On Tue, 12 Aug 2003, Ben Kim wrote:
I am trying to call a script located on my Windows
box
from my Unix box through rsh. All the script does
is
run a java GUI application that outputs some information in standard out. When I run this script through rsh, the java process is up and running on Windows (I also see output, also check task manager) but the GUI frame does not show up. On Windows, I installed cygwin and xfree. I started X via xstartwin. I also xhost + to allow any host to remotely display on Windows. I know display isn't
the
problem because if I am on my Unix machine, if I set
the display to Windows, and run the java app locally
on Unix, the app correctly displays on Windows.
Only
if the I'm trying to rsh the same script on Windows from Unix, this doesn't work. Another interesting point is that if I were to change the script on Windows to run cygwin/xfree xterm instead of the
java
app, and from Unix rsh the script, the xterm correctly displays. But as soon as I put in the
java
app, it does not display.
To summarize: 1. From Unix, run java app on Unix, display to Windows (works) 2. From Unix, rsh java app on Windows, display to Windows (does NOT work) 3. From Unix, rsh cygwin xapps (xterm, xclock
etc)
on Windows, display to Windows (works)
Does anyone know what this might be the case? And
is
there any way to get #2 to work?
Ben,
There is no Cygwin-aware Java JDK. This basically means that, unlike the Unix one, the JDK you're using on Windows is not using the X protocol to display windows, but rather the Windows GDI one. In other words, you cannot do what you want without a VNC-like tool that would let you display *any* Windows native application using X. Igor
__________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com