How to Sync Fonts Between Linux Devices

This small guide is about syncing fonts between two or more Linux devices, for example one laptop and one desktop computer, both running any Linux distribution. More specifically, I use this method to sync fonts I downloaded via the Google Fonts library.

Is it possible to sync fonts on any Linux distribution?

The method chosen makes this guide distribution-agnostic. Though I tested it on Linux Mint, it will also work on Ubuntu, Manjaro or any distribution of your choice. Please share your experience in the comments.

Does font synchronization work with cloud services other than Dropbox?

Although I use Dropbox in this guide, any cloud storage service running on Linux should be able to sync a font folder, including Google Drive, Mega or OwnCloud.

Default folders locations

Make sure you change each step of this guide accordingly if you have a different configuration than the following:

  • Default font directory on Linux: in this example we use the .fonts subfolder within your home folder (~/.fonts), which should work well on any Linux distributions. Other possibilities for the default font folder include ~/.local/share/fonts (on Ubuntu) or /usr/local/share/fonts – adapt the instructions to your needs.
  • Location of the Dropbox folder: standard location (~/Dropbox)

1. Setup the first device

1.1 Create the synced font folder

Create a font directory for the fonts to be synced anywhere in the Dropbox folder. In this example we will use a folder named Synced-fonts. Create this folder via the file manager or  via the command line:

mkdir ~/Dropbox/Synced-fonts

Warning: don’t use a hidden folder (starting with a period) like ~/Dropbox/.synced-fonts. The folder would sync in Dropbox, but the fonts inside won’t be available to use in your apps.

1.2 Add fonts to the synced font folder

Then, copy or move the fonts to be synchronized to this folder. You can download and use any fonts from Google Fonts. You may use subfolders, but hidden folders won’t work.

If you want to move all fonts from ~/.fonts to the new Dropbox font folder, use the following command:

mv ~/.fonts ~/Dropbox/Synced-fonts

2. Sync fonts on Linux devices

You should repeat this part on all devices to be synced, the first one included.

2.2 Enter the local “non-synced” folder

Check if you already have a local “non-synced” ~/.fonts font folder in your home directory:

ls -la ~/ | grep ".fonts"

If it doesn’t exist, create one:

mkdir ~/.fonts

Warning: Dropbox only supports the ext4 file system on Linux. Syncing fonts probably won’t work with Dropbox if you use anything else than NTFS for Windows, HFS+ or APFS for Mac, and Ext4 for Linux.

2.3 Create a symbolic link to the synced font folder

Using the terminal, navigate to the local “non-synced” file folder:

cd ~/.fonts

Here comes the most important step. Create a symbolic link to the Dropbox font folder:

ln -s ~/Dropbox/Synced-fonts

Check if the symbolic link was successfully created:

ls -la ~/.fonts | grep "\->"

The output should be something like:

Sync Fonts anf Google Fonts with Dropbox on Linux (create symlinks)

Now restart the device or rebuild the font cache:

sudo fc-cache -f -v

Some programs like LibreOffice will need to be closed completely and restarted to use the new fonts.

3. Enjoy font synchronization on Linux

The fonts in the “Dropbox font folder” will now be available on all synced Linux computers. Any font added or removed will be synced by Dropbox immediately.

Unfortunately, this doesn’t mean the fonts will be available instantaneously on the synced devices. To reflect any change, be sure to restart the synced device or rebuild its font cache.

By Johannes Eva, November 2018

Posted in Fonts, Linux.

Post a comment