FreeMind won't run even with OpenJDK JRE installed

I installed FreeMind from USC Ubuntu 12.04, but it failed to run with the following error:

[warning] /usr/bin/freemind: No java runtime was found
[error] /usr/bin/freemind: Unable to find an appropriate java runtime. See java_wrappers(7) for help"

OpenJDK Java 6 runtime was installed.

Asked By: Husni


Run update-alternatives --config java and make sure you configure it correctly.

Run java -version in a terminal and see the output.

From freemind web:

Freemind may not work with OpenJDK. I would recommend installing Sun/Oracle JRE/JDK.

A simple way of installing it on Ubuntu (build .deb packages from OTN binaries and set up a local repository, use apt-get to install;-)
Check it out here:

Answered By: Terry Wang

On Ubuntu 12.04/GNOME Shell with FreeMind 0.9.0 installed from the Ubuntu repository, this is what I got:

[warning] /usr/bin/freemind: No java runtime was found
[error] /usr/bin/freemind: Unable to find an appropriate java runtime. See java_wrappers(7) for help

java -version
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java   12        auto mode
  1            /usr/lib/jvm/java-7-oracle/bin/java       4         manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java   12        manual mode

Press enter to keep the current choice[*], or type selection number: 0

whereis java
java: /usr/bin/java /usr/bin/X11/java /usr/share/java /usr/share/man/man1/java.1.gz
ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 May 16  2012 /usr/bin/java -> /etc/alternatives/java

Actual Path:
ls -l /usr/lib/j*
total 20
-rwxr-xr-x 1 root root 1033 Apr  2  2011 get-classpath
-rw-r--r-- 1 root root 9122 Jan 12 15:42
-rw-r--r-- 1 root root 2302 Jan 12 15:41

total 4
lrwxrwxrwx 1 root root   26 Sep  6 11:56 default-java -> /usr/lib/jvm/java-7-oracle
drwxr-xr-x 8 root root 4096 Dec 13 12:37 java-7-oracle

"/usr/lib/java-wrappers/" has the below setting, which is correct path.

#va-wrappers(7) default runtime

The errors are coming from /usr/lib/java-wrappers/, which doesn’t seem to be loading the below from within its file.

# Import the list of JVMs
. /usr/lib/java-wrappers/

I changed it to:


but it did not work.


This is what worked after trial and error by adding the below in the /usr/lib/java-wrappers/ file, under where it is trying to find,

if [ -z "$JAVA_HOME" ]; then, at line 90 in vi for me.

        # Added 2013-01-12 not being found from jvm-list

I commented out DIRS="" variable and changed it to




Both of them worked.

Answered By: Vincent Williams

For Sun Java 1.6

Change file /usr/lib/java-wrappers/

Change the following entry:

__jvm_sun6="/usr/lib/jvm/java-6-sun /usr/lib/j2*1.6-sun"


__jvm_sun6="/usr/lib/jvm/java-6-oracle /usr/lib/j2*1.6-oracle"
Answered By: Rafal

For me, the method sudo update-alternatives --config java does not work.
I found a solution here on Launchpad.

In short, you can try export JAVA_CMD=/usr/bin/java in Terminal.

You can put this command into system environment variables by creating the file "/etc/profile.d/" with the content:

export JAVA_CMD=/usr/bin/java
Answered By: ppppplv

I had this problem in Ubuntu 15.04 with the newest Oracle Java 8 (with no other JDK installed). I found the problem in the java-wrappers file which determines the available Java installations:

In file /usr/lib/java-wrappers/, I added /usr/lib/jvm/java-8-oracle on line 35:

__jvm_oracle8="/usr/lib/jvm/java-8-oracle /usr/lib/jvm/jdk-8-oracle-* /usr/lib/jvm/jre-8-oracle-*"

As the current installation of Oracle 8 Java is installed in this added path.

Answered By: minni

Ok, I found a more simple answer. I am running Ubuntu 14.04, off a fresh install (installed last night). I dropped in Oracle Java 8 using the instructions found here: Install Oracle 8 Java in Ubuntu

Then I installed Freemind from the software center and got the exact error in the originating post. To fix the problem I did this:

I edited the following file AS ROOT (but you can use your editor of choice, gedit works just fine if you want):

sudo vim /usr/bin/freemind

I added this line before the first "if" statement (for me line 18, but yours may be different)

export JAVA_CMD=/usr/bin/java

Now when I click on the Freemind Icon in Unity it works.


Answered By: taggedzi

This seems to be an ongoing issue. I’m on Ubuntu 22.04 and freeplane (successor of freemind) requires Java 8 (/usr/bin/freeplane starting line 125):

if [ -r /usr/lib/java-wrappers/ ]
then # the Debian method
        . /usr/lib/java-wrappers/
        require_java_runtime java8                  # <----
        if [ $? -ne 0 ]
                exit 1

Conclusion: we must have any Java appear as pseudo-Java 8 below here.

As I have /usr/lib/java-wrappers/, it loads /usr/lib/java-wrappers/ That file contains a bunch of assignments to various Java-versions and -flavours. With only Java 17 installed I wanted to see if freeplane would work with it. I could edit either file to get things to work, but I thought that modifying would make it available to other applications, too. So I

$ sudo vi /usr/lib/java-wrappers/

and added

__jvm_openjdk17="/usr/lib/jvm/java-17-openjdk-$__arch /usr/lib/jvm/java-17-openjdk"

somewhere after the existing assignment __jvm_openjdk8=....

freeplane seems to work fine with it.

Bottom line: you can probably do this with other Java-versions/-flavours, too. Just make sure that the directories you use are correct and you assign it to the variable of a version that /usr/bin/freeplane refers to, i.e. replace "8" and "17" with whatever your situation requires.

Answered By: sjngm
Categories: Answers Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.