41 votes

Polices floues lors de l'utilisation de l'échelle par défaut de Windows avec les applications GUI WSL (HiDPI)

Y a-t-il un moyen de corriger les polices floues dans les applications GUI Linux lorsqu'elles sont exécutées à partir de WSL (Ubuntu 18.04) en utilisant l'échelle Windows par défaut ? Voici ce que j'ai essayé jusqu'à présent :
Avec Xming :

  1. J'ai essayé de désactiver l'échelle Windows et de la définir du côté Linux en utilisant GDK_DPI_SCALE=2.5, le problème avec cela est que plusieurs éléments comme les icônes du menu contextuel ne s'affichent pas correctement et ne sont souvent pas mis à l'échelle. Sans GDK_DPI_SCALE=2.5, les applications sont pratiquement inutilisables car le texte est extrêmement petit.
  2. J'ai essayé d'installer toutes les polices de caractères de C:\Windows\Fonts dans C:\Program Files\Xming\fonts\TTF et d'exécuter mkfontscale, mais je n'ai pas réussi à le faire fonctionner de cette façon non plus.
  3. J'ai essayé d'utiliser VcXsrv, mais j'ai le même problème.

Captures d'écran

  • Clion :

Clion

  • Comparaison entre emacs (WSL) et VS Code (Windows natif)

Comparaison entre emacs (WSL) et VS Code (Windows natif)

Tous les ressources que j'ai consultées jusqu'à présent :

  1. Why are WSL GUI apps rendered with blurry fonts with Xming? : La réponse ici concerne spécifiquement Firefox et les applications basées sur Electron.
  2. Gnome-Terminal blurry on Xming : Ne contient rien de particulièrement utile, hormis une suggestion de désactiver l'échelle et d'utiliser autre chose que Xming.
  3. DPI issues running GUI programs on a 4K screen : Suggère d'utiliser VcXsrv.

Le but principal de tout cela est de pouvoir exécuter des éditeurs de texte (emacs)/IDE (Clion) à partir de WSL. Et la raison pour laquelle je ne peux pas installer leur équivalent Windows est que nous ne développons que pour Linux.

Quelques détails du système :

Écran

4K (3840x2160) - 15.6"

Système d'exploitation

  • Windows : Windows 10 Home v1803 Build : 17134.345

  • WSL : Ubuntu 18.04 (Linux username 4.4.0-17134-Microsoft #345-Microsoft Wed Sep 19 17:47:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux)

58voto

Biswapriyo Points 9951

Avertissement : La procédure suivante peut varier en fonction du matériel réel dans le système. Les paramètres peuvent changer dans votre configuration.

Tout d'abord, activez les paramètres haute DPI pour l'exécutable du serveur X. Fermez toute instance en cours de ce serveur X. Ouvrez le dossier où vous avez installé le serveur X, par exemple VcxSrv, Xming, X410, etc. Ici, je choisis D:\MyFolder et VcxSrv à titre d'exemple. Ouvrez ce dossier, faites un clic droit sur vcxsrv.exe pour VcxSrv ou Xming.exe pour Xming. Choisissez Propriétés > Onglet Compatibilité > Modifier les paramètres haute DPI > Activer l'ajustement haute résolution DPI > changer en 'Application' (ou l'option 'System Enhanced'). Voici à quoi ressemble la capture d'écran après avoir modifié les paramètres :

Enable_Dpi_Awareness_vcxsrv

Faites également les étapes ci-dessus pour le fichier xlaunch.exe. Ce changement ajoutera les valeurs de registre suivantes :

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"D:\\MyFolder\\xlaunch.exe"="~ HIGHDPIAWARE"
"D:\\MyFolder\\vcxsrv.exe"="~ HIGHDPIAWARE"

Ensuite, remplacez les paramètres GTK+ pour l'environnement X11. Cet article de Gnome donne une vue approfondie des variables d'environnement. GDK_SCALE va mettre à l'échelle les fenêtres par un facteur spécifique. GDK_DPI_SCALE va mettre à l'échelle les DPI pour des applications sensibles à l'échelle. Activez les paramètres avec les commandes suivantes dans bash (ou un autre shell).

export GDK_SCALE=0.5
export GDK_DPI_SCALE=2

Modifiez ces valeurs selon votre système. Maintenant, exécutez le serveur X et les programmes X11. Ce fil Reddit peut également aider.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X