How to Install Fonts into Template for pass down to AppVMs

How to Install Fonts into Template for pass down to appVMs

I have installed both Microsoft Fonts and Google fonts in my template and in one of my AppVMs. The problem is when I restarted other AppVMs based on that template the fonts do not show up. For other newbies like myself who have not fooled around with fonts yet, let me review how I initially installed these fonts into my AppVM.

Install downloaded fonts manually

  1. Create a fonts folder using Xfce Terminal:
    ~/.local/share/fonts

user@debian-12-xfce:~$ cd .local/share

The “cd” command moves you to the “share” folder in the “.local” folder.

user@debian-12-xfce:~/.local/share$ mkdir fonts

The “mkdir” command atually makes the folder/directory “fonts”.
2. Copy your .ttf and .otf files into that folder.
3. Update the font cache:

sudo fc-cache -f -v

This command updates the system to recognize the new fonts or something to that effect.
4. Restart LibreOffice. Or what ever program you were trying to use the fonts in.

Install Microsoft fonts automatically

Run this in a terminal:

sudo apt install ttf-mscorefonts-installer

Then run:

sudo fc-cache -f -v

I have fond a lot of issues with the ttf-mscorefonts-installer so just be aware of that.

The issue is when I install the fonts this way in a template it does not filter down to the AppVMs based on that template. In the File System there are two other locations for fonts I found. They are:

etc/fonts
usr/share/fonts
usr/share/fontconfig

So my question is where should I install the fonts so they will be persistent?

Why this matters: Many times when you have issues with documents that were created in Microsoft, Google, or Adobe it is caused by not having the actual fonts installed on your system. I have a list of both Microsoft and Google fonts you should install to solve this problem.

If “ttf-mscorefonts” packages will not install here is a list of the fonts with recent links that work to download them for free.

Andale Mono Andale Mono Font : Download Free for Desktop & Webfont
Arial Arial Font - Download Free Font
Arial Black Arial Black font
Comic Sans MS Comic Sans MS Font
Courier New https://www.freefonts.io/download/courier-new/
Georgia https://www.freefonts.io/download/georgia-font/
Impact Impact Font Family - Free Download & Preview | Deefont
Times New Roman Times New Roman Font : Download Free for Desktop & Webfont
Trebuchet MS Trebuchet MS Font Family : Download Free for Desktop & Webfont
Verdana https://www.freefonts.io/download/verdana/
Webdings Webdings - Download Fonts
Calibri https://www.freefonts.io/download/calibri/
Cambria https://www.freefonts.io/download/cambria/

Calibri is being retired and replaced by Aptos in 2026.
Aptos (formally Bierstadt) https://www.microsoft.com/en-us/download/details.aspx?id=106087
A disciplined, classic look inspired by Swiss mid-century typography. Very clean and balanced.

These are the other fonts they considered that you might want to install. As long as you have the above Microsoft fonts installed you should be fine though.

  1. Tenorite Tenorite Font Family : Download Free for Desktop & Webfont
    Bright, round, and friendly — almost “bubbly.” Great for screens and modern interfaces.
  2. Skeena Releases · microsoft/Skeena-Indigenous-Typeface · GitHub
    A humanist sans serif with gentle strokes, slightly warm and approachable.
  3. Grandview grandview font Full Family Free [Download Now]
    Industrial and strong, inspired by German road signs. Bold, clear, and direct.
  4. Seaford Seaford Font Family : Download Free for Desktop & Webfont
    Comfortable, slightly quirky shapes inspired by armchairs — designed to improve readability.

Google Fonts You Should Install

  1. Roboto (The default Google Sans)
    https://fonts.google.com/specimen/Roboto
  2. Open Sans (Widely used in business web docs)
    https://fonts.google.com/specimen/Open+Sans
  3. Lato (Common in startups/tech docs)
    https://fonts.google.com/specimen/Lato
  4. Noto Sans & Noto Serif
    https://fonts.google.com/noto
  5. Source Sans Pro
    https://fonts.google.com/specimen/Source+Sans+Pro
  6. Montserrat (Often used for Presentation slides/Headings) Google Fonts - Montserrat
  7. Garamond - Use for printed proposals or resumes to look sophisticated and high-end. https://fonts.google.com/specimen/EB+Garamond OR https://www.freefonts.io/download/garamond/
  8. Proxima Nova - The “Startup” font used by modern SaaS and D2C brands. https://freefonts.style/proxima-nova-font/
  9. Playfair Display - or Fashion and Luxury Beauty. https://fonts.google.com/specimen/Playfair+Display
  10. Futura - used heavily by sports brands and modern furniture companies https://freefonts.style/futura-font/
  11. Helvetica Used by high-end brands; crisp look for luxury or electronics product pages. Original name Neue Haas Grotesk Helvetica Font Free Download

Hey there, you might want to have a look at Templates — Qubes OS Documentation.
The /etc/skel folder of a TemplateVM is copied to /home in an AppVM during its creation. After, they are fully independent. Hence, if you create a new AppVM based on the said template, it will correctly inherit the fonts located in ~/.local/share/fonts.

However, if you want the fonts to be also available in all the AppVMs based on the template, you should install the fonts system-wide, by placing the files in /usr/share/fonts in the template. Thus, when you will spin up any AppVM based on this template, its root filesystem will contain the fonts :wink:

2 Likes

There is a “not” missing in your explanation :slight_smile: The /home folder of the template is not inherited.

3 Likes

Yes you’re right haha, I was meaning /etc/skel but I wrote too fast and didn’t think enough. I edited my post. Thanks!

2 Likes

Thanks ShousJedao-2 that was helpful. I used the move command “mv” to move the fonts folder to the usr/share/fonts and it works great. Now all my other AppVMs have the same fonts. For those who are not familiar with the move command this is what I did in the Terminal.

sudo mv /home/user/.local/share/fonts/ /usr/share/fonts

I used sudo because usr is root privileges. mv is the command to move. “/home/user/.local/share/fonts/” is the address of the folder I want to move. “/usr/share/fonts” is the destination folder. You always want to leave a space between the two folder addresses in the line.

Hope this helps everyone else who needs to set up they’re fonts for work.

2 Likes