How To Setup Garmin 310XT To Work With Linux

In this post I intent to provide a overview of the steps that need to be performed to setup Garmin 310XT GPS Sports Watch to work with Linux (Ubuntu).

(This tutorial should also apply to other similar Garmin GPS Watches -Garmin Forerunner 60 – 405CX – 310XT – 610 – 910XT)

Install Required Packages

Install GFrun

GFrun is the program that you can use to download recorded workouts from your watch. This program has it’s own installation script:

But I have discovered that running it as root is not required.

Configure udev Rules

At first you need to plug in your ANT+ stick and run lsusb |grep ANTUSB

In my case this was the result:

Now you just need to create file /etc/udev/rules.d/51-garmin.rules and set following content:

After that you need to restart udev by running

And re-plug your ANT+ stick.

Running GFrun

To simply extract workouts from device I only run command:

This will download FIT files from the device to

The downloaded files are ready to be uploaded anywhere you like (for example Endomondo or Strava – both services accept them without issues).

Fix screen flashing problem with redshift

As an alternative to flux I use redshift on my Linux machine. Recently I stumbled upon very weird problem – each time I close Java desktop app and redshift was active, the screen flashed. It was a very quick change that looked like redshift was disabled and then enabled again.

I was starting redshift like this:

After trying out few configuration options it turns out that changing video method to vidmode was the right solution for my problem:

Now I can develop desktop Java apps without any screen flashing.

How to run Transmission torrent server on Linux server

This post is a quick tutorial on how to install and configure Transmission torrent client on Linux (Debian, Ubuntu) server in headless mode.

Create directory to store downloads:

Install transmission (run as root or with sudo):

Add your user to debian-transmission group (run as root or with sudo):

Setup correct permissions to Downloads folder, for starters I suggest setting 777:

As your user start transmission – this will generate basic configuration file (run this as your user):

Right after it starts, you can stop it (also run this as your user):

Substitute this file: ~/.config/transmission-daemon/settings.json with following content:

You should substitue following properties to match your own setup:

Both incomplete-dir and download-dir should point to the newly created directory. rpc-password should be set to long random value.
rpc-whitelist is a list of hosts that are allowed to view administrator interface over the browser, it should include the IP address of your local environment.
Alternatively if you don’t have a static IP address, then you should set rpc-username which will be used to authorize user on the WWW interface.

Start transmission-daemon (as your user), this time new configuration will be used.

Configure firewall, I have added following rules:

Visit web UI where you can add torrents for download: – transmission should be ready to serve there.