Wie installiere ich Schriftarten für alle Benutzer, die WSL verwenden?

Wie installiere ich Schriftarten für alle Benutzer, die WSL verwenden?

Mit WSL Bash habe ich beide Schritte ausgeführt vonAntwort auf diese Frage(nur die ersten Schritte haben funktioniert), aber die Schriftart verhält sich seltsam. Die Schriftart wird in meinen Texteditoren angezeigt, wird aber nicht richtig dargestellt. Beispielsweise war die von mir installierte Schriftart serifenlos, wurde aber als Serifenschrift angezeigt. Außerdem wird die Schriftart nicht in den Schriftarteinstellungen angezeigt.

Wenn ich die Schriftart verwende fürWSLTTY, erhalte ich die folgende Fehlermeldung:

Font installation corrupt, using system substitute:
UbuntuMono NF

WSLTTY-Startfehlermeldung

Wie kann ich die Dateien von WSL Bash ordnungsgemäß installieren?

Antwort1

Das Problem lag an der Art und Weise, wie die Dateiberechtigungen bei der Verwendung von WSL Bash angewendet wurden.

In der verschobenen Schriftartdatei /mnt/c/Windows/Fontsfehlten die Benutzer mit Read & executeden Berechtigungen:

  • ALL APPLICATION PACKAGES
  • ALL RESTRICTED APP PACKAGES
  • Users

Hier sind die vollständigen WSL Bash-Installationsschritte, die in einem Terminal mit erhöhten Rechten ausgeführt werden müssen(Rechtsklick und als Administrator ausführen):

# 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

verwandte Informationen