¿Cómo instalar fuentes para todos los usuarios que usan WSL?

¿Cómo instalar fuentes para todos los usuarios que usan WSL?

Usando WSL Bash, seguí ambos conjuntos de pasos desdela respuesta a esta pregunta(solo funcionó el primer conjunto de pasos) pero obtengo un comportamiento extraño para la fuente. La fuente aparece en mis editores de texto pero no se representa correctamente. Por ejemplo, la fuente que instalé era sans-serif pero aparecía como serif. Además, la fuente no aparece en la configuración de Fuentes.

Si uso la fuente paraWSLTTY, aparece el siguiente mensaje de error:

Font installation corrupt, using system substitute:
UbuntuMono NF

Mensaje de error de inicio de WSLTTY

¿Cómo puedo instalar correctamente los archivos de WSL Bash?

Respuesta1

El problema se debía a cómo se aplicaban los permisos de archivos al utilizar WSL Bash.

Al archivo de fuente al que se movió /mnt/c/Windows/Fontsle faltaban los usuarios con Read & executepermisos:

  • ALL APPLICATION PACKAGES
  • ALL RESTRICTED APP PACKAGES
  • Users

Estos son los pasos completos de instalación de WSL Bash que deben ejecutarse en una terminal elevada(haga clic derecho y ejecute como administrador):

# 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

información relacionada