Linux Fonts and Themes - ryzendew/Linux-Tips-and-Tricks GitHub Wiki

Linux Fonts and Themes Guide

Complete beginner-friendly guide to installing and configuring fonts and themes on Linux, covering Arch Linux, CachyOS, and other distributions including system fonts, icon themes, and desktop customization.


Table of Contents

  1. Understanding Fonts and Themes
  2. Font Management
  3. Font Configuration
  4. Icon Themes
  5. GTK Themes
  6. Desktop Environment Customization
  7. Cursor Themes
  8. Troubleshooting

Understanding Fonts and Themes

What are Fonts and Themes?

Fonts control text appearance.

Themes control overall appearance (colors, window decorations, etc.).

Why customize:

  • Personalization: Make system your own
  • Aesthetics: Improve visual appearance
  • Readability: Better font readability
  • Comfort: Reduce eye strain

Font Management

Installing Fonts

System fonts directory:

/usr/share/fonts/

User fonts directory:

~/.local/share/fonts/

Install fonts:

# Create fonts directory
mkdir -p ~/.local/share/fonts

# Copy fonts
cp font-file.ttf ~/.local/share/fonts/

# Update font cache
fc-cache -fv

Font Packages

Install font packages:

# Arch/CachyOS
sudo pacman -S ttf-dejavu ttf-liberation noto-fonts ttf-roboto

# Microsoft fonts (AUR)
yay -S ttf-ms-fonts

# Google fonts
sudo pacman -S ttf-google-fonts-typewolf

Debian/Ubuntu:

sudo apt install fonts-dejavu fonts-liberation fonts-noto

Fedora:

sudo dnf install dejavu-fonts liberation-fonts google-noto-fonts

Font Configuration

Font Configuration

Configure fonts:

# Edit font config
vim ~/.config/fontconfig/fonts.conf

# Or system-wide
sudo vim /etc/fonts/local.conf

Example config:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Roboto</family>
    </prefer>
  </alias>
</fontconfig>

Font Rendering

Improve rendering:

# Install font rendering packages
sudo pacman -S freetype2 fontconfig

# Configure
vim ~/.config/fontconfig/fonts.conf

Icon Themes

Install Icon Themes

Popular icon themes:

# Arch/CachyOS
sudo pacman -S papirus-icon-theme arc-icon-theme

# Adwaita (GNOME default)
sudo pacman -S adwaita-icon-theme

# Breeze (KDE default)
sudo pacman -S breeze-icons

Apply Icon Theme

GNOME:

# Using gsettings
gsettings set org.gnome.desktop.interface icon-theme 'Papirus'

KDE:

  1. System Settings → Appearance → Icons
  2. Select theme

XFCE:

  1. Settings → Appearance → Icons
  2. Select theme

GTK Themes

Install GTK Themes

Popular themes:

# Arch/CachyOS
sudo pacman -S arc-gtk-theme materia-gtk-theme

# Adwaita (GNOME default)
sudo pacman -S gtk3

# Breeze (KDE default)
sudo pacman -S breeze-gtk

Apply GTK Theme

GNOME:

# Using gsettings
gsettings set org.gnome.desktop.interface gtk-theme 'Arc-Dark'

XFCE:

  1. Settings → Appearance → Style
  2. Select theme

Desktop Environment Customization

GNOME Customization

Install GNOME Tweaks:

# Arch/CachyOS
sudo pacman -S gnome-tweaks

# Launch
gnome-tweaks

Customize:

  • Fonts
  • Themes
  • Extensions
  • Window decorations

KDE Customization

System Settings:

  1. System Settings → Appearance
  2. Customize: Colors, Icons, Themes, etc.

XFCE Customization

Settings Manager:

  1. Settings → Appearance
  2. Customize: Style, Icons, Fonts, etc.

Cursor Themes

Install Cursor Themes

Popular cursor themes:

# Arch/CachyOS
sudo pacman -S breeze-cursor-theme

# Adwaita (GNOME default)
sudo pacman -S adwaita-icon-theme

Apply Cursor Theme

GNOME:

gsettings set org.gnome.desktop.interface cursor-theme 'Breeze'

KDE:

  1. System Settings → Cursors
  2. Select theme

Troubleshooting

Fonts Not Appearing

Update font cache:

# Update cache
fc-cache -fv

# Check fonts
fc-list | grep font-name

Theme Not Applying

Check theme location:

# GTK themes
ls ~/.themes/
ls /usr/share/themes/

# Icon themes
ls ~/.local/share/icons/
ls /usr/share/icons/

Summary

This guide covered fonts and themes for Arch Linux, CachyOS, and other distributions, including installation, configuration, and desktop environment customization.


Next Steps


This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.

⚠️ **GitHub.com Fallback** ⚠️