GPS(1)

πŸ’– GPS(1) πŸ’–

okay so bestie, welcome to gps(1) β€” the overview page from the GPSD Documentation. it's the lil tour guide that shows you around every single gpsd client and helper, and honestly? she's giving main character energy. grab a snack, we're going through all of it ✨


πŸŽ€ NAME πŸŽ€

gps β€” literally just the overview of gpsd clients and helpers. that's her whole job. and she ate πŸ’…


✨ SYNOPSIS ✨

Clients:

cgps [OPTIONS] [server[:port[:device]]]

gegps [OPTIONS] [server[:port[:device]]]

gps2udp [OPTIONS] [server[:port[:device]]]

gpscsv [OPTIONS] [server[:port[:device]]]

gpspipe [OPTIONS] [server[:port[:device]]]

gpsplot [OPTIONS] [server[:port[:device]]]

gpsprof [OPTIONS] [server[:port[:device]]]

gpsrinex [OPTIONS] [server[:port[:device]]]

gpssubframe [OPTIONS] [server[:port[:device]]]

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

lcdgps [OPTIONS] [server[:port[:device]]]

ubxtool [OPTIONS] [server[:port[:device]]]

xgps [OPTIONS] [server[:port[:device]]]

xgpsspeed [OPTIONS] [server[:port[:device]]]

zerk [OPTIONS] [server[:port[:device]]]

Helpers:

gpscat [OPTIONS] file-or-serial-port

gpsctl [OPTIONS]

gpsdctl action device

gpsdecode [OPTIONS]

gpsdebuginfo

gpsfake [OPTIONS]

gpsinit [OPTIONS]

ntpshmmon [OPTIONS]

ppscheck [OPTIONS] device

no cap, that's a lot of little programs. all of them iconic though 🫢


🌸 DESCRIPTION 🌸

gpsd is a daemon β€” a background lil guy β€” that manages GPS receivers, GNSS receivers, AIS receivers, and honestly more than that. and over time? it just agglomerated a whole friend group of diverse clients that talk to gpsd for various tasks. it's a group chat and everyone's got a role πŸ’–

🌈 CLIENTS 🌈

