Подробный гайд по смене шрифтов в терминале Alacritty и Oxwm - Часть 1
Замена шрифтов в Alacritty
1. Проверьте версию Alacritty
Откройте терминал и выполните:
alacritty --version
Это важно, потому что формат конфига отличается:
- Alacritty 0.13 и новее — основной формат конфига TOML:
~/.config/alacritty/alacritty.toml
- Alacritty 0.12 и старше — обычно используется YAML:
~/.config/alacritty/alacritty.yml
Если у вас современный Alacritty, лучше использовать именно alacritty.toml.
2. Установите нужный шрифт
Alacritty использует установленные в системе шрифты через fontconfig. Например, поставим популярный моноширинный шрифт JetBrains Mono.
Arch Linux / Manjaro / EndeavourOS
Обычный JetBrains Mono:
sudo pacman -S ttf-jetbrains-mono
Nerd-версия с иконками обычно ставится из AUR.
Имя пакета может отличаться в зависимости от вашего AUR-хелпера:
yay -S nerd-fonts-jetbrains-mono
или:
paru -S nerd-fonts-jetbrains-mono
Поиск пакетов:
yay -Ss nerd-fonts-jetbrains
или:
paru -Ss nerd-fonts-jetbrains
Debian / Ubuntu / Linux Mint
Обычный шрифт:
sudo apt update
sudo apt install fonts-jetbrains-mono
Nerd Font чаще всего удобнее поставить вручную, см. ниже.
Fedora
sudo dnf install jetbrains-mono-fonts
Nerd Font также можно поставить вручную.
Ручная установка Nerd Font для пользователя
Это универсальный способ для большинства Linux-систем.
mkdir -p ~/.local/share/fonts/JetBrainsMono
cd ~/.local/share/fonts/JetBrainsMono
Скачайте архив с JetBrains Mono Nerd Font с официального репозитория:
curl -LO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz
Распакуйте:
tar -xf JetBrainsMono.tar.xz
Удалите архив, если он больше не нужен:
rm JetBrainsMono.tar.xz
Обновите кэш шрифтов:
fc-cache -fv ~/.local/share/fonts
Проверка:
fc-list | grep -i jetbrains
Системная установка шрифта для всех пользователей
Например:
sudo mkdir -p /usr/local/share/fonts/JetBrainsMono
sudo cp ~/.local/share/fonts/JetBrainsMono/*.ttf /usr/local/share/fonts/JetBrainsMono/
sudo fc-cache -fv
3. Узнайте точное имя шрифта в системе
Это очень важный шаг. В конфиге Alacritty нужно указывать не название файла, а имя семейства шрифта, как его видит fontconfig.
Выполните:
fc-list | grep -i jetbrains
Или более удобно:
fc-list : family | sort -u | grep -i jetbrains
Пример возможного вывода:
JetBrains Mono
JetBrains Mono ExtraBold
JetBrainsMono Nerd Font
JetBrainsMono Nerd Font Mono
JetBrainsMono NL Nerd Font
Для терминала лучше использовать вариант с Mono, например:
JetBrainsMono Nerd Font Mono
Он лучше подходит для иконок и символов в терминале.
Также можно проверить, какой шрифт система подберёт по имени:
fc-match "JetBrainsMono Nerd Font Mono"
Если команда выводит что-то вроде:
JetBrainsMonoNerdFontMono-Regular.ttf: "JetBrainsMono Nerd Font Mono" "Regular"
значит шрифт установлен и имя указано верно.
4. Быстрая проверка шрифта без изменения конфига
Перед тем как править конфиг, можно временно запустить Alacritty с другим шрифтом.
Для современных версий Alacritty:
alacritty -o 'font.normal.family=JetBrainsMono Nerd Font Mono' -o font.size=13
Если открылось окно с нужным шрифтом, значит имя шрифта указано правильно.
Если Alacritty пишет ошибку или шрифт не меняется, значит:
- шрифт не установлен;
- указано неправильное имя;
- нужно обновить кэш шрифтов;
- используется старый формат конфига.
5. Создайте или откройте конфиг Alacritty
Для современных версий:
mkdir -p ~/.config/alacritty
$EDITOR ~/.config/alacritty/alacritty.toml
Например, если используете nano:
nano ~/.config/alacritty/alacritty.toml
Или vim:
vim ~/.config/alacritty/alacritty.toml
Или nvim:
nvim ~/.config/alacritty/alacritty.toml
6. Современный конфиг: alacritty.toml
Пример полноценного конфига:
[font]
size = 12.5
builtin_box_drawing = true
[font.normal]
family = "JetBrainsMono Nerd Font Mono"
style = "Regular"
[font.bold]
family = "JetBrainsMono Nerd Font Mono"
style = "Bold"
[font.italic]
family = "JetBrainsMono Nerd Font Mono"
style = "Italic"
[font.bold_italic]
family = "JetBrainsMono Nerd Font Mono"
style = "Bold Italic"
[font.offset]
x = 0
y = 0
[font.glyph_offset]
x = 0
y = 0
Минимальный рабочий вариант:
[font]
size = 13.0
[font.normal]
family = "JetBrainsMono Nerd Font Mono"
Этого обычно достаточно. Если секции bold, italic, bold_italic не указаны, Alacritty будет использовать обычный шрифт как основу и подбирать варианты автоматически.
7. Старый конфиг: alacritty.yml
Если у вас старый Alacritty, файл может быть таким:
~/.config/alacritty/alacritty.yml
Пример:
font:
normal:
family: JetBrainsMono Nerd Font Mono
style: Regular
bold:
family: JetBrainsMono Nerd Font Mono
style: Bold
italic:
family: JetBrainsMono Nerd Font Mono
style: Italic
bold_italic:
family: JetBrainsMono Nerd Font Mono
style: Bold Italic
size: 12.5
offset:
x: 0
y: 0
glyph_offset:
x: 0
y: 0
Если у вас одновременно лежат:
~/.config/alacritty/alacritty.toml
~/.config/alacritty/alacritty.yml
лучше оставить один актуальный конфиг, чтобы избежать путаницы.
8. Как применить изменения
Обычно Alacritty подхватывает изменения конфига автоматически после сохранения файла.
То есть:
- Открыли терминал.
- Отредактировали конфиг.
- Сохранили.
- В уже открытом окне Alacritty шрифт может измениться сразу.
Если этого не произошло:
- закройте окно Alacritty и откройте заново;
- перезапустите сессию пользователя;
- убедитесь, что редактируете именно тот конфиг, который используется.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.