InterMapper for FreeBSD 5.x

InterMapper for FreeBSD is packaged as a "BSD PACKAGE" file, which contains the necessary programs and support files. To install InterMapper from the package, you will use the pkg_add "location" command. To query if InterMapper is already installed, type pkg_info | grep InterMapper. To remove InterMapper from your system after installing it, type pkg_delete InterMapper-5.0.6.

Note: The graphical user interface programs (InterMapper or InterMapper RemoteAccess) require Sun Java Runtime Environment. For more information on how to install Java on FreeBSD, please visit: http://www.freebsd.org/java/install.html.

Installing InterMapper Server

The following directions will install InterMapper from the package. InterMapper Server will be configured to run at startup.

$ su -
# cd <directory-containing-tbz>
# pkg_add "InterMapper-5.0.6.tbz"

When InterMapper Server begins running, it can run under any uid on your system. By default, the package creates a user named 'intermapper' to run as. You may specify the user name to run as in the intermapperd.conf file, located at /usr/local/etc/intermapperd.conf.

User "intermapper"

By default, InterMapper Server will save its files in /usr/local/share/intermapper/InterMapper_Settings/; you may change this by editing the SettingsFolder in /usr/local/etc/intermapperd.conf.

SettingsFolder "/path/to/your/settings/folder"

To manually start the server, type:

$ su -
# /usr/local/etc/rc.d/intermapperd.sh start

If the server started successfully, you will see this cryptic message with no newline following it:

intermapperd

To stop the server, use the similar "stop" command:

$ su -
# /usr/local/etc/rc.d/intermapperd.sh stop

The first time you start the InterMapper Server, it will only accept "control" connections from the local machine. If you have a window system (ie X-Windows) and JVM already installed, you can launch InterMapper by typing:

$ /usr/local/bin/intermapper

InterMapper with Compiz, Beryl or Enlightenment

There is a bug when using Java with Compiz or certain other window managers that affects InterMapper, resulting in blank windows when starting either the InterMapper console or InterMapper RemoteAccess. This bug has been mitigated somewhat by Java 6 Update 1, but problems still remain. As a work-around, you can set the AWT_TOOLKIT environment variable to "MToolkit" prior to starting the InterMapper GUI. This tells Java to revert to an older rendering method, which will not integrate as well with modern desktop environments, but doesn't suffer from the same bug.
$ AWT_TOOLKIT=MToolkit /usr/local/bin/intermapper
If you wish to set this option for future sessions, add the following line to ~/.bashrc:
$ echo -e "\nexport AWT_TOOLKIT=MToolkit" >> ~/.bashrc
Any new terminal windows that you open will have this setting in them by default as soon as you have run this command, but applications started from the menu will not pick it up until after you log out and log back in again. This will work for all Java applications on your system (which were probably similarly broken), not just InterMapper.

Upgrading InterMapper Server

To upgrade your InterMapper installation to a newer version, you will "erase and re-install". Your InterMapper settings directory, which includes all of your maps, logs, and notification settings, is not removed when you un-install using "pkg_delete". Although you will not lose any data during the re-installation, this might still be a good time to make a backup of the InterMapper settings folder.

$ su -
# cd <directory-containing-tbz>
# impkg=`pkg_info | grep InterMapper | cut -f1 -d" "`
# pkg_delete "$impkg"
# pkg_add "InterMapper-5.0.6.tbz"

After you re-install InterMapper, you will need to restart the server by following the directions above.

Configuring the InterMapper Server Remotely

Before the server will accept connections from RemoteAccess, you must launch the server with a command-line argument telling it where you will connect from. Type the following commands to kill the intermapperd process, then restart it manually using the -A option:

$ su -
# /usr/local/etc/rc.d/intermapperd.sh stop
# /usr/local/bin/intermapperd -f /usr/local/etc/intermapperd.conf -A "remote:password@*.*.*.*"
The InterMapper server will now accept Administrator connections from any IP address (*.*.*.*) with the user ID "remote" and the password "password". You should immediately launch InterMapper RemoteAccess on another computer and login to this new InterMapper system to set up your InterMapper users and groups.

Removing InterMapper Server

To remove InterMapper Server, you will use the "pkg_delete" command. The "pkg_delete" command will not remove any files created by InterMapper, such as those stored in your "InterMapper_Settings" directory. It will also leave the intermapperd.conf file untouched. To completely remove all remnants of the software, you must also locate and remove the "InterMapper_Settings" directory and the intermapperd.conf file.

$ su -
# pkg_delete InterMapper-5.0.6
# rm -rf <Path to InterMapper_Settings Directory>
# rm /usr/local/etc/intermapperd.conf
# pw userdel intermapper

Running InterMapper Server on a FreeBSD 6.x System

InterMapper for FreeBSD is compiled on a 5.x release of FreeBSD. To run InterMapper on a FreeBSD 6.x system, you must have the 5x compatibility libraries installed on your 6x system. These libraries are part of the compat5x package. If you install a minimal system, these libraries may not installed by default.

A symptom of this problem is that intermapperd will complain that the following libraries are not available:

Shared object "libstdc++.so.4" not found, required by "intermapperd"

To fix this issue, install the compat5x package using pkg_add:

$ su -
# /usr/sbin/pkg_add -r compat5x-i386

As an alternative, you can also use the ports system to install compat5x. You must restart the computer after installing this port:

$ su -
# cd /usr/ports/misc/compat5x
# make install clean
# shutdown -r now

After installing the compat5x package, use the 'ldd' command to verify that all of the required libraries exist:

$ ldd /usr/local/bin/intermapperd
...

$ ldd /usr/local/bin/intermapperauthd
...