Разрешение экрана Win-Kex

Вопрос или проблема

Я начал использовать пакет Win-Kex для создания графического интерфейса для WSL2 Kali Linux. Все работает нормально, однако просмотрщик tigerVNC выглядит размытным и трудным для чтения.
введите описание изображения здесь
После расследования я выяснил, что это вызвано настройками масштабирования и компоновки Windows (которые установлены по умолчанию на 150%). Если я изменю это на 100%, Kali Linux выглядит нормально, но в таком случае иконки и текст Windows становятся слишком маленькими.
введите описание изображения здесь
Я знал, что раньше был трюк, который позволял изменять параметры высокого DPI для отдельных приложений (однако, так как исполняемый файл размещен в WSL, я не могу использовать эту настройку)

Есть идеи, как это исправить?

Спасибо, Джек

Я думаю, что нашел решение этой проблемы на Windows 11. Я установил масштабирование на 100%. Затем я изменил размер текста в Настройках > Специальные возможности > Размер текста.

К сожалению, изменение размера текста также влияет на внешние экраны с низким разрешением.

Также, по крайней мере, на моем ноутбуке с Windows 10, масштабирование текста выглядит очень некрасиво (портит оформление приложений) и применяется только к некоторым элементам текста, оставляя другие и также иконки слишком маленькими.

Поэтому я был очень недоволен этим решением и продолжил поиски:

Диспетчер задач Windows сообщает нам путь к исполняемому файлу нашего VNC-клиента:
“\wsl.localhost\kali-linux\usr\lib\win-kex\TigerVNC\win-kex-win-x64”

Копируя это на наш диск Windows (и добавляя расширение .exe), мы можем изменить настройки совместимости:
Проводник Windows -> контекстное меню файла -> Свойства
-> Вкладка: Совместимость -> Изменить параметры высокого DPI
-> Установите флажок: “Переопределить поведение масштабирования высокого DPI.”
-> Выберите из выпадающего списка: “Приложение”

Поиск имени бинарного файла в реестре Windows показывает, что это сделало:

Папка: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
Ключ: C:\path-to-copy\win-kex-win-x64.exe
Тип: REG_SZ
Значение: ~ HIGHDPIAWARE

Отключив автоматически запущенный VNC-клиент (F8 -> отключить)
и используя копию для подключения к kali_linux_ip:5901,
мы можем заставить X-сервер Kali использовать родное разрешение вашего экрана.

Открытые вопросы:

  • Можем ли мы как-то применить ту же настройку совместимости к оригинальному пути клиента?
    Изменение ключа реестра с “C:\path-to-copy\win-kex-win-x64.exe”
    на “\wsl.localhost\kali-linux\usr\lib\win-kex\TigerVNC\win-kex-win-x64” к сожалению, похоже, ничего не дает.
  • Как мы можем заставить kex запускать X-сервер с правильным родным разрешением?

Вы можете попробовать это решение, оно основано на ответе @xogoxec344 и вносит несколько изменений, мы можем найти и изменить исполняемую программу, отвечающую за запуск дистрибутива Kali WSL, и отрегулировать ее настройки DPI. Мне удалось решить эту проблему таким образом.

Согласно документации WSL, мы можем запустить дистрибутив Kali WSL в CMD / PowerShell хост-системы Windows, выполнив kali, что является сокращенной формой kali.exe в CMD / PowerShell. На самом деле, kali.exe соответствует исполняемому файлу, расположенному в одном из путей, входящих в переменную окружения системы Path.

Итак, вы можете попробовать эти шаги:

  1. найдите путь к kali.exe с помощью команды

    Get-Command -ShowCommandInfo kali
    
  2. откройте папку, содержащую kali.exe, с помощью Проводника Windows

  3. Щелкните правой кнопкой мыши на kali.exe и выберите Свойства в контекстном меню.

  4. Перейдите на вкладку Совместимость и нажмите Изменить параметры высокого DPI.

  5. В появившемся подокне выберите Использовать эту настройку для исправления проблем с масштабированием для этой программы вместо той, что в настройках