each of the gpsd clients connects to a gpsd daemon to use the data in various ways. if you want the deets, go check the ARGUMENTS and OPTIONS sections. iykyk ✨

  • cgps β€” curses terminal client for gpsd. old-school terminal vibes but make it cute πŸŽ€
  • gegps β€” Google Earth client for gpsd 🌍
  • gps β€” Overview of gpsd clients and helpers (yes bestie, she's listing herself, we love a self-aware queen)
  • gpscsv β€” dump the JSON output from gpsd as CSV πŸ“Š
  • gpsdecode β€” decode GPS, RTCM or AIS streams into a readable format πŸ”
  • gpspipe β€” tool to connect to gpsd and retrieve sentences 🚰
  • gpsplot β€” tool to dynamically dump plot data from gpsd πŸ“ˆ
  • gpsprof β€” profile a GPS and gpsd, plotting latency information ⏱️
  • gpsrinex β€” Read data from gpsd convert to RINEX3 and save to a file. πŸ’Ύ
  • gpssubframe β€” tool to dump subframe sentences from gpsd 🧩
  • gpxlogger β€” Tool to connect to gpsd and generate a GPX file πŸ—ΊοΈ
  • lcdgps β€” LCD client for gpsd πŸ–₯️
  • xgps β€” X client for gpsd πŸͺŸ
  • xgpsspeed β€” X speedometer for gpsd 🏎️

πŸ¦‹ HELPERS πŸ¦‹

the gpsd helpers are the ones you call when you're doing administration of gpsd systems. the backstage crew. the stage managers. obsessed with them honestly πŸ’œ

  • gps2udp β€” feed the take from gpsd to one or more aggregation sites πŸ“‘
  • gpscat β€” dump the output from a GPS 🐱
  • gpsctl β€” control the modes of a GNSS receiver πŸŽ›οΈ
  • gpsdctl β€” tool for sending commands to gpsd over its control socket πŸ•ΉοΈ
  • gpsdebuginfo β€” Generate a gpsd debug dump of your host. 🩺
  • gpsfake β€” test harness for gpsd, simulating a GNSS receiver 🎭
  • gpsinit β€” initialize CAN kernel modules for GPSD πŸ”§
  • ntploggps β€” log gpsd data πŸ“
  • ntpshmmon β€” capture samples from gpsd or other ntpd refclock sources πŸ•°οΈ

🧚 LIBRARIES 🧚

if you're a programmer bestie, there's more info on the gpsd right here:

  • gpsd_json β€” gpsd request/response protocol πŸ“¨
  • libgps β€” C service library for communicating with the GPS daemon πŸ’™
  • libgpsmm β€” C++ and QT class wrappers for the GPS daemon πŸ’œ
  • libQgpsmm β€” C++ and QT class wrappers for the GPS daemon (yes, again, she said it twice and honestly? valid) πŸ’…

πŸ’… OPTIONS πŸ’…

the gpsd clients share a few common options. just a couple. tiny menu, very curated πŸŽ€

  • -?, -h, --help β€” Print a summary of options and then exit. your lil "what does this do again" button πŸ†˜
  • -V, --version β€” Print the package version and exit. she'll tell you what version she is and then dip πŸ‘‘

⭐ ARGUMENTS ⭐

by default, clients collect data from the local gpsd daemon running on localhost, using the default GPSD port 2947. but the optional argument to any client may override this behavior:

[server[:port[:device]]]
  • server β€” The optional host name, IPv4 address, or IPv6 address of the gpsd daemon to connect to. If the server specification contains square brackets, the part inside them is taken as an IPv6 address and port/device suffixes are only parsed after the trailing bracket. The default is localhost. 🏠
  • port β€” The optional TCP port of the daemon to connect to. The default is 2947. πŸšͺ
  • device β€” The optional device name to be watched. πŸ‘€

some possible cases look like this:

  • example.com β€” Connect to the default port 2497 on example.com, trying both IPv4 and IPv6. 🌐
  • example.com:2317 β€” Look at port 2317 on example.com, trying both IPv4 and IPv6. πŸ”’
  • localhost::/dev/ttyS1 β€” Look at the default port, 2947, of localhost, trying both IPv4 and IPv6 and watching output from serial device 1. πŸ”Œ
  • 71.162.241.5:2317:/dev/ttyS3 β€” Look at port 2317 at the specified IPv4 address, collecting data from attached serial device 3. πŸ“
  • [FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:2317:/dev/ttyS5 β€” Look at port 2317 at the specified IPv6 address, collecting data from attached serial device 5. πŸ›°οΈ
not me noticing that first example says port 2497 while everything else says 2947 πŸ™ˆ i'm just the messenger bestie, i'm telling you exactly what the page says, character for character, no edits, no cap.

πŸ”₯ ENVIRONMENT πŸ”₯

Most of the gpsd clients check for the environment variables GPSD_UNITS, LC_MEASUREMENT, and LANG. Maybe more. (she's honest about not being 100% sure and honestly? respect 🫢)

GPSD_UNITS is checked if no unit system is specified on the command line. It may be set to 'i'. 'imperial', 'm', 'metric', or 'n', 'nautical'.

LC_MEASUREMENT and then LANG are checked if no unit system has been specified on the command line, or in GPSD_UNITS. If the value is 'C', 'POSIX', or begins with 'en_US' the unit system is set to imperial. The default if no system has been selected is metric.


πŸ’€ RETURN VALUES πŸ’€

the gpsd clients return simple success or failure codes. no drama, just vibes:

  • 0 β€” on success. slay βœ…
  • 1 β€” on failure. πŸ’€

🌸 SEE ALSO 🌸

gegps(1), gpsctl(1), gpsdebuginfo(1), gpsprof(1), gpsfake(1), gpscat(1), gpspipe(1), xgps(1). xgpsspeed(1)

libgps(3), libgpsmm(3)

gpsd(8)


🌈 RESOURCES 🌈

Project web site: https://gpsd.io/ πŸ¦‹


πŸ‘‘ COPYING πŸ‘‘

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


okay that's the whole page bestie, you made it to the end, so proud πŸ₯ΉπŸ’–

this has been GPSD Version 3.27.5, dated 2025-11-04 β€” that's the source, the version, and the date all in one cute lil sign-off. go forth and connect to things βœ¨πŸ›°οΈπŸ’