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.
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.
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
@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.
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?
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
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?
@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.
Michael Connor Buchan
in reply to Michael Connor Buchan • • •Cosmin
in reply to Michael Connor Buchan • • •Michael Connor Buchan
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.
Cosmin
in reply to Michael Connor Buchan • • •What's your use-case? Do you run something like this?
java -jar -Dassistive_technologies=org.GNOME.Accessibility.AtkWrapper some-app.jar
Michael Connor Buchan
in reply to Cosmin • • •Michael Connor Buchan
in reply to Michael Connor Buchan • • •bgt lover
in reply to Michael Connor Buchan • • •Peter Vágner
in reply to bgt lover • •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?
Michael Connor Buchan
in reply to bgt lover • • •Michael Connor Buchan
in reply to Michael Connor Buchan • • •bgt lover
in reply to Michael Connor Buchan • • •