Sylphase SDGPS
The software-defined GPS(/GNSS) toolkit
Run on system startup

Put something like the following in /etc/rc.local:

sudo -u YOUR_USERNAME -i /home/YOUR_USERNAME/START_SDGPS &

And put something like the following in ~/START_SDGPS and chmod +x it:

#!/bin/sh
screen   -S sdgps -X quit || true
sleep 3 # wait to ensure that old sdgps processes are gone so we don't accidentally connect to them or listen on an already-used port
screen -dmS sdgps -t 0
screen   -S sdgps -p 0 -X stuff 'unset HISTFILE\n' # prevent writing out these commands to bash history
screen   -S sdgps -p 0 -X stuff 'cd\n'
screen   -S sdgps -p 0 -X stuff 'sdgps sylphase-usbgpsimu2 --antenna-position [0,0,0] ! tracker ! decoder ! listen-observables-tcp 1234\n'
screen   -S sdgps -X screen -t 1
screen   -S sdgps -p 1 -X stuff 'unset HISTFILE\n' # prevent writing out these commands to bash history
screen   -S sdgps -p 1 -X stuff 'cd\n'
screen   -S sdgps -p 1 -X stuff 'sdgps connect-observables-tcp localhost 1234 ! kf2 --output-rate 100 ! listen-solution-tcp 1235\n'