Scroll to navigation



gpxlogger - Tool to connect to gpsd and generate a GPX file


gpxlogger [OPTIONS] [server[:port[:device]]]

gpxlogger -h

gpxlogger -V


gpslogger program collects fixes from gpsd and logs them to standard output in GPX format, an XML profile for track logging. It does not need to run as root, but can run as root.

The output may be composed of multiple tracks. A new track is created if there’s no fix written for an interval specified by the -i or --interval option and defaulting to 5 seconds.

gpxlogger can use any of the export methods that gpsd supports. For a list of these methods, use the -l or --exports option. To force a method, give the -e, --export option folloed by one of the colon-terminated method names from the -l, --exports table.


-?, -h, --help

Print a summary of options and then exit.

-d, --daemonize

Run as a daemon in background. It requires the -f, --output option, which directs output to a specified logfile.

-D LVL, --debug LVL

Sets the debug level, it is primarily for troubleshooting. It enables various progress messages to standard error.

-e METHOD, --export METHOD

If D-Bus support is available on the host, GPSD is configured to use it, and -e dbus, or --export dbus is specified, this program listens to DBUS broadcasts from gpsd via org.gpsd.fix.

With -e sockets, or if sockets is the method defaulted to, you may give a [server[:port[:device]]] specification as arguments. See the ARGUMENTS section below for more details.

With -e shm, --export shm this program will listen to the local gpsd using shared memory.

-F INFILE, --filein INFILE

Read gpsd JSON from file INFILE, instead of from a gpsd daemon.

-g, --garmin

Enable Garmin extensions to GPX format. This allows depth to also be logged in the gpx output. Not compatible with Google maps.

-i SECONDS, --interval SECONDS

A new track is created if there’s no fix written for an interval of SECONDS. Defaulting to 5 seconds.

-l, --exports

List all possible options for -e, --export.

-m MINMOVE, --minmove MINMOVE

Sets a minimum move distance in meters (it may include a fractional decimal part). Motions shorter than this will not be logged.

-o OUTFILE, --output OUTFILE

Output the GPX logg to file file OUTFILE, instead of to stdout..

-r, --reconnect

Retry when GPSd loses the fix. Without -r, gpxlogger would quit in this case.

-V, --version

Dump the package version and exit.


By default, clients collect data from the local gpsd daemon running on localhost, using the default GPSD port 2947. The optional argument to any client may override this behavior: [server[:port[:device]]]

For further explanation, and examples, see the ARGUMENTS section in the gps(1) man page



on success.


on failure





Project web site: <>


This file is Copyright 2013 by the GPSD project
SPDX-License-Identifier: BSD-2-clause


Amaury Jacquot

Petter Reinholdtsen

Chris Kuethe

2023-01-10 GPSD, Version 3.25