FreeMind on Linux: Difference between revisions

From FreeMind
Jump to navigationJump to search
 
(277 intermediate revisions by more than 100 users not shown)
Line 1: Line 1:
== Installation ==
<table><tr>
<td>


=== Java installation ===
== Installation (0.8.0) ==


FreeMind is a Java program, hence you need Java to make it work. There is the "''Java runtime engine''" (<tt>JRE</tt> or <tt>J2RE</tt>) required to ''run'' (use, start) FreeMind, and there is the "''Java Development Kit''" (<tt>JDK</tt> or <tt>J2DK</tt>) if you want to ''compile'' FreeMind.
FreeMind is a Java program, hence you need Java to make it work. There is the &quot;''Java runtime engine''&quot; (<tt>JRE</tt> or <tt>J2RE</tt>) required to ''run'' (use, start) FreeMind, and there is the &quot;''Java Development Kit''&quot; (<tt>JDK</tt> or <tt>J2DK</tt>) if you want to ''compile'' FreeMind (If you don't know what ''compile'' means, then you need only the ''JRE''. In the following lines, I will concentrate on making FreeMind ''run'' and the JRE installation).


If you don't know what ''compile'' means, then you need only the ''JRE''. In the following lines, I will concentrate on making FreeMind ''run'' and the JRE installation.
Once Java has been installed, only ''then'' does it make sense to install FreeMind. You can use packages (.deb or .rpm), which is a bit more work to setup but much easier to update, or you can use the more simple installation from a ZIP file (as described in the UN*X section).


==== From the distribution's RPM package ====
=== The Debian installation ===


It's probably the easiest way:
This description should be valid for any Debian based distribution, in particular (K)ubuntu.


# start the software or package installation manager of your distro (e.g. YaST under SuSE),
; Note : FreeMind 0.8.0 is not part of the Debian repository, although FreeMind 0.7.1 is, because of a lot of additional dependencies, and some license issues. For all the gory details, have a look at [http://wiki.debian.org/Java/MoveToMain] from the Debian Wiki. We're working on it, but it will take time and won't happen before release of FreeMind 0.9.0.
# search for ''java'', ''JRE'' or ''J2RE'',
# choose (one of) the package providing the JRE,
# install the chosen package (plus dependencies),
# and quit the software manager.


It may be that the package for Java is already installed or doesn't exist, but then the software manager will tell you. In the first case, you can install FreeMind &nbsp;; in the 2nd case, you can try the next section.
==== Install Java the Debian way ====


==== From Sun's RPM package ====
===== Most easiest way =====


On Fedora Core 2 and Mandrake, it looks like there is no 'native' Java package, hence installing the one from Sun seems to be the standard procedure:
Make sure that the [http://packages.debian.org/sun-java5-jre Java 5 JRE under Debian] resp. [http://packages.ubuntu.com/sun-java5-jre Java 5 JRE under Ubuntu] (FreeMind 0.8.0 doesn't support Java 6) is installed, using e.g. <tt>aptitude install sun-java5-jre</tt> (for Sarge, you will need to add first the backport repositories).


# go to [http://java.sun.com/j2se/1.4.2/download.html http://java.sun.com/j2se/1.4.2/download.html]
You ''can'' make Java 5 the default JRE by using the command <tt>update-java-alternatives -s java-1.5.0-sun</tt>, but you [[##How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F|don't need to]].
# click on the link '''Download J2SE JRE'''
# accept the license agreement if you do agree with it.
# Download the file marked '''RPM in self-extracting file'''
# unpack it (with an example filename):
    $ sh j2re-1_4_2_06-linux-i586-rpm.bin
# and then install the so created file as ''root'' user:
    # rpm -Uvh j2re-1_4_2_06-linux-i586.rpm


You're done (there are more detailed [http://java.sun.com/j2se/1.4.2/jre/install-linux.html Instructions] on the Sun page)!
===== For Debian versions older than Sarge, or if you need Java 1.4 =====
 
As Java isn't really free or open, there ''was'' no official Debian package for it.
The procedure is hence to install <tt>java-package</tt> from the ''contrib'' section, e.g. as root with:
 
# apt-get install java-package
 
Read the instructions delivered with the package, and create your own little Java package(s).
 
In a nutshell, download the Java Runtime Environment (JRE) from Sun (Linux self-extracting file),
called something like
[http://java.sun.com/j2se/1.4.2/download.html j2re-1_4_2_10-linux-i586.bin] or [http://java.sun.com/j2se/1.5.0/download.jsp jre-1_5_0_02-linux-i586.bin].
Use the command from the java-package called <tt>make-jpkg</tt> along with fakeroot as in:
 
$ fakeroot make-jpkg ''j2re-1_4_2_10-linux-i586.bin''
 
noting that the filename depends on your version. When you have this, you can install the package as root:
 
# dpkg -i ''sun-j2re1.4.deb''
 
; Note : The package sun-j2re1.4debian is no longer needed since Sarge has been released.
 
==== Installing FreeMind under Debian ====
 
You can always download the required <tt>.deb</tt> files from the [http://sourceforge.net/project/showfiles.php?group_id=7118&package_id=161831 Files section] and install them by hand, using <tt>dpkg</tt> or whatever, but the comfortable way is to add the following lines to your <tt>/etc/apt/sources.list</tt>:
 
    deb http://eric.lavar.de/comp/linux/debian/ &lt;version&gt;/
    deb-src http://eric.lavar.de/comp/linux/debian/ &lt;version&gt;/
 
; Note : you need to replace <tt>&lt;version&gt;</tt> by either <tt>unstable</tt> or <tt>experimental</tt>: I use <tt>unstable</tt> for software for which I'm pretty sure it could make it into the official Debian repository, <tt>experimental</tt> for the rest. Currently, <tt>unstable</tt> contains FreeMind 0.8.0 and dependencies, <tt>experimental</tt> contains betas of 0.9.0 (and dependencies).
 
Then call as root the two (or three) following commands:
 
# apt-get update
# apt-get install libbatik-java/testing libjcalendar-java/testing
# apt-get install freemind/experimental freemind-plugins-svg/experimental \
      freemind-plugins-time/experimental freemind-plugins-help/experimental \
      libjgoodies-forms-java/testing
 
(it's more comfortable because, each time you call &quot;<tt>apt-get upgrade</tt>&quot;,
you'll get automatically the new freemind package)


Some additional notes:
Some additional notes:
* if you plan to do some Java development, you can alternatively install the JDKpackage, it provides as well the ''Java runtime engine''.
* I've shown Java 1.4.2 as example, it looks like Java 1.5 aka 5.0 works as well but I haven't tested it yet, comments are welcome.
* you can of course install and download the '''Linux self-extracting file''' (i.e. ''not'' the RPM), but that's not the recommended way, as you loose the dependency checks (and the FreeMind RPMs won't install properly).


==== Further RPM alternatives ====
# with the repository method, you can get as well the sources for the .deb package using &quot;<tt>apt-get source freemind[...]</tt>&quot;.
# of course, you're not obliged to install the different plugins.
# if you want to use the 'help' plugin, you'll need to download [http://java.sun.com/products/javahelp/ JavaHelp] from Sun's Java site and install the jar file as <tt>/usr/local/share/java/jhall.jar</tt>.
# the 2nd line is only required if you're using "sarge" and want to install <tt>freemind-plugins-svg</tt> (Batik) respectively <tt>freemind-plugins-time</tt> (JCalendar). For this command to work, you need of course to make sure that the proper repositories have been entered in <tt>/etc/apt/sources.list</tt>, like in:


* Personally, on my SuSE 8.2 system, I have used the "Blackdown J2SDK" package from [http://packman.links2linux.de/ PackMan] to create my own Java RPMs. It was pretty easy.
    deb http://ftp.XX.debian.org/debian testing main contrib non-free
* The [http://jpackage.org/ JPackage Project] offers as well JRE and JDK packages in the '''non-free section''', but I haven't tried them yet.
    deb-src http://ftp.XX.debian.org/debian testing main contrib non-free


==== On a Debian system ====
; Note : ''XX'' has to be replaced with the nearest country code (e.g. ''de'' for Deutschland, ''fr'' for France,...; check the [http://ftp.debian.org/debian/README.mirrors.html Debian worldwide mirror sites] list).


As Java isn't really free or open, there is no official Debian package for it.
; Note : <tt>libforms-java</tt> has been recently replaced through <tt>libjgoodies-forms-java</tt> and is now part of Debian etch/testing.
The procedure is hence to install <tt>java-package</tt> from the ''contrib'' section, e.g. with


    # apt-get install java-package
==== Ubuntu & Kubuntu ====
''2010/10/06 - The following is no longer true on 10.04. Just installed FreeMind via the repositories on Kubuntu 10.04 and the version is 0.9.0 RC 6.''


Read the instructions delivered with the package, and create your own little Java package(s).
An outdated and buggy Freemind is included in Ubuntu multiverse repositories (enable multiverse in Software Sources), though it's a one-click install.
 
If you get an error when you try to run freemind about not being able to open libgtkpeer then use the following command line:
** <tt>sudo apt-get install gcj-jre
(Source for fix: https://bugs.launchpad.net/ubuntu/+source/gcj-4.1/+bug/90380 )
 
===== Easily Run most-recent Freemind from the zip =====
 
see instructions [https://help.ubuntu.com/community/Freemind?highlight=%28%5CbCategorySoftware%5Cb%29#Run%20Freemind%20from%20the%20zip here]
 
===== Alternative, More updated Repository =====
 
Start the Synaptic Package Manager (under the System menu), and then do the following:
 
* Add the following repositories using the Menu <tt>Settings &rArr; Repositories</tt>:
** <tt>deb <nowiki>http://eric.lavar.de/comp/linux/debian/</nowiki> unstable/</tt> ("Third Party Software" tab)
** <tt>deb <nowiki>http://eric.lavar.de/comp/linux/debian/</nowiki> ubuntu/</tt> ("Third Party Software" tab)
** The ''multiverse'' and ''universe'' repositories ("Ubuntu Software" tab)
* "Reload" the package list using the corresponding icon.
* Mark the following packages for installation (or make sure they are already installed):
** <tt>sun-java6-jre</tt>.
** <tt>javahelp2</tt>
** <tt>freemind</tt>
** And, as you need them, <tt>freemind-plugins-help</tt>, <tt>freemind-plugins-svg</tt> and <tt>freemind-plugins-time</tt> (you might search for "freemind" and install everything you find...).
* Apply the changes. That's it, FreeMind appears under the "Office" sub-menu!
 
; Note 1 : I've added the <tt>libbatik-java</tt> package under my personal <tt>ubuntu</tt> repository, be aware that (security) updates might not happen timely. It shouldn't bother anybody much, but just in case...
 
; Note 2 : Ubuntu's online documentation explains [https://help.ubuntu.com/community/SynapticHowto Synaptic] and how to [https://help.ubuntu.com/7.10/add-applications/C/extra-repositories-adding.html add extra repositories].
 
; Note 3 :
2008-04-18
 
Synaptic shows JAVAHELP2 has been packaged.  When you search for JAVAHELP, you may see javahelp2 - the ''2'' is a version number).
 
Synaptic shows FreeMind 0.8.1 has been packaged.
 
FreeMind 0.8.0 doesn't work properly with Java 6.
 
0.9.0.betaX is not yet packaged, check therefore [[#On_any_UN.2AX_kind_of_system_.28also_Linux.29|the UN*X installation method]]
 
===== Old instructions =====
 
Installation on Ubuntu requires two steps. Install a Java runtime environment, then install FreeMind. Newer versions of Ubuntu (since 6.10?) install Java by default. So chances are that you can skip most of the following instructions.
You might want to check, if Java is installed and what version is active. Open a Terminal and type
 
    java -version
Here's what you get with Ubuntu 9.04
user@ubuntu:~$ java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.4.1) (6b14-1.4.1-0ubuntu11)
OpenJDK Server VM (build 14.0-b08, mixed mode)
 
Java 1.4 or higher should be fine.<!-- Can anyone confirm this? --> See also Ubuntu's community documentation on [https://help.ubuntu.com/community/Java Java].
 
===== Install Java Manually =====
These instructions (and [http://blog.siliconchaos.net/articles/2006/05/22/setting-up-freemind-in-ubuntu-dapper these notes]) are also known to work on Ubuntu 6.10 (EdgyEft). See the [[Talk:FreeMind_on_Linux|Talk Page]].
 
I got my hand on a Kubuntu 5.10 installation, and am now able to give some hints about the specificas of the (K)Ubuntu installation:
# you will first need to add the <tt>multiverse</tt> and <tt>universe</tt> repositories to your installation, there are plenty of places which explain how to do this.
# then, if you're happy with Blackdown's Java 1.4, you don't need to create your own Java package and can install <tt>j2re1.4</tt> from the <tt>multiverse</tt> repository.
# sadly, <tt>libbatik-java</tt> and <tt>libjgoodies-forms-java</tt> don't seem to be part of any repository; so, you should add the Debian repository as described in the above notes, but be careful to not break your installation with too many pure Debian packages. I personally added the following lines to the file <tt>/etc/apt/preferences</tt>:
 
    Package: *
    Pin: release o=Debian
    Pin-Priority: 200
 
You milleage may vary but if this doesn't work, consider looking at [http://blog.siliconchaos.net/articles/2006/05/22/setting-up-freemind-in-ubuntu-dapper this link].
 
===== Install FreeMind Manually  =====
 
All the above required packages can be installed more easily within Kubuntu 6.10, even without installing a new java RE. I used the previous installed sun java 6 jdk (Freemind 0.8 gives a error message at start, that it might not run correctly, but it does afterwards). Notice that FreeMind 0.8.0 doesn't support Java 6 (FreeMind 0.9.0 will) and issues have been reported; use <tt>apt-get install sun-java5-jre</tt> if you want to be sure.
 
After [https://help.ubuntu.com/community/Repositories adding the multiverse and universe repositories] add the FreeMind-specific repositories:
 
    deb http://eric.lavar.de/comp/linux/debian/ <version>/
    deb-src http://eric.lavar.de/comp/linux/debian/ <version>/
 
(where <tt>&lt;version&gt;</tt> is <tt>unstable</tt> or <tt>experimental</tt>), <tt>apt-get install freemind</tt> (plus plugins packages if needed) seems to work without adding further Debian repositories.
 
===== gdebi-gtk =====
 
This worked for me on Ubuntu Feisty Fawn and was very easy.
 
Download the FreeMind .deb files to an empty directory. I put them in ~/Freemind.
 
Open a terminal window and change directory to ~/Freemind.
 
My directory contained the .deb files listed here:
 
    freemind_0.8.0-1_all.deb
    freemind-plugins-time_0.8.0-1_all.deb
    libbatik-java_1.5.1-1_all.deb
    freemind-plugins-svg_0.8.0-1_all.deb
 
Since I had Sun Java installed already, I just ran these command lines:
 
    gdebi-gtk freemind_0.8.0-1_all.deb
    gdebi-gtk freemind-plugins-time_0.8.0-1_all.deb
    gdebi-gtk libbatik-java_1.5.1-1_all.deb
    gdebi-gtk freemind-plugins-svg_0.8.0-1_all.deb
 
That was it. Last thing I did was to create a new launcher on my desktop that called "freemind". I dragged the launcher to the task bar where a single click launches the application. It seems to work well. I didn't bother installing the help .deb because the dependencies reported by gdebi-gtk were too complicated for me to resolve.
 
Good luck! I hope your installation works as well as mine.
 
=== The RPM installation ===
 
Starting with version 0.8.0 of FreeMind, I've started to orient my packaging work towards [http://jpackage.org/ JPackage] compatibility, so that the same packages should work for all distributions with JPackage's packages, especially SuSE 9.x and 10.x, Mandrake/Mandriva 10.x, as well as Fedora Core.
 
==== Installation of FreeMind 0.8.1 under openSUSE 11.2 ====
# Search for msv-xsdlib on [http://software.opensuse.org/search], install it with "1-click install".
# You should now be able to install by clicking on the link on Sourceforge download page, and use "1-click install".
 
==== Installation of FreeMind 0.8.1 under SuSE 10.3 ====
 
# Add software repositories using YaST:
## Add URL http://eric.lavar.de/comp/linux/rpm/noarch (repomd.xml is not signed, ignore YaST complains)
## Add community repository Main non-OSS (for Sun's Java)
## Add Jpackage URL free, generic and version 1.6, using the [http://jpackage.org/mirroring.php#mirrors list of JPackage mirrors], e.g.
##* http://mirrors.dotsrc.org/jpackage/1.6/generic/free (repomd.xml is not signed, ignore YaST complains)
# Using YaST's software management, search for 'freemind' and install what you see and like.
# Also using YaST's software management, make sure that java-1_5_0-sun or java-1_6_0-sun is installed (search for '-sun').
# And make sure that [[#How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F|FreeMind uses the right Java]] (not gcj as per default).
 
==== Installation of FreeMind 0.8.1 under Fedora Core 8 ====
 
# Add software repositories using the Package Manager (aka pirut):
## Add URL http://eric.lavar.de/comp/linux/rpm/noarch
## Add Jpackage URL free, generic and version 1.6, using the [http://jpackage.org/mirroring.php#mirrors list of JPackage mirrors], e.g.
##* http://mirrors.dotsrc.org/jpackage/1.6/generic/free
## Add Jpackage URL non-free, generic and version 1.7, using the [http://jpackage.org/mirroring.php#mirrors list of JPackage mirrors], e.g.
##* http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free
# If you wish to use the Smart package manager, instead of pirut, create a new channel for Freemind by...
## Select <B>Edit | Channels</B>
## Press <B>New</B>
## Choose "Provide channel information" then press <B>OK</B>
## Choose "RPM MetaData" then press <B>OK</B>
## Provide an alias of your choice (e.g. FreeMind) and a name (really a description) of your choice.  Set the Base URL to http://eric.lavar.de/comp/linux/rpm/noarch, then press <B>OK</B>
## Attempting to install the SVG plugin necessary for exporting images is a problem as the Fedora 8 Development repository is, as of 12-Feb-08, the only place I've found with the 64-bit libbatik needed by SVG, and then only version 1.7.  The 0.8.1 FreeMind SVG plugin claims to want < 1.7.  Installing 0.8.0 seems to work fine even with Batik 1.7.  Upgrading everything except the SVG plugin seems to work, as well.
# Using either Package Manager, search for 'freemind' and install what you see and like (at this stage, FreeMind is installed and kind of works using IcedTea 1.7, we now assume that you want FreeMind to really properly work...).
# Download the '''JDK''' (not the JRE!) RPM of Java 1.5 or 6 from Sun's website, install it, then install the corresponding java-1.5.0-sun-compat or java-1.6.0-sun-compat package.
# And make sure that [[#How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F|FreeMind uses the right Java]] (not IcedTea 1.7 as per default).
 
==== Install Java the JPackage way ====
 
FreeMind only works with Sun's or Blackdown's Java.
 
Taking the example of Sun's Java, there are three possibilities to install Java:
 
# It already does come with your distribution, fine, nothing to do, but '''make sure it's really Sun's Java''' by checking the output of <tt>java -version</tt>.
# Install [http://jpackage.org/rpm.php?id=2952 java-1.4.2-sun-compat] or [http://jpackage.org/rpm.php?id=3320 java-1.5.0-sun-compat] on top of Sun's JDK
# Download [http://jpackage.org/rpm.php?id=3032 java-1.4.2-sun] or [http://jpackage.org/rpm.php?id=3033 java-1.5.0-sun], [http://jpackage.org/rebuilding.php build them] and install the created packages.
 
==== Install JavaHelp2 the JPackage way ====
 
JIf you want to install <tt>freemind-plugins-help</tt>, you'll need to install [http://java.sun.com/products/javahelp/ JavaHelp2]. For licensing reasons, JavaHelp2 can't be redistributed by OpenSource distributions, hence you'll need to build the package yourself:
 
# [http://jpackage.org/rpm.php?id=1476 download]
# [http://jpackage.org/rebuilding.php build]
# and install the created RPM file.
 
; Note : in the mean time, JavaHelp2 has been put under GPL by Sun and can be packaged and distributed in binary form, and there is such a package coming from JPackage, to be found on a [http://mirrors.dotsrc.org/jpackage/1.7/generic/devel/repodata/repoview/J.group.html JPackage mirror]. Still, the state of this package is a bit unclear, e.g. I'm not sure it's part of a repository.
 
==== Install FreeMind with RPM, the stupid and easy way ;-) ====
 
[[#Install_Java_the_JPackage_way|Install Sun's or Blackdown's Java the JPackage way]].
 
[[#Install_JavaHelp2_the_JPackage_way|Install JavaHelp2 the JPackage way]] if you need <tt>freemind-plugins-help</tt>.
 
Download all the RPMs from the [http://sourceforge.net/project/showfiles.php?group_id=7118&package_id=161830 Files section] (don't forget <tt>jcalendar</tt> and <tt>jgoodies-forms</tt>) in a directory. Install all these RPMs using the <tt>rpm</tt> command, e.g.:
 
# rpm -ivh freemind*.rpm jcalendar*.rpm jgoodies-forms*.rpm
 
For each missing dependency, go to the [http://jpackage.org/ JPackage site], search and download the package(s) using the same kind of <tt>rpm</tt> command. Here is a list of dependencies:


==== On a Gentoo system ====
* freemind: jakarta-commons-lang, relaxngDatatype, msv-xsdlib, jgoodies-forms, xml-commons-apis, ws-jaxme, jakarta-commons-codec
* freemind-plugins-svg: batik, rhino, xerces-j2, xml-commons-apis
* freemind-plugins-help: javahelp2
* freemind-plugins-time: jcalendar >= 1.2.2


To insure you are up-to-date in portage:
; Note : search for "msv" in order to find "msv-xsdlib". All the FreeMind RPM sources can be downloaded from [http://eric.lavar.de/comp/linux/rpm/noarch/SRPMS.java/].


  emerge sync (or emerge-websync)
==== Install FreeMind on Fedora 10, 11 and 12 ====


To make sure you know what it going to install, use the --ask flag to emerge.
First become root, create a temporary directory and CD to it.
Answer `yes' if you want to emerge dependancies:


  emerge --ask app-misc/freemind
There is a broken dependency at the moment in the SVG plugin so do this:


=== FreeMind installation ===
<tt>rpm --import http://www.jpackage.org/jpackage.asc<br/>
rpm --oldpackage -ivh http://ftp.heanet.ie/pub/jpackage/1.7/generic/RPMS.free/batik-1.6-3jpp.noarch.rpm</tt>


We come now to the interesting part, the installation of FreeMind itself.
Now download all the rpms you want for freemind and put them in your temporary root directory.


All the files we speak about here, are to be downloaded from the '''Files''' section on the [http://sourceforge.net/projects/freemind/ FreeMind Sourceforge Project Page].
There is no fedora support 10 and we are missing packages we need so.we will enable the generic repositories.


==== On an RPM system ====
<tt>curl http://jpackage.org/jpackage17.repo | awk '/-generic/,/^$/ { sub("enabled=0","enabled=1"); print }' >/etc/yum.repos.d/jpackage17.repo<br/>
yum --nogpgcheck -y localinstall freemind-*.rpm</tt>


Download the correct RPM file from the '''Files''' section, choose the one
Remove the temporary directory you made and start freemind :)
which fits best your system:


# <tt>freemind-0.7.1-6.noarch.rpm</tt> for SuSE systems (tested on 8.2, 9.0 and 9.1).
==== Install FreeMind on Fedora 13 (64bit) ====
# <tt>freemind-0.7.1-6'''mdk'''.noarch.rpm</tt> on Mandrake systems (tested on 10.0).
# <tt>freemind-0.7.1-6'''notsuse'''.noarch.rpm</tt> on all other systems (tested on Fedora Core 2).


(the version might change, but the release postfix should remain)
Open terminal, and execute the following with command line.


Then, as root, install the package:
1) Make a directory (e.g. mkdir FreeMind).


    # rpm -Uvh freemind-...noarch.rpm
2) Download the FreeMind ANY packages into the make directory (filename: freemind-bin-max-0_8_1.zip approx 8 MB).


Done!
3) unzip the all the file in that directory ([user@computer FreeMind] gunzip freemind-bin-max-0_8_1.zip).


; Note : the RPMs offered might not work with your specific system, then your best chance is to download the RPM from the same '''Files''' section and rebuild it. It's more for advanced users, so I don't go here into details. You will need the ''JDK'' and ''ant'' to be successful (have a look at <tt>man rpmbuild</tt> if you don't come further).
4) type the following "bash Freemind.sh" and a GUI will pop out.  


==== On a Debian system ====
That was tested with Fedora 13-64bit.


From the '''Files''' section, download the .deb file called something like <tt>freemind_0.7.1-3_all.deb</tt> and install it as root:
==== Install FreeMind using <tt>apt4rpm</tt> ====


    # dpkg -i freemind_0.7.1-3_all.deb
''method tested with SuSE 10.1'' - work in progress


That was the hard way. The comfortable way is to add the following lines to your
* download and install the <tt>install-apt4suse</tt> package as described under http://susewiki.org/index.php?title=Install-apt4suse (for even more info check [http://linux01.gwdg.de/apt4rpm/ Apt4SuSE]). Just ignore the warnings, download and install, that's all:
<tt>/etc/apt/sources.list</tt>:
$ wget http://linux01.gwdg.de/~scorot/install-apt4suse.rpm
(become root)
# rpm -Uvh install-apt4suse.rpm
* call as root the <tt>install-apt4suse</tt> script (wait a while). Slightly unrelated: missing key has to be loaded usng <tt>rpm --import http://repos.opensuse.org/KDE:/Backports/SUSE_Linux_10.1/repodata/repomd.xml.key</tt>
* add the required JPackage entries as described under http://jpackage.org/apt.php and linked pages. (one need to import the Jpackage GPG keys using rpm ''and'' gpg!)
* add eric.lavar.de etc... and the rest same as below
* apt-get update
* download and build javahelp2: apt source javahelp2 + download from [http://javashoplm.sun.com/ECom/docs/Welcome.jsp?StoreId=22&PartDetailId=javahelp-2_0_02-oth-JPR&SiteId=JSC&TransactionId=noreg Sun], then install with rpm.
* apt install freemind\*


    deb http://eric.lavar.de/comp/linux/freemind/ ./
''method tested with SuSE 9.2''
    deb-src http://eric.lavar.de/comp/linux/freemind/ ./


Or since FreeMind has become an official [http://packages.debian.org/freemind contrib Debian package]:
It sounds easy but actually the first step can be a bit tricky: you first need to setup <tt>apt4rpm</tt>, as described following the links given in this [https://www.jpackage.org/apt.php Jpackage Repository page]. The good news is that always more distribution are coming standard with <tt>apt</tt> on board (if you are able to call <tt>apt-get</tt> as root, you already have it).


    deb http://ftp.XX.debian.org/debian unstable main contrib non-free
Add the JPackage repository to your <tt>/etc/apt/sources.list</tt> file as described in the same above page. Add also the two following lines (the 2<sup>nd</sup> one is optional, for sources) to the same file:
    deb-src http://ftp.XX.debian.org/debian unstable main contrib non-free


; Note : ''XX'' has to be replaced with the nearest country code (e.g. ''de'' for Deutschland, ''fr'' for France,...; check the [http://ftp.debian.org/debian/README.mirrors.html Debian worldwide mirror sites] list).
    rpm http://eric.lavar.de/comp/linux/rpm noarch java
    rpm-src http://eric.lavar.de/comp/linux/rpm noarch java


and call as root the two following commands:
Then call as root the two following commands:


    # apt-get update
# apt-get update
    # apt-get install freemind
# apt-get install freemind freemind-plugins-svg freemind-plugins-time freemind-plugins-time


(it's more comfortable because, each time you call "<tt>apt-get upgrade</tt>",
(it's more comfortable because, each time you call &quot;<tt>apt-get upgrade</tt>&quot;,
you'll get automatically the new freemind package)
you'll get automatically the new freemind package)


; Note : with the second method, you can get as well the sources for the .deb package using "<tt>apt-get source freemind</tt>".
Some additional notes:
 
# with the repository method, you can get as well the sources for the .rpm package using &quot;<tt>apt-get source freemind[...]</tt>&quot;.
# of course, you're not obliged to install the different plugins.
 
==== Install FreeMind using <tt>urpmi</tt> ====
 
''method tested with Mandriva 2006''
 
Use [http://easyurpmi.zarb.org/ Easy Urpmi] to setup a first set of urpmi repositories. Then add the JPackage repositories. See [http://jpackage.org/repos.php JPackage Project Repositories] for details, but in a nutshell:
 
# urpmi.addmedia jpackage-1.6-generic ''MIRROR''/1.6/generic/free with hdlist.cz
# urpmi.addmedia jpackage-1.6-generic-non-free ''MIRROR''/1.6/generic/non-free with hdlist.cz
 
[[#Install_Java_the_JPackage_way|Install Sun's or Blackdown's Java the JPackage way]].
 
[[#Install_JavaHelp2_the_JPackage_way|Install JavaHelp2 the JPackage way]] if you need <tt>freemind-plugins-help</tt>.


==== On a Gentoo system ====
Add FreeMind's repository:


I never used and don't plan to use Gentoo (which is most probably a wonderful distribution, but I've got enough distros running for my pleasure :-) ). Nevertheless anonymous said on some mailing list:
# urpmi.addmedia freemind http://eric.lavar.de/comp/linux/rpm/noarch/


    Freemind is setup on portage for gentoo
''As of Mandriva 2008 this does not work as the urpmi.addmedia requires a '''hdlist''' file.  Using the '''--no-probe''' does not work.''
   
        emerge app-misc/freemind
   
    bang
    zap
    done


So, you know it...
And then install FreeMind and its plugins:


==== On any UN*X kind of system (also Linux) ====
# urpmi freemind freemind-plugins-svg freemind-plugins-time freemind-plugins-help


Download the file called something like <tt>freemind-bin-0_7_1.zip</tt>, create somewhere a sub-directory and unpack there the file (as normal user or root, depending where you created
=== The Gentoo installation ===
the sub-directory:


    $ unzip freemind-bin-0_7_1.zip
==== Install Java the Gentoo way ====
    $ chown +x freemind.sh


You're done!
Basically, simply do the following:
# emerge -av virtual/jdk
See the [http://www.gentoo.org/doc/en/java.xml Gentoo Java Guide] for more information and further instructions.
 
==== Install FreeMind the Gentoo way ====
 
To ensure you are up-to-date in portage:
 
# emerge --sync (or emerge-websync)
 
The [http://packages.gentoo.org/search/?sstring=freemind latest version] of FreeMind in Portage may be masked. To use this "unstable" version you may have to [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3&chap=3 unmask] the package.
 
To make sure you know what is going to install, use the --ask flag to emerge.
Answer `yes' if you want to emerge dependencies:
 
# emerge --ask app-misc/freemind
 
=== On any UN*X kind of system (also Linux) ===
 
==== Install Java on UN*X ====
 
It doesn't really matter, just install some Java from Sun or Blackdown.
Download the Java Runtime Environment (JRE) from Sun (Linux self-extracting file), called something like
[http://java.sun.com/j2se/1.4.2/download.html j2re-1_4_2_07-linux-i586.bin] or [http://java.sun.com/j2se/1.5.0/download.jsp jre-1_5_0_02-linux-i586.bin], or from [http://blackdown.org/ Blackdown].
 
Before doing anything though, check to see if a usable Java is already on the system.  Any Solaris (version 9 or newer) has one, for example.
 
==== Install FreeMind on UN*X ====
 
===== straight-forward installation method =====
 
Download the file called something like <tt>[http://prdownloads.sourceforge.net/freemind/freemind-bin-max-0_8_0.zip?download freemind-bin-max-0_8_0.zip]</tt> (or <tt>[http://prdownloads.sourceforge.net/freemind/freemind-bin-0_8_0.zip?download freemind-bin-0_8_0.zip]</tt> if you don't need the plugins), create somewhere a sub-directory and unpack there the file (as normal user or root, depending where you created the sub-directory):
 
$ unzip .../freemind-bin-max-0_8_0.zip
$ chmod +x freemind.sh
 
You're done, on any system where /bin/sh is a POSIX-compliant shell.  That's true on most Linux systems, but not on Solaris. On Solaris, edit the first line of freemind.sh and change /bin/sh to /bin/bash. Now you're done.
 
NB: If you want to use beta 0.9: There are zip-Files available for 0.9, too.
 
===== more subtle installation method =====
 
Considering you're installing FreeMind locally, you should get root and do the following:
 
# mkdir -p /usr/local/share/freemind
# unzip freemind*.zip -d /usr/local/share/freemind
# chmod +x /usr/local/share/freemind/freemind.sh
# ln -s /usr/local/share/freemind/freemind.sh /usr/local/bin/freemind
 
Here's a video of the process: total time ~3 minutes. http://www.youtube.com/watch?v=JTKp_yNP2lg
 
This will copy the contents of the zip file to <tt>/usr/local/share/freemind</tt> and create a symbolic link to the FreeMind script in the /usr/local/bin directory.
 
The link to the script will only work if you unzip FreeMind in a directory for which <code>freemind.sh</code> is searching. You can however install FreeMind in any directory (e.g. in <code>/opt/FreeMind</code>) if you set <code>$FREEMIND_BASE_DIR</code> in <code>/etc/freemind/freemind.rc</code> resp. <code>~/.freemind/freemindrc</code> like this:
 
# path to the installation directory of FreeMind
FREEMIND_BASE_DIR="/opt/FreeMind"


== Starting FreeMind ==
== Starting FreeMind ==
Line 146: Line 422:
=== Installed from RPM or DEB package ===
=== Installed from RPM or DEB package ===


Just type "<tt>freemind</tt>" in a console or an Alt+F2 command line, you're normally done. There should also be a menu entry under "Applications" in KDE and GNOME (under Debian, in any window manager).
Just type &quot;<tt>freemind</tt>&quot; in a console or an Alt+F2 command line, you're normally done. There should also be a menu entry under &quot;Applications&quot; in KDE and GNOME (under Debian, in any window manager).
 


=== Installed from ZIP file ===
=== Installed from ZIP file ===


Type the full path of the installation directory in a console or an Alt+F2 command line to start <tt>freemind.sh</tt>, e.g.:
You'll need to use a console, or the Alt+F2, or create your own menu entry, using one of the following commands:


    $ /some/directory/path/freemind.sh
* if you've used the [[#straight-forward_installation_method]], you most probably need to type the whole path, e.g.:


You will need to create your own menu entry if you need it.
        $ /some/directory/path/freemind.sh
 
* if you've used the [[#more_subtle_installation_method]], and assuming <tt>/usr/local/bin</tt> is in your PATH variable, you can use a simple <tt>freemind</tt> command, as if installed from a package.


== Frequently and less frequently Asked Questions ==
== Frequently and less frequently Asked Questions ==


=== When starting FreeMind, it says "<tt>java: command not found</tt>". What's wrong? ===
=== FreeMind aborts with an 'xcb_xlib' error ===
 
When trying to start FreeMind, it aborts with an error as follows:
 
java: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
 
This is a [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373 known Java error] and one possible solution is to set the following environment variable:
 
export LIBXCB_ALLOW_SLOPPY_LOCK=1
 
(helps on SuSE 10.3)
 
On gentoo, the following command line fixes the issue:
----
locate libmawt.so|grep /opt/sun-j.*/lib/i386/.*libmawt.so|xargs sed -i 's/XINERAMA/FAKEEXTN/g'
 
For 64-bit:
 
locate libmawt.so|grep /opt/sun-j.*/lib/amd64/.*libmawt.so|xargs sed -i 's/XINERAMA/FAKEEXTN/g'


It's a problem from Fedora Core, Mandrake and the Java Sun RPM, which neither add the ''java'' command to the <tt>PATH</tt> nore defines properly the variable <tt>JAVA_HOME</tt>.
=== I can't paste branches copied from FreeMind into other applications ===
 
Try to use the middle mouse button to paste the content copied from FreeMind.
 
Under KDE, you can use klipper and set the option &quot;Synchronize contents of the clipboard and the selection&quot;,
so that you can also use Ctrl+V or Shift+Ins to paste.
 
=== I want to add an icon for my Link to FreeMind on my Desktop. Is there one? ===
 
The icon is compressed inside the <tt>freemind.jar</tt> file you can find in the FreeMind installation directory, e.g. <tt>/usr/(local/)share/freemind</tt>. Once the file located, use a command similar to:
 
$ unzip ''$FREEMIND_BASE_DIR''/lib/freemind.jar \*/FreeMindWindowIcon.png -d /tmp
 
This will create a folder <tt>images</tt> in the tmp directory containing the <tt>FreeMindWindowIcon.png</tt> file - your icon!
 
=== When starting FreeMind, it says &quot;<tt>java: command not found</tt>&quot;. What's wrong? ===
 
It's a problem from Fedora Core, Mandrake and the Java Sun RPM, which neither add the ''java'' command to the <tt>PATH</tt> nor defines properly the variable <tt>JAVA_HOME</tt>.


Add the following two lines to one of the startup scripts (<tt>/etc/profile</tt> and/or <tt>/etc/bash.bashrc</tt> for all users, or <tt>$HOME/.profile</tt> and/or <tt>$HOME/.bashrc</tt> only for you):
Add the following two lines to one of the startup scripts (<tt>/etc/profile</tt> and/or <tt>/etc/bash.bashrc</tt> for all users, or <tt>$HOME/.profile</tt> and/or <tt>$HOME/.bashrc</tt> only for you):
Line 171: Line 485:
; Note : if you've installed FreeMind from a package, you can alternatively use the solution under [[#How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F]].
; Note : if you've installed FreeMind from a package, you can alternatively use the solution under [[#How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F]].


=== Why do I get a "No print service found" whenever I attempt to print? ===
=== Why do I get a &quot;No print service found&quot; whenever I attempt to print? ===


At least up to version 1.4, the java runtime under Linux is using the BSD printing system (also known as the ''lp'' commands, or ''old lp''). Most modern distributions offer the ''CUPS'' printing system, which needs a compatibility layer to work with Java:
At least up to version 1.4, the java runtime under Linux is using the BSD printing system (also known as the ''lp'' commands, or ''old lp''). Most modern distributions offer the ''CUPS'' printing system, which needs a compatibility layer to work with Java:
* Under SuSE 8.2, the package required is called ''cups-client''
* Under SuSE 8.2, the package required is called ''cups-client''
* Under Debian, it's called ''cupsys-bsd''.
* Under Debian, it's called ''cupsys-bsd''. Sun's Java 6 (package sun-java6) needs the package libcupsys2. I addition to this you got to have a ServerName line in /etc/cups/client.conf.
Install this package and you should be able to print from FreeMind.
Install this package and you should be able to print from FreeMind.


; Note : it looks like Java 1.5 is supporting CUPS directly.
If problem persist, try this [http://kbpdfstudio.qoppa.com/general/iamrunningpdfstudioon64bitdebiansqueezewithgnomedesktopwhenitrytoprintigettheerrormessagenoprintservicefound].
 
If CUPS is not installed on your system, it is easier to install the traditional lpr/lpd system. On Debian, the package is just ''lpr'', <tt>apt-get install lpr</tt> should be enough.
 
Sun's Java 1.5 supports CUPS out of the box. If, however, printing still doesn't work it may be because the CUPS printer names contain '-' characters. There's a Java bug that prevents this from working properly [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6252456], and it doesn't seem fully fixed yet (build 1.5.0_06-b05). Work-arounds are:
 
# Rename printers, e.g. from "my-printer" to "myprinter".
# Network printer: Add a local CUPS network printer with a simple name without '-'s in it and use the CUPS URI reported by lpstat -v for the printer you want.
# After executing "$ls -l /usr/lib/libcups.so" if there exists a link as "/usr/lib/libcups.so -> libcups.so.2" , try with removing the link by hand.
 
Small test code to regenerate the error fast: DummyPrinter.java
import java.awt.print.PrinterJob;
class DummyPrinter {
    public static void main(String[] args) {
        try {
            PrinterJob printJob=PrinterJob.getPrinterJob();
            printJob.printDialog();
            System.exit(0);
        } catch( Exception e) {
            e.printStackTrace();
        }
    }
}
 
 
'''SuSE 10.2 & Ubuntu Feisty:'''
A missing file /etc/cups/client.conf might confuse java and java detects no printer.
Create /etc/cups/client.conf with the content "ServerName localhost" in this case.


=== I get an error <tt>java.lang.NoClassDefFoundError</tt> when starting FreeMind ===
=== I get an error <tt>java.lang.NoClassDefFoundError</tt> or <tt>java.lang.NullPointerException</tt> when starting FreeMind ===


When trying to start FreeMind from a console, you get the following error messages and FreeMind doesn't start:
When trying to start FreeMind from a console, you get the following error messages and FreeMind doesn't start:
Line 194: Line 536:
  at java.lang.ClassLoader.loadClass (ClassLoader.java:121)  
  at java.lang.ClassLoader.loadClass (ClassLoader.java:121)  
  at kaffe.jar.ExecJarName.main (ExecJarName.java:55)  
  at kaffe.jar.ExecJarName.main (ExecJarName.java:55)  
  at kaffe.jar.ExecJar.main (ExecJar.java:75)  
  at kaffe.jar.ExecJar.main (ExecJar.java:75)


This is because you use <tt>kaffe</tt> (the same applies to <tt>libgcj</tt>, <tt>sablevm</tt> and a few others), which doesn't offer all features of Sun's Java. [http://blackdown.org Blackdown]'s Java does as well work, I would have doubts on any other implementation (beside perhaps IBM's one). So, remove this Java version and install a version from Sun or Blackdown.
or
 
update UI not overwritten in class:
javax.swing.JLayeredPane[0,0,0x0,invalid,translucent,alignmentX=0.0,alignmentY=0.0,border=,
maximumSize=java.awt.Dimension[width=2147483647,height=2147483647],minimumSize=java.awt.Dimension
[width=0,height=0],preferredSize=java.awt.Dimension[width=0,height=0]]
[Freemind-Developer-Internal-Warning (do not write a bug report, please)]:
                                            Tried to get view without being able to get map module.
Exception during event dispatch:
java.lang.NullPointerException
at javax.swing.plaf.basic.BasicComboBoxEditor.setItem(java.lang.Object) (/usr/lib/libgcj.so.6.0.0)
 
This is because you use <tt>kaffe</tt> (the same applies to <tt>libgcj</tt>, <tt>sablevm</tt> and a few others), which doesn't offer all features of Sun's Java. [http://blackdown.org Blackdown]'s Java do es as well work, I would have doubts on any other implementation (beside perhaps IBM's one). So, remove this Java version and install a version from Sun or Blackdown.


; Note : if you've installed FreeMind from a package, you can alternatively use the solution under [[#How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F]].
; Note : if you've installed FreeMind from a package, you can alternatively use the solution under [[#How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F]].


=== While installing a FreeMind package, it complains Java isn't installed, though I've installed it and Java programs do work ===
=== While installing a FreeMind package, it complains Java isn't installed, though I've installed it and Java programs do work ===
Line 211: Line 566:
* Install the FreeMind package by ignoring the missing dependencies, e.g.:
* Install the FreeMind package by ignoring the missing dependencies, e.g.:
     # rpm -Uvh -nodeps freemind....noarch.rpm
     # rpm -Uvh -nodeps freemind....noarch.rpm


=== While installing a FreeMind RPM package, it complains Java isn't installed, though I've installed it from an RPM package ===
=== While installing a FreeMind RPM package, it complains Java isn't installed, though I've installed it from an RPM package ===


You've probably installed the ''JDK'' package from Sun, which provides also a JRE but doesn't say it. Your best chance is to install the dummy package [http://eric.lavar.de/comp/linux/freemind/j2sdk-provides-j2re-1.4.2-2.noarch.rpm j2sdk-provides-j2re-1.4.2-2.noarch.rpm]. The [http://eric.lavar.de/comp/linux/freemind/j2sdk-provides-j2re-1.4.2-2.src.rpm source package] is available as well.
You've probably installed the ''JDK'' package from Sun, which provides also a JRE but doesn't say it. Your best chance is to install the dummy package [http://eric.lavar.de/comp/linux/freemind/j2sdk-provides-j2re-1.4.2-2.noarch.rpm j2sdk-provides-j2re-1.4.2-2.noarch.rpm]. The [http://eric.lavar.de/comp/linux/freemind/j2sdk-provides-j2re-1.4.2-2.src.rpm source package] is available as well.


=== How can I make FreeMind use a specific Java Virtual Machine? ===
=== How can I make FreeMind use a specific Java Virtual Machine? ===
Line 220: Line 577:
If you've installed FreeMind from a package, you can make it use a different Java virtual machines than other programs by adding lines similar to the 2 following ones to <tt>/etc/freemind/freemindrc</tt>, for all users, or to <tt>$HOME/.freemind/freemindrc</tt>, for you, so that only FreeMind is impacted (and no other program):
If you've installed FreeMind from a package, you can make it use a different Java virtual machines than other programs by adding lines similar to the 2 following ones to <tt>/etc/freemind/freemindrc</tt>, for all users, or to <tt>$HOME/.freemind/freemindrc</tt>, for you, so that only FreeMind is impacted (and no other program):


     export PATH=$PATH:''/usr/java/j2re1.4.2_04/bin''
     export PATH=''/usr/java/j2re1.4.2_04/bin'':$PATH
     export JAVA_HOME=''/usr/java/j2re1.4.2_04''
     export JAVA_HOME=''/usr/java/j2re1.4.2_04''


Line 232: Line 589:
     [mkdir] Created dir: /usr/src/redhat/BUILD/freemind-0.7.1/bin/classes
     [mkdir] Created dir: /usr/src/redhat/BUILD/freemind-0.7.1/bin/classes
     [javac] Compiling 92 source files to /usr/src/redhat/BUILD/freemind-0.7.1/bin/classes
     [javac] Compiling 92 source files to /usr/src/redhat/BUILD/freemind-0.7.1/bin/classes
     [javac] /usr/src/redhat/BUILD/freemind-0.7.1/freemind/freemind/modes/MindMapLinkRegistry.java:38: error:
     [javac] /usr/src/redhat/BUILD/freemind-0.7.1/freemind/freemind/modes/MindMapLinkRegistry.java:38:
'{' expected.
                                                                    error: '{' expected.
     [javac]        };
     [javac]        };
     [javac]        ^
     [javac]        ^
     [javac] /usr/src/redhat/BUILD/freemind-0.7.1/freemind/freemind/modes/MindMapLinkRegistry.java:40: error:
     [javac] /usr/src/redhat/BUILD/freemind-0.7.1/freemind/freemind/modes/MindMapLinkRegistry.java:40:
                                                                                  error:
  Public interface `freemind.modes.ID_Blank' must be defined in a file called `ID_Blank.java'.
  Public interface `freemind.modes.ID_Blank' must be defined in a file called `ID_Blank.java'.
     [javac]        public interface ID_Blank extends ID_BasicState {};
     [javac]        public interface ID_Blank extends ID_BasicState {};
Line 242: Line 600:


The ant package delivered with Fedora Core 2 seems to be broken (version is 1.5.2, but my ant version is 1.5.1 and it works). Installing ant (and dependencies) from the [http://jpackage.org/ JPackage Project] seems to solve the problem.
The ant package delivered with Fedora Core 2 seems to be broken (version is 1.5.2, but my ant version is 1.5.1 and it works). Installing ant (and dependencies) from the [http://jpackage.org/ JPackage Project] seems to solve the problem.
=== Under Fedora Core 3, Java complains in libawt.so about missing libXp.so.6 ===
The exact error message is:
Exception in thread &quot;main&quot; java.lang.UnsatisfiedLinkError:
/usr/lib/jre/lib/i386/libawt.so: libXp.so.6:
cannot open shared object file: No such file or directory
In this case install the package <tt>xorg-x11-deprecated-libs-6.8.1-12.i386.rpm</tt>, e.g.
using yum, this should solve the problem.
=== FreeMind seems broken and I have the Gtk Look&Feel ===
We already had quite a lot of issues with the Gtk Look&Feel, sometimes in aspects nobody would have thought relevant to the Look&Feel (e.g. hangs on file system access). Hence we strongly recommend to change your Look&Feel to something else before even trying to pin down the issue.
You can change it in the menu <tt>Tools &rarr; Preferences... &rarr; Appareance &rarr; Look and Feel</tt>.
Should the problem be such that you can't even start the preferences menu (or FreeMind as a whole), edit the file <tt>~/.freemind/user.properties</tt> to uncomment and modify the <tt>lookandfeel</tt> parameter, as in:
lookandfeel = metal
Instead of <tt>metal</tt>, other valid values are <tt>nothing</tt> (for no Look&Feel at all), <tt>default</tt> (the... default one), <tt>windows</tt> or <tt>motif</tt>; mainly a matter of taste.
; Note : if the modification of <tt>~/.freemind/user.properties</tt> doesn't seem to change anything, remove the <tt>lookandfeel</tt> parameter from the file <tt>~/.freemind/auto.properties</tt>
And, yes, we know, Gtk looks ''sooo'' much better! (but we don't really care)
=== When resizing the FreeMind window, the inner field doesn't resize properly (or other GUI strangeness) ===
If you're using a 3D desktop (like [http://compiz.org/ Compiz] or [http://www.beryl-project.org/ Beryl]), that's most probably the reason for your issue. We don't have a fix yet and we even don't know if it's a FreeMind, a Java or a Compiz/Beryl issue. Hints are welcome. (This also happens with [http://www.nongnu.org/ratpoison/ ratpoison] and [http://awesome.naquadah.org/ awesome].)
; Hint<nowiki>:</nowiki> : Beryl, Kubuntu-Feisty, sun-java6-jre: problems with resizing? This works for me:
 
# open FreeMind on Beryl Window Manager
# set Kwin (KDE Window manager) as actual Window manager
# select back Beryl Window manager - resizing works now!
This problem can be circumvented at least partially by editing the ''$HOME/.freemind/auto.properties'':
#Wed Jun 13 15:58:31 EEST 2007
lastOpened=
standardfont=SansSerif
appwindow_state=0
appwindow_height='''720'''
appwindow_width='''1260'''
toolbarVisible=true
leftToolbarVisible=true
antialiasEdges=true
antialiasAll=false
Set the ''appwindow_height'' and ''appwindow_width'' to as high values as possible, so that you don't have to resize at all. If all toolbar icons fit to the screen, you're on the clear :).
'''Another hint:''' setting the AWT_TOOLKIT=MToolkit environment variable seems to solve some of the problems. I had the problem that in compiz-fusion the freemind window appeared undecorated and was unmanageable (couldn't be moved, resized, etc.). Setting this environment variable before running freemind solves this problem. I found the solution [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6429775 here].  **Addition: This fix (also) works for awesome 2.3, in both tiling and floating modes.
On Awesome (and probably other tiling window managers [http://www.haskell.org/pipermail/xmonad/2009-April/007674.html]) adding AWT_TOOLKIT=MToolkit can fix some of the UI issues, but at the cost of causing Freemind to semi-randomly stop responding to keyboard events, usually after interacting with a dialog. This appears to be a bug in the JRE that affects a variety of applications. If you run
  wmname LG3D
before launching, it solves both problems '''without''' the environmental variable (if it is set, be sure to unset it). I have the window manager run this on startup and it seems to make everything happy.


== Troubleshooting ==
== Troubleshooting ==
Line 247: Line 664:
Most people seem to think that, because you're relatively knowledgeable, they can tell you that something doesn't work, and you will be able to find out the solution, just like this!
Most people seem to think that, because you're relatively knowledgeable, they can tell you that something doesn't work, and you will be able to find out the solution, just like this!


Well, that's not exactly like this: first, I need to understand what the problem exactly is, and then I can try to solve it, especially if I've already seen and solved the problem. Think about your mechanic at the garage, if you give him a call and tell him "my car doesn't start" or "something is wrong with my car", would you expect him to tell you right away "Oh, yes, that's the plugs!". Most probably, he will ask to come by.
Well, that's not exactly like this: first, I need to understand what the problem exactly is, and then I can try to solve it, especially if I've already seen and solved the problem. Think about your mechanic at the garage, if you give him a call and tell him &quot;my car doesn't start&quot; or &quot;something is wrong with my car&quot;, would you expect him to tell you right away &quot;Oh, yes, that's the plugs!&quot;. Most probably, he will ask to come by.
Well, that's exactly the same here, I can't ask you to come by, but if you want good help, you'll need to give good information.
Well, that's exactly the same here, I can't ask you to come by, but if you want good help, you'll need to give good information.


Line 260: Line 677:
         /usr/bin/java -version
         /usr/bin/java -version
         rpm -qa | grep -i j
         rpm -qa | grep -i j
         rpm -q freemind
         rpm -qa | grep freemind
         env | grep -i j
         env | grep -i j


Line 268: Line 685:
         /usr/bin/java -version
         /usr/bin/java -version
         dpkg -l \*j\*
         dpkg -l \*j\*
         dpkg -l freemind
         dpkg -l freemind\*
         env | grep -i j
         env | grep -i j


; Note : You should see which java command is used, e.g. "<tt>/usr/bin/java</tt>", from the debug output of the freemind command.
; Note : You should see which java command is used, e.g. &quot;<tt>/usr/bin/java</tt>&quot;, from the debug output of the freemind command.


The result should look somewhat like this (error messages are OK, I like error messages!):
The result should look somewhat like this (error messages are OK, I like error messages!):
Line 287: Line 704:
  Done.
  Done.
  Default (System) Look & Feel: javax.swing.plaf.metal.MetalLookAndFeel
  Default (System) Look & Feel: javax.swing.plaf.metal.MetalLookAndFeel
  [Freemind-Developer-Internal-Warning (do not write a bug report, please)]: Tried to get view without being able to get map module.
  [Freemind-Developer-Internal-Warning (do not write a bug report, please)]:
                    Tried to get view without being able to get map module.
   
   
  alice@wonderland:~> /usr/bin/java -version
  alice@wonderland:~> /usr/bin/java -version
  java version "1.4.2-rc1"
  java version &quot;1.4.2-rc1&quot;
  Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.2-rc1)
  Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.2-rc1)
  Java HotSpot(TM) Client VM (build Blackdown-1.4.2-rc1, mixed mode)
  Java HotSpot(TM) Client VM (build Blackdown-1.4.2-rc1, mixed mode)
Line 314: Line 732:
  alice@wonderland:~> env | grep -i j
  alice@wonderland:~> env | grep -i j
  JRE_HOME=/usr/lib/java/jre
  JRE_HOME=/usr/lib/java/jre
  PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome2/bin:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/bin:/opt/gnome/bin
  PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:[etc...]
  JAVA_BINDIR=/usr/lib/java/bin
  JAVA_BINDIR=/usr/lib/java/bin
  JAVA_HOME=/usr/lib/java
  JAVA_HOME=/usr/lib/java
Line 324: Line 742:


* open a new thread in the [http://sourceforge.net/forum/forum.php?forum_id=22102 Help Forum] of the [http://sourceforge.net/projects/freemind FreeMind Project],
* open a new thread in the [http://sourceforge.net/forum/forum.php?forum_id=22102 Help Forum] of the [http://sourceforge.net/projects/freemind FreeMind Project],
* putting Linux in the subject helps spot the right messages,
* select the commands and what they output,
* select the commands and what they output,
* and paste the stuff using the middle button of your mouse in the message body.
* and paste the stuff using the middle button of your mouse in the message body.
* Explain also your problem of course.
* Explain also your problem of course.
* Add the name and version of your distribution (SuSE 8.2 or whatever).
* Add the name and version of your distribution (SuSE 8.2 or whatever).
* If the problem is not completely specific to FreeMind, does the problem appear as well with other Java applications (we suggest [http://jedit.sf.net/ JEdit] because it uses the same graphical system "Swing")?
* That should be all.
* That should be all.
</td></tr>
</table>
== Building the Debian Package of FreeMind ==
Regarding the package source code, the package is embedded in the Debian processes and especially Java Maintainers team [http://pkg-java.alioth.debian.org/]:
* the package source code is available to everybody [http://svn.debian.org/wsvn/pkg-java/trunk/freemind/#_trunk_freemind_] and well tracked [http://svn.debian.org/wsvn/pkg-java/tags/freemind/#_tags_freemind_]
* there is a team around it and not only a single person.
* a newbie can get help and support from this same team
* Ubuntu Java developers are also on the mailing list, hence (slightly) better chances to get it into Ubuntu.
[[Category:Documentation]]

Latest revision as of 23:09, 10 March 2011

Installation (0.8.0)

FreeMind is a Java program, hence you need Java to make it work. There is the "Java runtime engine" (JRE or J2RE) required to run (use, start) FreeMind, and there is the "Java Development Kit" (JDK or J2DK) if you want to compile FreeMind (If you don't know what compile means, then you need only the JRE. In the following lines, I will concentrate on making FreeMind run and the JRE installation).

Once Java has been installed, only then does it make sense to install FreeMind. You can use packages (.deb or .rpm), which is a bit more work to setup but much easier to update, or you can use the more simple installation from a ZIP file (as described in the UN*X section).

The Debian installation

This description should be valid for any Debian based distribution, in particular (K)ubuntu.

Note
FreeMind 0.8.0 is not part of the Debian repository, although FreeMind 0.7.1 is, because of a lot of additional dependencies, and some license issues. For all the gory details, have a look at [1] from the Debian Wiki. We're working on it, but it will take time and won't happen before release of FreeMind 0.9.0.

Install Java the Debian way

Most easiest way

Make sure that the Java 5 JRE under Debian resp. Java 5 JRE under Ubuntu (FreeMind 0.8.0 doesn't support Java 6) is installed, using e.g. aptitude install sun-java5-jre (for Sarge, you will need to add first the backport repositories).

You can make Java 5 the default JRE by using the command update-java-alternatives -s java-1.5.0-sun, but you don't need to.

For Debian versions older than Sarge, or if you need Java 1.4

As Java isn't really free or open, there was no official Debian package for it. The procedure is hence to install java-package from the contrib section, e.g. as root with:

# apt-get install java-package

Read the instructions delivered with the package, and create your own little Java package(s).

In a nutshell, download the Java Runtime Environment (JRE) from Sun (Linux self-extracting file), called something like j2re-1_4_2_10-linux-i586.bin or jre-1_5_0_02-linux-i586.bin. Use the command from the java-package called make-jpkg along with fakeroot as in:

$ fakeroot make-jpkg j2re-1_4_2_10-linux-i586.bin

noting that the filename depends on your version. When you have this, you can install the package as root:

# dpkg -i sun-j2re1.4.deb
Note
The package sun-j2re1.4debian is no longer needed since Sarge has been released.

Installing FreeMind under Debian

You can always download the required .deb files from the Files section and install them by hand, using dpkg or whatever, but the comfortable way is to add the following lines to your /etc/apt/sources.list:

   deb http://eric.lavar.de/comp/linux/debian/ <version>/
   deb-src http://eric.lavar.de/comp/linux/debian/ <version>/
Note
you need to replace <version> by either unstable or experimental: I use unstable for software for which I'm pretty sure it could make it into the official Debian repository, experimental for the rest. Currently, unstable contains FreeMind 0.8.0 and dependencies, experimental contains betas of 0.9.0 (and dependencies).

Then call as root the two (or three) following commands:

# apt-get update
# apt-get install libbatik-java/testing libjcalendar-java/testing
# apt-get install freemind/experimental freemind-plugins-svg/experimental \
      freemind-plugins-time/experimental freemind-plugins-help/experimental \
      libjgoodies-forms-java/testing

(it's more comfortable because, each time you call "apt-get upgrade", you'll get automatically the new freemind package)

Some additional notes:

  1. with the repository method, you can get as well the sources for the .deb package using "apt-get source freemind[...]".
  2. of course, you're not obliged to install the different plugins.
  3. if you want to use the 'help' plugin, you'll need to download JavaHelp from Sun's Java site and install the jar file as /usr/local/share/java/jhall.jar.
  4. the 2nd line is only required if you're using "sarge" and want to install freemind-plugins-svg (Batik) respectively freemind-plugins-time (JCalendar). For this command to work, you need of course to make sure that the proper repositories have been entered in /etc/apt/sources.list, like in:
   deb http://ftp.XX.debian.org/debian testing main contrib non-free
   deb-src http://ftp.XX.debian.org/debian testing main contrib non-free
Note
XX has to be replaced with the nearest country code (e.g. de for Deutschland, fr for France,...; check the Debian worldwide mirror sites list).
Note
libforms-java has been recently replaced through libjgoodies-forms-java and is now part of Debian etch/testing.

Ubuntu & Kubuntu

2010/10/06 - The following is no longer true on 10.04. Just installed FreeMind via the repositories on Kubuntu 10.04 and the version is 0.9.0 RC 6.

An outdated and buggy Freemind is included in Ubuntu multiverse repositories (enable multiverse in Software Sources), though it's a one-click install.

If you get an error when you try to run freemind about not being able to open libgtkpeer then use the following command line:

    • sudo apt-get install gcj-jre

(Source for fix: https://bugs.launchpad.net/ubuntu/+source/gcj-4.1/+bug/90380 )

Easily Run most-recent Freemind from the zip

see instructions here

Alternative, More updated Repository

Start the Synaptic Package Manager (under the System menu), and then do the following:

  • Add the following repositories using the Menu Settings ⇒ Repositories:
    • deb http://eric.lavar.de/comp/linux/debian/ unstable/ ("Third Party Software" tab)
    • deb http://eric.lavar.de/comp/linux/debian/ ubuntu/ ("Third Party Software" tab)
    • The multiverse and universe repositories ("Ubuntu Software" tab)
  • "Reload" the package list using the corresponding icon.
  • Mark the following packages for installation (or make sure they are already installed):
    • sun-java6-jre.
    • javahelp2
    • freemind
    • And, as you need them, freemind-plugins-help, freemind-plugins-svg and freemind-plugins-time (you might search for "freemind" and install everything you find...).
  • Apply the changes. That's it, FreeMind appears under the "Office" sub-menu!
Note 1
I've added the libbatik-java package under my personal ubuntu repository, be aware that (security) updates might not happen timely. It shouldn't bother anybody much, but just in case...
Note 2
Ubuntu's online documentation explains Synaptic and how to add extra repositories.
Note 3

2008-04-18

Synaptic shows JAVAHELP2 has been packaged. When you search for JAVAHELP, you may see javahelp2 - the 2 is a version number).

Synaptic shows FreeMind 0.8.1 has been packaged.

FreeMind 0.8.0 doesn't work properly with Java 6.

0.9.0.betaX is not yet packaged, check therefore the UN*X installation method

Old instructions

Installation on Ubuntu requires two steps. Install a Java runtime environment, then install FreeMind. Newer versions of Ubuntu (since 6.10?) install Java by default. So chances are that you can skip most of the following instructions. You might want to check, if Java is installed and what version is active. Open a Terminal and type

   java -version

Here's what you get with Ubuntu 9.04

user@ubuntu:~$ java -version
java version "1.6.0_0"
OpenJDK Runtime Environment (IcedTea6 1.4.1) (6b14-1.4.1-0ubuntu11)
OpenJDK Server VM (build 14.0-b08, mixed mode)

Java 1.4 or higher should be fine. See also Ubuntu's community documentation on Java.

Install Java Manually

These instructions (and these notes) are also known to work on Ubuntu 6.10 (EdgyEft). See the Talk Page.

I got my hand on a Kubuntu 5.10 installation, and am now able to give some hints about the specificas of the (K)Ubuntu installation:

  1. you will first need to add the multiverse and universe repositories to your installation, there are plenty of places which explain how to do this.
  2. then, if you're happy with Blackdown's Java 1.4, you don't need to create your own Java package and can install j2re1.4 from the multiverse repository.
  3. sadly, libbatik-java and libjgoodies-forms-java don't seem to be part of any repository; so, you should add the Debian repository as described in the above notes, but be careful to not break your installation with too many pure Debian packages. I personally added the following lines to the file /etc/apt/preferences:
   Package: *
   Pin: release o=Debian
   Pin-Priority: 200

You milleage may vary but if this doesn't work, consider looking at this link.

Install FreeMind Manually

All the above required packages can be installed more easily within Kubuntu 6.10, even without installing a new java RE. I used the previous installed sun java 6 jdk (Freemind 0.8 gives a error message at start, that it might not run correctly, but it does afterwards). Notice that FreeMind 0.8.0 doesn't support Java 6 (FreeMind 0.9.0 will) and issues have been reported; use apt-get install sun-java5-jre if you want to be sure.

After adding the multiverse and universe repositories add the FreeMind-specific repositories:

   deb http://eric.lavar.de/comp/linux/debian/ <version>/
   deb-src http://eric.lavar.de/comp/linux/debian/ <version>/

(where <version> is unstable or experimental), apt-get install freemind (plus plugins packages if needed) seems to work without adding further Debian repositories.

gdebi-gtk

This worked for me on Ubuntu Feisty Fawn and was very easy.

Download the FreeMind .deb files to an empty directory. I put them in ~/Freemind.

Open a terminal window and change directory to ~/Freemind.

My directory contained the .deb files listed here:

    freemind_0.8.0-1_all.deb
    freemind-plugins-time_0.8.0-1_all.deb
    libbatik-java_1.5.1-1_all.deb
    freemind-plugins-svg_0.8.0-1_all.deb

Since I had Sun Java installed already, I just ran these command lines:

    gdebi-gtk freemind_0.8.0-1_all.deb
    gdebi-gtk freemind-plugins-time_0.8.0-1_all.deb
    gdebi-gtk libbatik-java_1.5.1-1_all.deb
    gdebi-gtk freemind-plugins-svg_0.8.0-1_all.deb

That was it. Last thing I did was to create a new launcher on my desktop that called "freemind". I dragged the launcher to the task bar where a single click launches the application. It seems to work well. I didn't bother installing the help .deb because the dependencies reported by gdebi-gtk were too complicated for me to resolve.

Good luck! I hope your installation works as well as mine.

The RPM installation

Starting with version 0.8.0 of FreeMind, I've started to orient my packaging work towards JPackage compatibility, so that the same packages should work for all distributions with JPackage's packages, especially SuSE 9.x and 10.x, Mandrake/Mandriva 10.x, as well as Fedora Core.

Installation of FreeMind 0.8.1 under openSUSE 11.2

  1. Search for msv-xsdlib on [2], install it with "1-click install".
  2. You should now be able to install by clicking on the link on Sourceforge download page, and use "1-click install".

Installation of FreeMind 0.8.1 under SuSE 10.3

  1. Add software repositories using YaST:
    1. Add URL http://eric.lavar.de/comp/linux/rpm/noarch (repomd.xml is not signed, ignore YaST complains)
    2. Add community repository Main non-OSS (for Sun's Java)
    3. Add Jpackage URL free, generic and version 1.6, using the list of JPackage mirrors, e.g.
  2. Using YaST's software management, search for 'freemind' and install what you see and like.
  3. Also using YaST's software management, make sure that java-1_5_0-sun or java-1_6_0-sun is installed (search for '-sun').
  4. And make sure that FreeMind uses the right Java (not gcj as per default).

Installation of FreeMind 0.8.1 under Fedora Core 8

  1. Add software repositories using the Package Manager (aka pirut):
    1. Add URL http://eric.lavar.de/comp/linux/rpm/noarch
    2. Add Jpackage URL free, generic and version 1.6, using the list of JPackage mirrors, e.g.
    3. Add Jpackage URL non-free, generic and version 1.7, using the list of JPackage mirrors, e.g.
  2. If you wish to use the Smart package manager, instead of pirut, create a new channel for Freemind by...
    1. Select Edit | Channels
    2. Press New
    3. Choose "Provide channel information" then press OK
    4. Choose "RPM MetaData" then press OK
    5. Provide an alias of your choice (e.g. FreeMind) and a name (really a description) of your choice. Set the Base URL to http://eric.lavar.de/comp/linux/rpm/noarch, then press OK
    6. Attempting to install the SVG plugin necessary for exporting images is a problem as the Fedora 8 Development repository is, as of 12-Feb-08, the only place I've found with the 64-bit libbatik needed by SVG, and then only version 1.7. The 0.8.1 FreeMind SVG plugin claims to want < 1.7. Installing 0.8.0 seems to work fine even with Batik 1.7. Upgrading everything except the SVG plugin seems to work, as well.
  3. Using either Package Manager, search for 'freemind' and install what you see and like (at this stage, FreeMind is installed and kind of works using IcedTea 1.7, we now assume that you want FreeMind to really properly work...).
  4. Download the JDK (not the JRE!) RPM of Java 1.5 or 6 from Sun's website, install it, then install the corresponding java-1.5.0-sun-compat or java-1.6.0-sun-compat package.
  5. And make sure that FreeMind uses the right Java (not IcedTea 1.7 as per default).

Install Java the JPackage way

FreeMind only works with Sun's or Blackdown's Java.

Taking the example of Sun's Java, there are three possibilities to install Java:

  1. It already does come with your distribution, fine, nothing to do, but make sure it's really Sun's Java by checking the output of java -version.
  2. Install java-1.4.2-sun-compat or java-1.5.0-sun-compat on top of Sun's JDK
  3. Download java-1.4.2-sun or java-1.5.0-sun, build them and install the created packages.

Install JavaHelp2 the JPackage way

JIf you want to install freemind-plugins-help, you'll need to install JavaHelp2. For licensing reasons, JavaHelp2 can't be redistributed by OpenSource distributions, hence you'll need to build the package yourself:

  1. download
  2. build
  3. and install the created RPM file.
Note
in the mean time, JavaHelp2 has been put under GPL by Sun and can be packaged and distributed in binary form, and there is such a package coming from JPackage, to be found on a JPackage mirror. Still, the state of this package is a bit unclear, e.g. I'm not sure it's part of a repository.

Install FreeMind with RPM, the stupid and easy way ;-)

Install Sun's or Blackdown's Java the JPackage way.

Install JavaHelp2 the JPackage way if you need freemind-plugins-help.

Download all the RPMs from the Files section (don't forget jcalendar and jgoodies-forms) in a directory. Install all these RPMs using the rpm command, e.g.:

# rpm -ivh freemind*.rpm jcalendar*.rpm jgoodies-forms*.rpm

For each missing dependency, go to the JPackage site, search and download the package(s) using the same kind of rpm command. Here is a list of dependencies:

  • freemind: jakarta-commons-lang, relaxngDatatype, msv-xsdlib, jgoodies-forms, xml-commons-apis, ws-jaxme, jakarta-commons-codec
  • freemind-plugins-svg: batik, rhino, xerces-j2, xml-commons-apis
  • freemind-plugins-help: javahelp2
  • freemind-plugins-time: jcalendar >= 1.2.2
Note
search for "msv" in order to find "msv-xsdlib". All the FreeMind RPM sources can be downloaded from [3].

Install FreeMind on Fedora 10, 11 and 12

First become root, create a temporary directory and CD to it.

There is a broken dependency at the moment in the SVG plugin so do this:

rpm --import http://www.jpackage.org/jpackage.asc
rpm --oldpackage -ivh http://ftp.heanet.ie/pub/jpackage/1.7/generic/RPMS.free/batik-1.6-3jpp.noarch.rpm

Now download all the rpms you want for freemind and put them in your temporary root directory.

There is no fedora support 10 and we are missing packages we need so.we will enable the generic repositories.

curl http://jpackage.org/jpackage17.repo | awk '/-generic/,/^$/ { sub("enabled=0","enabled=1"); print }' >/etc/yum.repos.d/jpackage17.repo
yum --nogpgcheck -y localinstall freemind-*.rpm

Remove the temporary directory you made and start freemind :)

Install FreeMind on Fedora 13 (64bit)

Open terminal, and execute the following with command line.

1) Make a directory (e.g. mkdir FreeMind).

2) Download the FreeMind ANY packages into the make directory (filename: freemind-bin-max-0_8_1.zip approx 8 MB).

3) unzip the all the file in that directory ([user@computer FreeMind] gunzip freemind-bin-max-0_8_1.zip).

4) type the following "bash Freemind.sh" and a GUI will pop out.

That was tested with Fedora 13-64bit.

Install FreeMind using apt4rpm

method tested with SuSE 10.1 - work in progress

$ wget http://linux01.gwdg.de/~scorot/install-apt4suse.rpm
(become root)
# rpm -Uvh install-apt4suse.rpm
  • call as root the install-apt4suse script (wait a while). Slightly unrelated: missing key has to be loaded usng rpm --import http://repos.opensuse.org/KDE:/Backports/SUSE_Linux_10.1/repodata/repomd.xml.key
  • add the required JPackage entries as described under http://jpackage.org/apt.php and linked pages. (one need to import the Jpackage GPG keys using rpm and gpg!)
  • add eric.lavar.de etc... and the rest same as below
  • apt-get update
  • download and build javahelp2: apt source javahelp2 + download from Sun, then install with rpm.
  • apt install freemind\*

method tested with SuSE 9.2

It sounds easy but actually the first step can be a bit tricky: you first need to setup apt4rpm, as described following the links given in this Jpackage Repository page. The good news is that always more distribution are coming standard with apt on board (if you are able to call apt-get as root, you already have it).

Add the JPackage repository to your /etc/apt/sources.list file as described in the same above page. Add also the two following lines (the 2nd one is optional, for sources) to the same file:

   rpm http://eric.lavar.de/comp/linux/rpm noarch java
   rpm-src http://eric.lavar.de/comp/linux/rpm noarch java

Then call as root the two following commands:

# apt-get update
# apt-get install freemind freemind-plugins-svg freemind-plugins-time freemind-plugins-time

(it's more comfortable because, each time you call "apt-get upgrade", you'll get automatically the new freemind package)

Some additional notes:

  1. with the repository method, you can get as well the sources for the .rpm package using "apt-get source freemind[...]".
  2. of course, you're not obliged to install the different plugins.

Install FreeMind using urpmi

method tested with Mandriva 2006

Use Easy Urpmi to setup a first set of urpmi repositories. Then add the JPackage repositories. See JPackage Project Repositories for details, but in a nutshell:

# urpmi.addmedia jpackage-1.6-generic MIRROR/1.6/generic/free with hdlist.cz
# urpmi.addmedia jpackage-1.6-generic-non-free MIRROR/1.6/generic/non-free with hdlist.cz

Install Sun's or Blackdown's Java the JPackage way.

Install JavaHelp2 the JPackage way if you need freemind-plugins-help.

Add FreeMind's repository:

# urpmi.addmedia freemind http://eric.lavar.de/comp/linux/rpm/noarch/

As of Mandriva 2008 this does not work as the urpmi.addmedia requires a hdlist file. Using the --no-probe does not work.

And then install FreeMind and its plugins:

# urpmi freemind freemind-plugins-svg freemind-plugins-time freemind-plugins-help

The Gentoo installation

Install Java the Gentoo way

Basically, simply do the following:

# emerge -av virtual/jdk

See the Gentoo Java Guide for more information and further instructions.

Install FreeMind the Gentoo way

To ensure you are up-to-date in portage:

# emerge --sync (or emerge-websync)

The latest version of FreeMind in Portage may be masked. To use this "unstable" version you may have to unmask the package.

To make sure you know what is going to install, use the --ask flag to emerge. Answer `yes' if you want to emerge dependencies:

# emerge --ask app-misc/freemind

On any UN*X kind of system (also Linux)

Install Java on UN*X

It doesn't really matter, just install some Java from Sun or Blackdown. Download the Java Runtime Environment (JRE) from Sun (Linux self-extracting file), called something like j2re-1_4_2_07-linux-i586.bin or jre-1_5_0_02-linux-i586.bin, or from Blackdown.

Before doing anything though, check to see if a usable Java is already on the system. Any Solaris (version 9 or newer) has one, for example.

Install FreeMind on UN*X

straight-forward installation method

Download the file called something like freemind-bin-max-0_8_0.zip (or freemind-bin-0_8_0.zip if you don't need the plugins), create somewhere a sub-directory and unpack there the file (as normal user or root, depending where you created the sub-directory):

$ unzip .../freemind-bin-max-0_8_0.zip
$ chmod +x freemind.sh

You're done, on any system where /bin/sh is a POSIX-compliant shell. That's true on most Linux systems, but not on Solaris. On Solaris, edit the first line of freemind.sh and change /bin/sh to /bin/bash. Now you're done.

NB: If you want to use beta 0.9: There are zip-Files available for 0.9, too.

more subtle installation method

Considering you're installing FreeMind locally, you should get root and do the following:

# mkdir -p /usr/local/share/freemind
# unzip freemind*.zip -d /usr/local/share/freemind
# chmod +x /usr/local/share/freemind/freemind.sh
# ln -s /usr/local/share/freemind/freemind.sh /usr/local/bin/freemind

Here's a video of the process: total time ~3 minutes. http://www.youtube.com/watch?v=JTKp_yNP2lg

This will copy the contents of the zip file to /usr/local/share/freemind and create a symbolic link to the FreeMind script in the /usr/local/bin directory.

The link to the script will only work if you unzip FreeMind in a directory for which freemind.sh is searching. You can however install FreeMind in any directory (e.g. in /opt/FreeMind) if you set $FREEMIND_BASE_DIR in /etc/freemind/freemind.rc resp. ~/.freemind/freemindrc like this:

# path to the installation directory of FreeMind
FREEMIND_BASE_DIR="/opt/FreeMind"

Starting FreeMind

Installed from RPM or DEB package

Just type "freemind" in a console or an Alt+F2 command line, you're normally done. There should also be a menu entry under "Applications" in KDE and GNOME (under Debian, in any window manager).


Installed from ZIP file

You'll need to use a console, or the Alt+F2, or create your own menu entry, using one of the following commands:

       $ /some/directory/path/freemind.sh
  • if you've used the #more_subtle_installation_method, and assuming /usr/local/bin is in your PATH variable, you can use a simple freemind command, as if installed from a package.

Frequently and less frequently Asked Questions

FreeMind aborts with an 'xcb_xlib' error

When trying to start FreeMind, it aborts with an error as follows:

java: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.

This is a known Java error and one possible solution is to set the following environment variable:

export LIBXCB_ALLOW_SLOPPY_LOCK=1

(helps on SuSE 10.3)

On gentoo, the following command line fixes the issue:


locate libmawt.so|grep /opt/sun-j.*/lib/i386/.*libmawt.so|xargs sed -i 's/XINERAMA/FAKEEXTN/g'

For 64-bit:

locate libmawt.so|grep /opt/sun-j.*/lib/amd64/.*libmawt.so|xargs sed -i 's/XINERAMA/FAKEEXTN/g'

I can't paste branches copied from FreeMind into other applications

Try to use the middle mouse button to paste the content copied from FreeMind.

Under KDE, you can use klipper and set the option "Synchronize contents of the clipboard and the selection", so that you can also use Ctrl+V or Shift+Ins to paste.

I want to add an icon for my Link to FreeMind on my Desktop. Is there one?

The icon is compressed inside the freemind.jar file you can find in the FreeMind installation directory, e.g. /usr/(local/)share/freemind. Once the file located, use a command similar to:

$ unzip $FREEMIND_BASE_DIR/lib/freemind.jar \*/FreeMindWindowIcon.png -d /tmp

This will create a folder images in the tmp directory containing the FreeMindWindowIcon.png file - your icon!

When starting FreeMind, it says "java: command not found". What's wrong?

It's a problem from Fedora Core, Mandrake and the Java Sun RPM, which neither add the java command to the PATH nor defines properly the variable JAVA_HOME.

Add the following two lines to one of the startup scripts (/etc/profile and/or /etc/bash.bashrc for all users, or $HOME/.profile and/or $HOME/.bashrc only for you):

   export PATH=$PATH:/usr/java/j2re1.4.2_04/bin
   export JAVA_HOME=/usr/java/j2re1.4.2_04

(the part in italic depends on your installation)

Note
if you've installed FreeMind from a package, you can alternatively use the solution under #How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F.

Why do I get a "No print service found" whenever I attempt to print?

At least up to version 1.4, the java runtime under Linux is using the BSD printing system (also known as the lp commands, or old lp). Most modern distributions offer the CUPS printing system, which needs a compatibility layer to work with Java:

  • Under SuSE 8.2, the package required is called cups-client
  • Under Debian, it's called cupsys-bsd. Sun's Java 6 (package sun-java6) needs the package libcupsys2. I addition to this you got to have a ServerName line in /etc/cups/client.conf.

Install this package and you should be able to print from FreeMind.

If problem persist, try this [4].

If CUPS is not installed on your system, it is easier to install the traditional lpr/lpd system. On Debian, the package is just lpr, apt-get install lpr should be enough.

Sun's Java 1.5 supports CUPS out of the box. If, however, printing still doesn't work it may be because the CUPS printer names contain '-' characters. There's a Java bug that prevents this from working properly [5], and it doesn't seem fully fixed yet (build 1.5.0_06-b05). Work-arounds are:

  1. Rename printers, e.g. from "my-printer" to "myprinter".
  2. Network printer: Add a local CUPS network printer with a simple name without '-'s in it and use the CUPS URI reported by lpstat -v for the printer you want.
  3. After executing "$ls -l /usr/lib/libcups.so" if there exists a link as "/usr/lib/libcups.so -> libcups.so.2" , try with removing the link by hand.

Small test code to regenerate the error fast: DummyPrinter.java

import java.awt.print.PrinterJob;

class DummyPrinter {
   public static void main(String[] args) {
       try {
           PrinterJob printJob=PrinterJob.getPrinterJob();
           printJob.printDialog();
           System.exit(0);
       } catch( Exception e) {
           e.printStackTrace();
       }
   }
}


SuSE 10.2 & Ubuntu Feisty: A missing file /etc/cups/client.conf might confuse java and java detects no printer. Create /etc/cups/client.conf with the content "ServerName localhost" in this case.

I get an error java.lang.NoClassDefFoundError or java.lang.NullPointerException when starting FreeMind

When trying to start FreeMind from a console, you get the following error messages and FreeMind doesn't start:

./lib/freemind.jar 
java.lang.NoClassDefFoundError: javax/swing/JFrame 
at java.lang.ClassLoader.defineClass0 (ClassLoader.java) 
at java.lang.ClassLoader.defineClass (ClassLoader.java:179) 
at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:33) 
at kaffe.lang.AppClassLoader$JarSource.findClass (AppClassLoader.java:143) 
at kaffe.lang.AppClassLoader.findClass (AppClassLoader.java:291) 
at java.lang.ClassLoader.loadClass (ClassLoader.java:142) 
at java.lang.ClassLoader.loadClass (ClassLoader.java:121) 
at kaffe.jar.ExecJarName.main (ExecJarName.java:55) 
at kaffe.jar.ExecJar.main (ExecJar.java:75)

or

update UI not overwritten in class: 
javax.swing.JLayeredPane[0,0,0x0,invalid,translucent,alignmentX=0.0,alignmentY=0.0,border=,
maximumSize=java.awt.Dimension[width=2147483647,height=2147483647],minimumSize=java.awt.Dimension
[width=0,height=0],preferredSize=java.awt.Dimension[width=0,height=0]] 
[Freemind-Developer-Internal-Warning (do not write a bug report, please)]:
                                           Tried to get view without being able to get map module. 
Exception during event dispatch: 
java.lang.NullPointerException 
at javax.swing.plaf.basic.BasicComboBoxEditor.setItem(java.lang.Object) (/usr/lib/libgcj.so.6.0.0) 

This is because you use kaffe (the same applies to libgcj, sablevm and a few others), which doesn't offer all features of Sun's Java. Blackdown's Java do es as well work, I would have doubts on any other implementation (beside perhaps IBM's one). So, remove this Java version and install a version from Sun or Blackdown.

Note
if you've installed FreeMind from a package, you can alternatively use the solution under #How_can_I_make_FreeMind_use_a_specific_Java_Virtual_Machine.3F.


While installing a FreeMind package, it complains Java isn't installed, though I've installed it and Java programs do work

You've probably installed Java manually, and not from an RPM resp. DEB package. This means that the FreeMind RPM resp. DEB package can't know that Java is installed.

Three solutions (from better to worse):

  • Install Java from an RPM or DEB package and retry to install the FreeMind package.
  • Install FreeMind using the ZIP file.
  • Install the FreeMind package by ignoring the missing dependencies, e.g.:
   # rpm -Uvh -nodeps freemind....noarch.rpm


While installing a FreeMind RPM package, it complains Java isn't installed, though I've installed it from an RPM package

You've probably installed the JDK package from Sun, which provides also a JRE but doesn't say it. Your best chance is to install the dummy package j2sdk-provides-j2re-1.4.2-2.noarch.rpm. The source package is available as well.


How can I make FreeMind use a specific Java Virtual Machine?

If you've installed FreeMind from a package, you can make it use a different Java virtual machines than other programs by adding lines similar to the 2 following ones to /etc/freemind/freemindrc, for all users, or to $HOME/.freemind/freemindrc, for you, so that only FreeMind is impacted (and no other program):

   export PATH=/usr/java/j2re1.4.2_04/bin:$PATH
   export JAVA_HOME=/usr/java/j2re1.4.2_04

(the part in italic depends on your installation)

Why doesn't the rebuild of the SRPM work under Fedora Core 2

During rebuild of the RPM, lines similar to the following do appear and the build fails:

compile:
   [mkdir] Created dir: /usr/src/redhat/BUILD/freemind-0.7.1/bin/classes
   [javac] Compiling 92 source files to /usr/src/redhat/BUILD/freemind-0.7.1/bin/classes
   [javac] /usr/src/redhat/BUILD/freemind-0.7.1/freemind/freemind/modes/MindMapLinkRegistry.java:38:
                                                                    error: '{' expected.
   [javac]        };
   [javac]         ^
   [javac] /usr/src/redhat/BUILD/freemind-0.7.1/freemind/freemind/modes/MindMapLinkRegistry.java:40:
                                                                                  error:
Public interface `freemind.modes.ID_Blank' must be defined in a file called `ID_Blank.java'.
   [javac]        public interface ID_Blank extends ID_BasicState {};
   [javac]                         ^

The ant package delivered with Fedora Core 2 seems to be broken (version is 1.5.2, but my ant version is 1.5.1 and it works). Installing ant (and dependencies) from the JPackage Project seems to solve the problem.

Under Fedora Core 3, Java complains in libawt.so about missing libXp.so.6

The exact error message is:

Exception in thread "main" java.lang.UnsatisfiedLinkError:
/usr/lib/jre/lib/i386/libawt.so: libXp.so.6:
cannot open shared object file: No such file or directory

In this case install the package xorg-x11-deprecated-libs-6.8.1-12.i386.rpm, e.g. using yum, this should solve the problem.

FreeMind seems broken and I have the Gtk Look&Feel

We already had quite a lot of issues with the Gtk Look&Feel, sometimes in aspects nobody would have thought relevant to the Look&Feel (e.g. hangs on file system access). Hence we strongly recommend to change your Look&Feel to something else before even trying to pin down the issue.

You can change it in the menu Tools → Preferences... → Appareance → Look and Feel. Should the problem be such that you can't even start the preferences menu (or FreeMind as a whole), edit the file ~/.freemind/user.properties to uncomment and modify the lookandfeel parameter, as in:

lookandfeel = metal

Instead of metal, other valid values are nothing (for no Look&Feel at all), default (the... default one), windows or motif; mainly a matter of taste.

Note
if the modification of ~/.freemind/user.properties doesn't seem to change anything, remove the lookandfeel parameter from the file ~/.freemind/auto.properties

And, yes, we know, Gtk looks sooo much better! (but we don't really care)

When resizing the FreeMind window, the inner field doesn't resize properly (or other GUI strangeness)

If you're using a 3D desktop (like Compiz or Beryl), that's most probably the reason for your issue. We don't have a fix yet and we even don't know if it's a FreeMind, a Java or a Compiz/Beryl issue. Hints are welcome. (This also happens with ratpoison and awesome.)

Hint:
Beryl, Kubuntu-Feisty, sun-java6-jre: problems with resizing? This works for me:
  1. open FreeMind on Beryl Window Manager
  2. set Kwin (KDE Window manager) as actual Window manager
  3. select back Beryl Window manager - resizing works now!

This problem can be circumvented at least partially by editing the $HOME/.freemind/auto.properties:

#Wed Jun 13 15:58:31 EEST 2007
lastOpened=
standardfont=SansSerif
appwindow_state=0
appwindow_height=720
appwindow_width=1260
toolbarVisible=true
leftToolbarVisible=true
antialiasEdges=true
antialiasAll=false

Set the appwindow_height and appwindow_width to as high values as possible, so that you don't have to resize at all. If all toolbar icons fit to the screen, you're on the clear :).

Another hint: setting the AWT_TOOLKIT=MToolkit environment variable seems to solve some of the problems. I had the problem that in compiz-fusion the freemind window appeared undecorated and was unmanageable (couldn't be moved, resized, etc.). Setting this environment variable before running freemind solves this problem. I found the solution here. **Addition: This fix (also) works for awesome 2.3, in both tiling and floating modes.

On Awesome (and probably other tiling window managers [6]) adding AWT_TOOLKIT=MToolkit can fix some of the UI issues, but at the cost of causing Freemind to semi-randomly stop responding to keyboard events, usually after interacting with a dialog. This appears to be a bug in the JRE that affects a variety of applications. If you run

 wmname LG3D

before launching, it solves both problems without the environmental variable (if it is set, be sure to unset it). I have the window manager run this on startup and it seems to make everything happy.

Troubleshooting

Most people seem to think that, because you're relatively knowledgeable, they can tell you that something doesn't work, and you will be able to find out the solution, just like this!

Well, that's not exactly like this: first, I need to understand what the problem exactly is, and then I can try to solve it, especially if I've already seen and solved the problem. Think about your mechanic at the garage, if you give him a call and tell him "my car doesn't start" or "something is wrong with my car", would you expect him to tell you right away "Oh, yes, that's the plugs!". Most probably, he will ask to come by. Well, that's exactly the same here, I can't ask you to come by, but if you want good help, you'll need to give good information.

It's easier than you might thought, just do the following steps, that should give us a good start:

  • start a console, e.g. use Alt+F2, and type xterm or konsole or rxvt.
  • in the console, type the following statements:

On an RPM based system:

       DEBUG=1 freemind
       (quit freemind)
       /usr/bin/java -version
       rpm -qa | grep -i j
       rpm -qa | grep freemind
       env | grep -i j

On a Debian based system

       DEBUG=1 freemind
       (quit freemind)
       /usr/bin/java -version
       dpkg -l \*j\*
       dpkg -l freemind\*
       env | grep -i j
Note
You should see which java command is used, e.g. "/usr/bin/java", from the debug output of the freemind command.

The result should look somewhat like this (error messages are OK, I like error messages!):

alice@wonderland:~> DEBUG=1 freemind
DEBUG:   Freemind parameters are .
DEBUG:   Using $PATH to find java virtual machine.
DEBUG:   Using '/usr/bin/java' as java virtual machine...
DEBUG:   Freemind Directory is '/usr/share/freemind'.

Looking for user properties:
/home/ericl/.freemind/user.properties

User properties not found. It will be automatically created.
Done.
Default (System) Look & Feel: javax.swing.plaf.metal.MetalLookAndFeel
[Freemind-Developer-Internal-Warning (do not write a bug report, please)]:
                   Tried to get view without being able to get map module.

alice@wonderland:~> /usr/bin/java -version
java version "1.4.2-rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build Blackdown-1.4.2-rc1)
Java HotSpot(TM) Client VM (build Blackdown-1.4.2-rc1, mixed mode)
alice@wonderland:~> rpm -qa | grep -i j
eject-2.0.13-26
joystick-2002.10.30-38
libjpeg-6.2.0-530
joe-2.9.8-179
jfsutils-1.1.1-25
jpilot-devel-0.99.6-0.pm.1
jpeg-6b-530
jhead-2.0-2
taskjuggler-1.4.2-10
j2sdk-provides-j2re-1.4.2-2
libjasper-1.600.0-75
jpilot-0.99.6-0.pm.1
jakarta-ant-1.5.1-37
java2-1.4.2-0.pm.0
java2-jre-1.4.2-0.pm.0
mjpegtools-1.6.2-1
alice@wonderland:~> rpm -q freemind
freemind-0.7.1-6
alice@wonderland:~> env | grep -i j
JRE_HOME=/usr/lib/java/jre
PATH=/usr/local/bin:/usr/bin:/usr/X11R6/bin:[etc...]
JAVA_BINDIR=/usr/lib/java/bin
JAVA_HOME=/usr/lib/java
SDK_HOME=/usr/lib/java
JDK_HOME=/usr/lib/java
JAVA_ROOT=/usr/lib/java

alice@wonderland:~>
  • open a new thread in the Help Forum of the FreeMind Project,
  • putting Linux in the subject helps spot the right messages,
  • select the commands and what they output,
  • and paste the stuff using the middle button of your mouse in the message body.
  • Explain also your problem of course.
  • Add the name and version of your distribution (SuSE 8.2 or whatever).
  • If the problem is not completely specific to FreeMind, does the problem appear as well with other Java applications (we suggest JEdit because it uses the same graphical system "Swing")?
  • That should be all.

Building the Debian Package of FreeMind

Regarding the package source code, the package is embedded in the Debian processes and especially Java Maintainers team [7]:

  • the package source code is available to everybody [8] and well tracked [9]
  • there is a team around it and not only a single person.
  • a newbie can get help and support from this same team
  • Ubuntu Java developers are also on the mailing list, hence (slightly) better chances to get it into Ubuntu.