Вы также можете обратиться к моему посту https://pwnfan.github.io/en/post/Issues-Series-Blurry-Screen-in-Kali-When-Connecting-By-Win-KeX-In-WSL/ для получения подробностей.

Ответ или решение

Разрешение экрана Win-Kex: Решение проблемы с размытием и масштабированием

Использование пакета Win-Kex для создания графического интерфейса пользователя (GUI) на базе WSL2 с Kali Linux может столкнуться с проблемами при настройке разрешения экрана и масштабирования. Наиболее распространенной проблемой является размытость изображений и текста, особенно при использованной настройке масштабирования Windows по умолчанию в 150%. Данная статья предлагает эффективные способы решения этих вопросов.

Причины проблемы

Проблема размытости в TigerVNC-клиенте, встроенном в Win-Kex, возникает из-за того, что Windows применяет масштабирование к приложениям, которые не поддерживают High DPI. При настройке Windows на 150% масштабирования текст и изображения в Kali Linux становятся нечёткими и сложно читаемыми. Однако, с уменьшением масштабирования до 100% текст Windows становится слишком маленьким, что вызывает неудобства при использовании.

Решение проблемы с помощью настройки совместимости

Вы можете улучшить отображение, используя настройки совместимости приложения. Вот несколько шагов, которые помогут вам в этом:

  1. Копирование исполняемого файла VNC клиента:

    • Найдите путь к исполняемому файлу в Windows, как указано в диспетчере задач. Это будет что-то вроде \wsl.localhost\kali-linux\usr\lib\win-kex\TigerVNC\win-kex-win-x64.
    • Скопируйте этот файл в папку на своем Windows-диске и добавьте .exe в конец имени файла.
  2. Настройка совместимости:

    • Откройте Проводник Windows и найдите скопированный файл.
    • Щелкните правой кнопкой мыши по файлу и выберите "Свойства".
    • Перейдите на вкладку "Совместимость" и нажмите "Изменить параметры высокого DPI".
    • Установите флажок "Применить это исправление масштабирования для этой программы, а не для параметров в настройках".
    • В выпадающем меню выберите "Приложение" и нажмите "ОК".

Эти шаги позволят Kali’s X-серверу использовать родное разрешение вашего экрана при соединении с помощью нового исполняемого файла.

Решения для изменения разрешения X-сервера при запуске Win-Kex

Для того чтобы указать Win-Kex запускать X-сервер с корректным разрешением, вы можете попробовать один из следующих подходов:

  • Изменение настроек запуска через PowerShell:
    Запустите Kali WSL через PowerShell, используйте команду kali и измените использование разрешения, указав параметры для X-сервера.

  • Настройка скрипта запуска:
    Измените скрипт, запускающий Win-Kex, для передачи дополнительных параметров, отвечающих за разрешение и масштабирование.

Открытые вопросы

Несмотря на предложенные решения, у пользователей остаются важные вопросы:

  1. Применение настроек совместимости к оригинальному пути клиента:
    К сожалению, изменения в реестре, указывая на оригинальный путь, не всегда эффективны. Точно определить место, где система будет учитывать изменения, может быть сложно.

  2. Автоматизация и улучшение процесса:
    Разработка скриптов для автоматического исправления параметров разрешения при старте Kali WSL может улучшить удобство использования.

Заключение

Проблемы с разрешением экрана и масштабированием при использовании Win-Kex в WSL2 могут быть решены путем корректной настройки совместимости исполняемых файлов и создания инструментов для улучшения качества отображения. С помощью описанных методов вы сможете улучшить читабельность интерфейса Kali Linux, сохранив комфортные параметры работы на Windows.

Оцените материал
Добавить комментарий

Капча загружается...