Java update breaks apps for some window managers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openjdk-6 (Ubuntu) |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
The recent Java update for OpenJDK, I believe, (~ Aug 14, 2008) breaks some Java applications in window managers such as Awesome (and others).
From the Awesome FAQ:
"Java applications which use the XToolkit/XAWT backend may draw grey windows only. The XToolkit/XAWT backend breaks ICCCM-compliance in recent JDK 1.5 and early JDK 1.6 versions, because it assumes a reparenting window manager. As a workaround you can use JDK 1.4 (which doesn´t contain the XToolkit/XAWT backend) or you can set the following environment variable (to use the older Motif backend instead): AWT_TOOLKIT=
Not sure how you would handle this but my application was working fine before the update and then broke unceremoniously afterward -- switching to another WM worked fine as did adding the AWT_TOOLKIT parameter. It just took a little research to find a fix.
I was switching back and forth between the sun-java package and the openjdk -- I was able to get the parameter method to work using the sun version, it didn't look like the OpenJDK version work with the parameter.
Sun Version (not sure this one ever worked right with Awesome):
Package: sun-java6-jre
Source: sun-java6
Version: 6-06-0ubuntu1
Old OpenJDK that worked:
6b09-0ubuntu2
New that seemed to break with the update:
6b11-2ubuntu2
description: | updated |
Added a note in README.Debian, closing this report as won't fix.
Note for non-reparenting window manager users ------- ------- ------- ------- ------- ---
-------
If you are using a non-reparenting window manager, such as ratpoison, awesome
or dwm, some Java graphical applications using the AWT toolkit will only
display empty grey windows, as described in but #508650.
There are two solutions to work around this issue: tools.suckless. org/wmname> tool from the dwm-tools WM_NONREPARENTI NG: WM_NONREPARENTI NG=true
1. mask your window manager as one of the non-reparenting ones supported by AWT,
using the wmname <http://
package:
$ wmname LG3D
2. set the environment variable _JAVA_AWT_
$ export _JAVA_AWT_
You can automate these tasks by writing them to your ~/.xsessionrc: WM_NONREPARENTI NG=true
$ cat >> ~/.xsessionrc <<EOF
export _JAVA_AWT_
EOF