GNOME的Java-Atk-Wrapper存在漏洞 - 如何禁用Swing组件或应用程序的无障碍功能?

4
我认为我发现了Java封装GNOME无障碍的一个错误,这导致我的Scala/Java应用程序在使用Tree或Table UI时出现了严重的性能问题。 我需要避免AtkWrapper监听我的表格和树。如何从我的系统中删除Java Atk Wrapper,或禁用它从我的应用程序的特定组件?
1个回答

3

要全局禁用GNOME辅助功能,可以使用以下系统属性:

-Djavax.accessibility.assistive_technologies=

请注意,在OpenJDK 10中会出现错误:java.awt.AWTError: Assistive Technology not found: 来自 java.desktop/java.awt.Toolkit.newAWTError(Toolkit.java:472) - Jesse Glick
在Ubuntu上安装openjdk-11-jdk后,在/usr/lib/jvm/java-11-openjdk-amd64/lib/accessibility.properties中注释掉一行assistive_technologies=org.GNOME.Accessibility.AtkWrapper似乎就足够了。 - Jesse Glick
只是想补充一下,对于我来说,注释掉这行代码效果更好(尝试设置空值只会返回错误)。此外,属性文件位于~/jre/lib下。 - Eduardo
感谢 OP 的诊断和错误报告,修复程序已经可以在他们运行的 Debian Stretch 上安装,使用 sudo aptitude install libatk-wrapper-java-jni/stretch-backports 命令即可。 - Martin Dorey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接