如何为所有使用 WSL 的用户安装字体?

如何为所有使用 WSL 的用户安装字体?

使用 WSL Bash,我遵循了这个问题的答案(只有第一组步骤有效)但我遇到了字体的奇怪行为。字体确实出现在我的文本编辑器中,但无法正确呈现。例如,我安装的字体是无衬线字体,但会显示为衬线字体。此外,字体不会显示在字体设置中。

如果我使用字体西悉尼大学,我收到以下错误信息:

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

相关内容