summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gpsdctl.c4
-rw-r--r--gpsdctl.xml5
2 files changed, 8 insertions, 1 deletions
diff --git a/gpsdctl.c b/gpsdctl.c
index 7958c38c..a1ac0844 100644
--- a/gpsdctl.c
+++ b/gpsdctl.c
@@ -21,6 +21,8 @@
#include "gpsd.h"
+#define DEFAULT_GPSD_TEST_SOCKET "/tmp/gpsd.sock"
+
static char *control_socket = DEFAULT_GPSD_SOCKET;
static char *gpsd_options = "";
@@ -97,6 +99,8 @@ int main(int argc, char *argv[])
if (sockenv != NULL)
control_socket = sockenv;
+ else if (geteuid() != 0)
+ control_socket = DEFAULT_GPSD_TEST_SOCKET;
if (optenv != NULL)
gpsd_options = optenv;
diff --git a/gpsdctl.xml b/gpsdctl.xml
index f667c933..b72d2767 100644
--- a/gpsdctl.xml
+++ b/gpsdctl.xml
@@ -45,7 +45,10 @@ client requests a watch.</para>
<para>Two environment variables are
interpreted. <envar>GPSD_SOCKET</envar> sets the location of the
-control socket. It defaults to <filename>/var/run/gpsd.sock</filename>.</para>
+control socket. It defaults to
+<filename>/var/run/gpsd.sock</filename> if the effective user ID of
+this program is root, <filename>/tmp/gpsd.sock</filename>
+otherwise.</para>
<para><envar>GPSD_OPTIONS</envar>
may be a list of options to be passed to <application>gpsd</application>