Размытые шрифты при использовании масштабирования по умолчанию в Windows с приложениями WSL GUI (HiDPI)
Есть ли способ исправить размытые шрифты в приложениях с графическим интерфейсом Linux, когда они запускаются из WSL (Ubuntu 18.04) с использованием стандартного масштабирования Windows? Вещи, которые я пробовал до сих пор:
С Xming:
- Попытался отключить масштабирование Windows и установить его со стороны Linux с помощью
GDK_DPI_SCALE=2.5
Проблема заключается в том, что значки контекстного меню не воспроизводятся и часто не масштабируются. БезGDK_DPI_SCALE=2.5
, приложения в основном непригодны, так как текст очень маленький. - Попробовал установить все шрифты из C:\Windows\Fonts в
C:\Program Files\Xming\fonts\TTF
и работаетmkfontscale
, не мог заставить это работать так же. - Пробовал с помощью VcXsrv, имеет ту же проблему.
Скриншоты
- Clion:
- Сравнение между emacs (WSL) и VS Code (Windows native)
Все ресурсы, которые я посмотрел до сих пор:
- Почему приложения WSL GUI отображаются с размытыми шрифтами в Xming?: Ответ здесь специально для Firefox и электронных приложений.
- Терминал Gnome-Terminal расплывчат на Xming: нет ничего особенно полезного, кроме предложения отключить масштабирование и использовать что-то еще, кроме Xming.
- DPI вызывает проблемы с запуском программ с графическим интерфейсом на экране 4K: предлагает использовать VcXsrv.
Основная цель всего этого - уметь запускать текстовые редакторы (emacs)/IDE(Clion) из WSL. И причина, по которой я не могу установить их эквивалент для Windows, заключается в том, что мы разрабатываем только для Linux.
Немного системных деталей:
экран
4K (3840x2160) - 15,6"
Операционные системы
Windows: Windows 10 Home v1803 Сборка: 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
)
1 ответ
Отказ от ответственности: следующая процедура может отличаться в зависимости от реального оборудования в системе. Настройки могут измениться в вашей настройке.
Сначала включите параметры высокого разрешения для исполняемого файла X-сервера. Закройте любой работающий экземпляр этого X-сервера. Откройте папку, в которой вы установили X-сервер, например, VcxSrv, Xming, X410 и т. Д. Здесь я выбираю D:\MyFolder
и VcxSrv в качестве примера. Откройте эту папку, щелкните правой кнопкой мыши на vcxsrv.exe
для VcxSrv или Xming.exe
для Синмин. Выберите "Свойства"> вкладка "Совместимость"> "Изменить параметры высокого DPI"> "Включить переопределение масштабирования высокого DPI"> выберите "Приложение" (или "Улучшенная система"). Вот как выглядит скриншот после изменения настроек:
Также сделайте вышеуказанные шаги для xlaunch.exe
файл. Это изменение добавит следующие значения реестра:
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"D:\\MyFolder\\xlaunch.exe"="~ HIGHDPIAWARE"
"D:\\MyFolder\\vcxsrv.exe"="~ HIGHDPIAWARE"
Затем переопределите настройки GTK+ для среды X11. В этой статье о гномах подробно рассматриваются переменные среды. GDK_SCALE
будет масштабировать окна по конкретному коэффициенту. GDK_DPI_SCALE
будет масштабировать DPI для масштабируемых приложений. Включите настройки с помощью следующих команд в bash (или другой оболочке).
export GDK_SCALE=0.5
export GDK_DPI_SCALE=2
Измените эти значения в соответствии с вашей системой. Теперь запустите X-сервер и программы X11. Эта тема Reddit также помогает.
Выберите "Свойства"> вкладка "Совместимость"> "Изменить настройки высокого разрешения"> "Включить переопределение масштабирования высокого разрешения"> измените значение на "Приложение" (или "Улучшенная система").
используйте приложение ,, а не "улучшенная система"