“Map of the world being synchronized” generated by Midjourney. Credit: libre-software.net. License: CC BY-SA 4.0
How to Sync fonts between multiple Linux computers using Dropbox
Last updated on October 11, 2022
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:
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, October 2022
3 thoughts on “How to change the default application for a type of file on Linux”
I have .wma audio files showing as text files. It doesn’t help to use “open with” a media player because Mint thinks they’re text docs so nothing happens. Weirdly, one song in one folder IS still an audio file – and plays fine. Is there a global way to wipe out file associations and then re-associate via terminal?
In my Debian Jessie system, the per user settings are at: $HOME/.config/mimeapps.list
Helped me setting PDF files to be opened with Atril instead of Gimp (Ubuntu MATE 14.04). Thank you.