|  |  | Installation

## Installation

As stated before Tcl/Tk (preferably version 8.4 or later) must be installed to run GPSMan. It can be got from the Active State site.

In Unix and Linux systems access to the serial or USB port is restricted. This means that either there is a program to lock the port with super-user privileges, or the permissions of the port are changed to give read/write access to a group of users or to all users. The latter is dangerous in that it creates security problems. In any case super-user privileges are needed to install the software or to give access to the serial or USB port group.

For security reasons, in Unix/Linux systems the program cannot be run by the super-user. This constraint can be overcome by editing the source file `main.tcl`, finding the line that contains `cantexecasroot` and doing the change described in the comment before it.

Support for the Garmin USB protocol needs a Linux kernel with the `garmin_gps` kernel driver which is part of the official kernels since version 2.6.11. WARNING: some recent Garmin receivers will need at least version 0.34 of this driver. To include the driver when compiling a custom kernel the option under "USB support", "USB Serial Converter support", "Garmin GPS driver" in the kernel configuration interface should be checked. The name of this option is `USB_SERIAL_GARMIN`. The system administrator may have to intervene if any installed application requires this driver to be blacklisted making it unusable.

### Debian and other Linux distribution packages

The installation is done as with other such packages and there is no need for manual configuration. Users of GPSMan must belong to the group that owns the serial port to be used (normally `dialout`).

### Other Unix and Linux systems

After unpacking the files (use `tar xzvf gpsman-6.4.4.1.tgz`) the GPSMan main file, `gpsman.tcl`, should be edited for configuration (see below) and put where it can be executed. The other GPSMan files should go into the directory whose path is given at the beginning of `gpsman.tcl`.

The package includes a file `gpsman.sh` in the `util` directory that is a shell script to call `gpsman.tcl` in graphical mode with no need to give the serial port as argument. This file should be edited for configuration and placed where it can be executed.

### Launching the program from the command line

The program is launched by calling `gpsman` (or `gpsman.tcl`) that may have no arguments or a single argument with the path to the serial or USB port device, in which case the graphical interface will be used, or 2 or more arguments, in which case the command-line mode will be entered. An exception to this is the call
`gpsman [OPTIONS] start travel [INTERVAL]`
that is parsed as if in command-linde mode, but then launches the graphical interface (this will only work with Garmin receivers).

In the case of a single argument, a USB port device can be given with the prefix `usb=`, as in `usb=/dev/ttyUSB0`, to enforce the use of the Garmin USB protocol when this is not the default protocol.

### MacOS X systems

GPSMan can be run under MacOS X systems by installing a suitable Tcl/Tk package and by using a USB to serial adapter. The following configuration is known to work (information kindly supplied by Mathias Herberts, Mathias.Herberts`_at_`iroise.net):

- Keyspan USB to Serial Adapter (USA19HS),
- Tcl/Tk Aqua,
- device to use: `/dev/cu.USA19...`.

To install GPSMan, unpack the `gpsman-6.4.4.1.tgz` archive, and edit the GPSMan main file, `gpsman.tcl` for configuration (see below) and put it where it can be executed. The other GPSMan files should go into the directory whose path is given at the beginning of `gpsman.tcl`.

### Other systems

After unpacking the `gpsman-6.4.4.1.zip` archive the GPSMan main file, `gpsman.tcl`, should be edited for configuration (see below) and put where it can be executed. The other GPSMan files should go into the directory whose path is given at the beginning of `gpsman.tcl`.

|  |  | Installation