
Используя WSL Bash, я выполнил оба набора шагов изответ на этот вопрос(сработал только первый набор шагов), но я получаю странное поведение шрифта. Шрифт отображается в моих текстовых редакторах, но не отображается должным образом. Например, установленный мной шрифт был sans-serif, но отображался как serif. Кроме того, шрифт не отображается в настройках шрифтов.
Если я использую шрифт дляWSLTTY, я получаю следующее сообщение об ошибке:
Font installation corrupt, using system substitute:
UbuntuMono NF
Как правильно установить файлы из 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