Re: Trouble running remote Java apps with FC3
From: Dances With Crows (danSPANceswitTRAPhcrows_at_gmail.com)
Date: 17 Feb 2005 21:57:55 GMT
On Thu, 17 Feb 2005 14:51:27 -0600, Bernie Lofaso staggered into the
Black Sun and said:
> Dances With Crows wrote:
>>>My app isn't an X application. Perhaps you mean a bug in the SDK that
>> If your application draws "normal GUI elements" and runs on Linux,
>> your application *is* an X application. Java tries to hide the X
>> behind Swing/AWT/whatever, but the JRE must use X11 at some point to
> You're missing the point. I said it isn't an X-app because I do not
> call any X API libraries.
No, you don't *directly* call Xlib. The Swing libraries you call *use X
libraries* and your app won't run if there's no X server present.
That's the real test of whether something is an X app or not.
>> If you're using some intermediate layer, not the AWT/Swing/crap that
>> comes with a JDK, it would be a really good idea to give the name of
> I didn't give it because there is none. I'm using Java Swing.
> I may have omitted a detail ... the app works fine when run locally on
> my machine. It fails when running it remotely.
The other branch of the thread mentioned a seemingly innocuous error
that went something like "cannot find
-b&h-lucida-medium-r-normal-sans-*-140-*-*-p-*-iso8859-1". This could
be the root of your problem. I noticed that when I did "emerge Xorg", a
warning was displayed that said something like "old bitmap fonts will
not be installed; set USE flag 'bitmap-fonts' to build them." Xorg
doesn't include some of the same fonts that X 4.3.0 did, mostly because
those old fonts suck. I don't know whether there's a package in your
distro for these old bitmap fonts, but it's probable that you can find
the font file, copy it over, and run "xset fp rehash" to make the font
available. A little poking shows me that the font the JRE can't find
*is* a bitmap font, in /usr/share/fonts/75dpi/luRS14-ISO8859-1.pcf.gz .
So: You're running the app on N and its display is on M. N has the
font that N's JRE wants in /usr/X11R6/fonts/75dpi/ , so the JRE sets the
font to $FONT. M receives instructions saying "draw text $FOO using
font $FONT". M doesn't *have* $FONT in /usr/share/fonts/ . Stupidity
ensues as the font metrics are all FUBAR and so the text boxes are all
the wrong size. If you run the app on M and display it on M, the JRE on
M sees that the font it wants isn't there, and substitutes a font that
*is* there, so the end-user sees very little problem. Make sense?
>> It's going to take a little detective work to figure out where the
>> problem really is--that's one of the things they pay programmers to
> Doing the detective work isn't worth the effort if it's something I
> can't control.
Write Once, Debug Everywhere--it's not just a catchphrase, it's a way of
> Sure, I could monitor the X protocol and figure out who's dropping the
> ball here. Where would that get me?
You'd know where the problem was, which is the whole *point*! How in
are you going to solve a problem if you don't know where and why it's
failing? I can't do much more than guess here; you'll have to try the
things I tell you to try and reply with what happened.
> Again - I can't control this. It works fine using other X-servers and
> it needs to work find on my machine's x-server. I can't go mucking
> with the set-up on the remote machine.
Install the bitmap fonts for Xorg. If that's too daunting, the font
that you probably need is only 4.5K in size; I can e-mail it to you and
you can put it in one of the /usr/share/fonts/ directories on your local
machine and run "xset fp rehash" there.
-- Matt G|There is no Darkness in Eternity/But only Light too dim for us to see Brainbench MVP for Linux Admin / mail: TRAP + SPAN don't belong http://www.brainbench.com / Hire me! -----------------------------/ http://crow202.dyndns.org/~mhgraham/resume