Как я могу автоматически запустить GPSD на запуске?

Я пытаюсь выяснить, что предотвращает gpsd от автоматического соединения до внешнего аппаратного ключа GPS BU 353 через USB и получение данных. У меня есть та же проблема об обоих из моих ноутбуков (с другими аппаратными средствами), таким образом, это - просто проблема конфигурации программного обеспечения.

Мне удалось добраться gpsd работая вручную, с помощью следующих шагов, но каждый раз, когда моя машина выключается, я должен пройти эти шаги снова.

  1. sudo killall gpsd

  2. Удалите любые сокеты gpsd возможно, оставил позади с:

    комната sudo/var/run/gpsd.sock

  3. Проверьте путь устройства:

    dmesg - which shows PLU353 
    
  4. Удостоверьтесь, что никакие другие программы не используют устройство. Нет ни одного перечисленного

    lsof -n | grep /dev/ttyUSB0
    
  5. Вручную запуск gpsd:

    sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
    
  6. xgps видит вывод GPS - таким образом, это работает

Мои лучшие предположения - это gpsd потребности присоединиться к группе или быть данными дополнительные полномочия, или альтернативно, с которым это является проблема udev конфигурация. Но я натыкаюсь о в темноте, просто делая произвольные предположения.

4
задан 24 February 2019 в 23:23

2 ответа

Вы корректны - это - проблема состава группы. Во-первых, посмотрите, кто владеет устройством:

ls -l /dev/ttyUSB0

В МОЕЙ системе я не имею /dev/ttyUSB0, таким образом, я буду использовать /dev/ttyS0 вместо этого

walt@bat:~(0)$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Feb 23 08:19 /dev/ttyS0
walt@bat:~(0)$ 

Вывод ls управляйте показывает, что это принадлежит root:dialout, и позволяет групповой доступ к устройству.

Добавьте своего пользователя к dialout (или независимо от того, что является правильным для Вашей системы), группа с:

sudo adduser $USER dialout

Затем, чтобы заставить этот состав группы вступить в силу, выйдите из системы/войдите, ИЛИ newgrp dialout запустить оболочку с того состава группы.

Проверьте свой состав группы с /usr/bin/id.

7
ответ дан 1 December 2019 в 09:02
  • открытый порт TCP 2947 в Вашем брандмауэре (если Вы желаете другого доступа сетевых клиентов),
  • в terminal...
    • sudo adduser $USER dialout # добавьте пользователя для группировки dialout
    • sudo -H gedit /etc/default/gpsd # отредактируйте gpsd файл настроек
    • изменение DEVICES="" кому: DEVICES="/dev/ttyUSB0" # Ваше имя/dev может отличаться
    • сохраните файл и выйдите из gedit
    • sudo systemctl restart gpsd # перезапуск gpsd

gpsmon, cgps, и xgps будут теперь работать правильно.

2
ответ дан 1 December 2019 в 09:02

Другие вопросы по тегам:

Похожие вопросы: