Recently I installed FreeMind (from the AUR) on Manjaro but when I tried to run it, nothing happened. After trying to launch it from a terminal, I get some information back.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
[andy@home-pc ~]$ freemind
Checking Java Version...
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private static java.lang.String sun.awt.X11.XToolkit.awtAppClassName accessible: module java.desktop does not "opens sun.awt.X11" to unnamed module @5a8e6209
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at freemind.main.FreeMindStarter.main(FreeMindStarter.java:72)
[andy@home-pc ~]$ freemind
Checking Java Version...
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private static java.lang.String sun.awt.X11.XToolkit.awtAppClassName accessible: module java.desktop does not "opens sun.awt.X11" to unnamed module @5a8e6209
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at freemind.main.FreeMindStarter.main(FreeMindStarter.java:72)
[andy@home-pc ~]$ freemind
Checking Java Version...
Exception in thread "main" java.lang.reflect.InaccessibleObjectException: Unable to make field private static java.lang.String sun.awt.X11.XToolkit.awtAppClassName accessible: module java.desktop does not "opens sun.awt.X11" to unnamed module @5a8e6209
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at freemind.main.FreeMindStarter.main(FreeMindStarter.java:72)
A google search seems to indicate this is a bug and a work-around can be found with the --add-opens option. The exact change I made was in /usr/bin/freemind.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo vim /usr/bin/freemind
$ sudo vim /usr/bin/freemind
$ sudo vim /usr/bin/freemind
Always a good idea to take a backup first!
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo cp -v /usr/bin/freemind ~/freemind.bkup
$ sudo cp -v /usr/bin/freemind ~/freemind.bkup
$ sudo cp -v /usr/bin/freemind ~/freemind.bkup
Edit the file using vim, vi, nano, etc.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo vim /usr/bin/freemind
$ sudo vim /usr/bin/freemind
$ sudo vim /usr/bin/freemind
And add --add-opens="java.desktop/sun.awt.X11=ALL-UNNAMED" as shown in the below diff output.
Written in Java, FreeMind is an open source mind-mapping application. It’s a great tool to help you organise, plan or demonstrate your ideas to others by mind-maps. At the time of writing, freemind is available […]
Be the first to comment