Skip to main content


Any of you #blind #linux nerds know what kind of Vudu I have to do to get #Java #accessibility to work on #ArchLinux? Currently using #openjdk 19 but can switch to whatever JDK, as long as I end up with an accessible GUI.
in reply to Michael Connor Buchan

I already have jdk-opennjdk, jre-openjdk, java-atk-wrapper-openjdk, java-environment, and all the usual suspects installed, but yet it can't find the class. Might try an older version of openjdk.
in reply to Cosmin

@cosmin Here's the error:

Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper

It isn't discovering java-atk-wrapper.jar. If I extract the classes from it and add it to my classpath, it works, but that's not ideal.

in reply to Michael Connor Buchan

OK, I'm using a different distro but the idea should be the same. I searched for "java-atk-wrapper.jar" in packages and found it in a dedicated package, libatk-wrapper-java, and in openjdk-8-jre (but not in newer JDKs).
What's your use-case? Do you run something like this?
java -jar -Dassistive_technologies=org.GNOME.Accessibility.AtkWrapper some-app.jar
in reply to Cosmin

@cosmin It's for a uni course. As of now, because they're just small test programs, I've just been compiling to a .class and running that directly. That assistive tech setting is already set in /etc/java-openjdk/accessibility.properties. Commenting it out lets the app start, but with no accessibility of course.
in reply to Michael Connor Buchan

I managed to get it working by extracting java-atk-wrapper.jar and adding that directory to java's classpath, but surely that's not what you're supposed to do? Can I tell the JVM to preload java-atk-wrapper.jar or something?
in reply to Michael Connor Buchan

what do you want to get accessibility for? and also, where is that file? I'm trying to get android studio to work, but not having much luck for the moment
in reply to bgt lover

I think android studio packages its own jvm thus manual patching can't be avoided I am afraid.
Other than this I have no java app to test.
However when looking at java-atk-wrapper packages for arch linux I see there are packages like java-atk-wrapper-common and jdk specific package such as java-atk-wrapper-openjdk11.
There is a file /etc/java-openjdk/accessibility.properties installed by the java-atk-wrapper-common package.
In that file there is...
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
Would it be enough to link or copy this file into jdk specific configuration such as /etc/java11-openjdk/ where other config files are stored?
in reply to bgt lover

@bgtlover I advise you read the Arch Wiki page on Java as it explains where the different jdk's store their files. But that jar, for your default java runtime, is at /usr/lib/jvm/default/lib/java-atk-wrapper.jar. You can use the archlinux-java command to view and switch between JREs, and the one you have as your default is always symlinked to /usr/lib/jvm/default.
in reply to Michael Connor Buchan

@bgtlover And to answer your other question, it's for my uni course, we're building apps with awt / swing.
in reply to Michael Connor Buchan

well, at least you're not stuck with c#. Luckily there's dotnet core, but that can't do that abomination called winforms.