Как установить собственные шрифты, такие как xfonts, на WSL/WSLg для использования в графических приложениях?

Вопрос или проблема

Я пытаюсь использовать графические приложения на Windows 11 через WSL и WSLg. К сожалению, моему графическому приложению нужны нестандартные шрифты (в частности, xfonts-100dpi и xfonts-75dpi). Поскольку WSLg не включает эти шрифты, моё графическое приложение вылетает.

Как я могу установить эти шрифты и сделать их доступными для WSLg (сервера x11)?

Я установил их для самого WSL, но, похоже, они не совместимы с WSLg. Даже ручное копирование файлов шрифтов из /usr/share/fonts в /mnt/wslg/fonts не изменило ситуацию.

Похоже, вы используете более старую версию WSL, которая была включена в Windows 11 как функция Windows.

Поддержка использования шрифтов из вашей дистрибуции в WSLg была добавлена совсем недавно в версии WSL, которую теперь можно установить как пакет приложения из Microsoft Store. Это происходит путем монтирования вашей текущей дистрибуции внутрь системной дистрибуции WSLg и (предположительно, но я этого не проверял) создания символических ссылок или точек монтирования /usr/share/fonts в WSLg, чтобы указать на эквиваленты вашей дистрибуции.

Чтобы установить новую версию, выполните одно из следующих действий:

  • Убедитесь, что вы на Windows 11 22H2

  • Выйдите из WSL

  • Запустите обычную оболочку PowerShell (не администраторскую) и выполните:

    wsl --shutdown
    wsl --update
    wsl --version
    
  • Если это не сработает, или если вы на Windows 11 21H2, то просто вручную установите новое обновление со своей страницы Microsoft Store.

Примечание: пользователи Windows 10 теперь также могут обновиться до этой версии (и использовать WSLg). Смотрите этот вопрос для получения более подробной информации о необходимых условиях.

Ответ или решение

Установка пользовательских шрифтов в WSL/WSLg для GUI-приложений

Использование графических приложений в Windows 11 через WSL (Windows Subsystem for Linux) и WSLg (графическая подсистема для Linux) предоставляет множество удобств, но иногда возникает необходимость в установке пользовательских шрифтов, таких как xfonts-100dpi и xfonts-75dpi. Если ваш GUI-приложение требует эти шрифты, но они не доступны в WSLg, вы можете столкнуться с проблемами: приложение может просто не запускаться или аварийно завершать работу. В этой статье мы рассмотрим шаги по установке шрифтов и их интеграции в WSLg.

Шаг 1: Убедитесь, что у вас установлена последняя версия WSL

Начиная с обновления WSL, доступного в Microsoft Store, добавлена поддержка шрифтов вашей дистрибуции в WSLg. Чтобы установить актуальную версию WSL, следуйте следующему порядку действий:

  1. Убедитесь, что на вашем компьютере установлена Windows 11 версии 22H2.
  2. Закройте WSL. Это можно сделать простым закрытием терминала.
  3. Откройте обычный PowerShell (без прав администратора) и выполните следующие команды:
wsl --shutdown
wsl --update
wsl --version
  1. Если команды обновления не сработали, или вы находитесь на версии Windows 11 21H2, то загрузите новую версию WSL вручную с этой страницы Microsoft Store.

Шаг 2: Установка необходимых шрифтов

После обновления WSL необходимо установить нужные шрифты. В данном случае, речь идет о шрифтах xfonts-100dpi и xfonts-75dpi. Выполните следующие команды в терминале WSL:

sudo apt update
sudo apt install xfonts-100dpi xfonts-75dpi

После установки шрифтов подразумевается, что они будут автоматически доступны для использования в WSLg.

Шаг 3: Проверка доступности шрифтов

Чтобы удостовериться, что шрифты корректно установлены и интегрированы, вы можете выполнить команду:

fc-list | grep -E '100dpi|75dpi'

Если шрифты отображаются в списке, значит установка прошла успешно.

Шаг 4: Перезапустите WSLg

После завершения установки и проверки шрифтов рекомендуется перезапустить WSLg, чтобы изменения вступили в силу:

  1. В PowerShell выполните команду:
wsl --shutdown
  1. Запустите ваше GUI-приложение заново в WSL.

Заключение

Если все выполненные шаги выполнены корректно, ваше GUI-приложение должно теперь корректно отображаться с новыми шрифтами. Таким образом, установка пользовательских шрифтов в WSLg — это процесс, который, хотя и требует нескольких этапов, по сути не сложен. Убедитесь, что у вас установлена актуальная версия WSL, а необходимые шрифты корректно добавлены и доступны для использования.

Для дальнейших улучшений производительности и стабильности работы приложений в WSLg следите за обновлениями Windows и WSL, а также не забывайте проверять документацию на предмет изменения в структуре шрифтов и их поддержке.

Оцените материал
Добавить комментарий

Капча загружается...