Как установить шрифты для всех пользователей, использующих WSL?

Как установить шрифты для всех пользователей, использующих WSL?

Используя WSL Bash, я выполнил оба набора шагов изответ на этот вопрос(сработал только первый набор шагов), но я получаю странное поведение шрифта. Шрифт отображается в моих текстовых редакторах, но не отображается должным образом. Например, установленный мной шрифт был sans-serif, но отображался как serif. Кроме того, шрифт не отображается в настройках шрифтов.

Если я использую шрифт дляWSLTTY, я получаю следующее сообщение об ошибке:

Font installation corrupt, using system substitute:
UbuntuMono NF

Сообщение об ошибке запуска WSLTTY

Как правильно установить файлы из WSL Bash?

решение1

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

В файле шрифта, который был перемещен, /mnt/c/Windows/Fontsотсутствовали пользователи с Read & executeразрешениями:

  • ALL APPLICATION PACKAGES
  • ALL RESTRICTED APP PACKAGES
  • Users

Ниже приведены полные шаги по установке WSL Bash, которые необходимо выполнить в терминале с повышенными правами.(щелкните правой кнопкой мыши и запустите от имени администратора):

# Let 'my font.ttf' be your font in the current working directory.

icacls.exe 'my font.ttf' /grant 'ALL APPLICATION PACKAGES':RX
icacls.exe 'my font.ttf' /grant 'ALL RESTRICTED APP PACKAGES':RX
icacls.exe 'my font.ttf' /grant Users:RX

mv 'my font.ttf' /mnt/c/Windows/Fonts/

reg.exe add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" \
    /v "my font (TrueType)" \
    /t REG_SZ \
    /d "my font.ttf" \
    /f

Связанный контент