4

Есть ли способ исправить размытые шрифты в приложениях с графическим интерфейсом Linux, когда они запускаются из WSL (Ubuntu 18.04) с использованием стандартного масштабирования Windows? Вещи, которые я пробовал до сих пор:
С Xming:

  1. Пробовал отключить масштабирование Windows и установить его со стороны linux с помощью GDK_DPI_SCALE=2.5 , проблема в том, что некоторые вещи, такие как значки контекстного меню, не воспроизводятся красиво и часто не масштабируются. Без GDK_DPI_SCALE=2.5 приложения в основном непригодны для использования, так как текст очень маленький.
  2. Попытка установить все шрифты из C:\Windows\Fonts в C:\Program Files\Xming\fonts\TTF и запустить mkfontscale , также не смогла заставить его работать таким образом.
  3. Пробовал с помощью VcXsrv, имеет ту же проблему.

Скриншоты

  • Clion:

Clion

  • Сравнение между emacs (WSL) и VS Code (Windows native)

Сравнение между emacs (WSL) и VS Code (Windows native)

Все ресурсы, которые я посмотрел до сих пор:

  1. Почему приложения WSL GUI отображаются с размытыми шрифтами в Xming?: Ответ здесь специально для Firefox и электронных приложений.
  2. Терминал Gnome-Terminal расплывчатый на Xming: нет ничего особенно полезного, кроме предложения отключить масштабирование и использовать что-то еще, кроме Xming.
  3. 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 ответ1

4

Отказ от ответственности: следующая процедура может отличаться в зависимости от реального оборудования в системе. Настройки могут измениться в вашей настройке.

Сначала включите параметры высокого разрешения для исполняемого файла X-сервера. Закройте любой работающий экземпляр этого X-сервера. Откройте папку, в которой вы установили X-сервер, например, VcxSrv, Xming, X410 и т.д. Здесь я выбираю D:\MyFolder и VcxSrv в качестве примера. Откройте эту папку, щелкните правой кнопкой мыши vcxsrv.exe для VcxSrv или Xming.exe для Xming. Выберите «Свойства»> вкладка «Совместимость»> «Изменить параметры высокого DPI»> «Включить переопределение масштабирования высокого DPI»> выберите «Приложение» (или «Улучшенная система»). Вот как выглядит скриншот после изменения настроек:

Enable_Dpi_Awareness_vcxsrv

Также выполните описанные выше шаги для файла 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 также помогает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .