FreeMind on Linux
Frequently and less frequently Asked QuestionsI can't paste branches copied from FreeMind into other applicationsTry 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?Not in the ZIP file, you'll need to download and unpack the source file, there you'll find a file freemind/images/FreeMindWindowIcon.png that you can copy somewhere and use as desktop icone. 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 nore 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)
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:
Install this package and you should be able to print from FreeMind. 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.
I get an error java.lang.NoClassDefFoundError when starting FreeMindWhen 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) 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 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.
While installing a FreeMind package, it complains Java isn't installed, though I've installed it and Java programs do workYou'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):
# 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 packageYou'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=$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) Why doesn't the rebuild of the SRPM work under Fedora Core 2During 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.6The 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. TroubleshootingMost 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:
On an RPM based system: DEBUG=1 freemind (quit freemind) /usr/bin/java -version rpm -qa | grep -i j rpm -q 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
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:~>
|