Как исправить проблему с открытием графических приложений в wsl2?

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

Я пытаюсь установить графические приложения на WSL уже 2 месяца безуспешно, используя xLaunch, и пока не нашел работающего решения…

Вот что я получаю, когда пытаюсь запустить графическое приложение:

WSL пытается открыть xeyes

Сейчас я на Windows 10 21H1.

Для пресета xLauncher я использую:

- несколько окон
- Запуск без клиента
- Буфер обмена / Первичная выборка / Нативный openGL / Отключить контроль доступа

А для моего ~/.bashrc у меня есть:

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1
export XDG_RUNTIME_DIR=/tmp/xdg
export RUNLEVEL=3

Любая помощь будет приветствоваться, и я всегда могу добавить любую другую информацию, которая может помочь

Из
Запуск графических приложений Linux на подсистеме Windows для Linux:

Предварительные требования

Вам потребуется Windows 11 Build 22000 или выше, чтобы получить доступ к этой функции.

Вам нужно перейти на Windows 11 для этой функции в WSL2.

Вы также можете попробовать вернуться к WSL1.

В то время, когда я написал
мой ответ
(который вы могли использовать здесь), я нашел метод в статье об Ubuntu, которая, возможно, не различала между двумя версиями WSL.
Возможно, что он работает только в WSL1.

ДОПОЛНЕНИЕ: Графические приложения теперь также были портированы и в WSL2 в
Windows 10. Обновление до Windows 11 больше не требуется.

Смотрите
Запуск графических приложений Linux на подсистеме Windows для Linux.

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

Чтобы исправить проблему с открытием графических приложений в WSL2, выполните следующие шаги. Прежде всего, убедитесь, что вы следуете всем необходимым требованиям и находитесь в актуальной среде для работы с графическим интерфейсом.

1. Проверка версии Windows и WSL

Убедитесь, что у вас установлена последняя версия Windows 10. Ваша версия 21H1 требует проверки, так как некоторые функции могут быть недоступны:

  • Откройте "Параметры" → "Обновление и безопасность" → "Проверка обновлений". Убедитесь, что у вас установлены все последние обновления.
  • Для проверки версии WSL выполните команду в PowerShell:
wsl --list --verbose

Убедитесь, что ваша дистрибуция работает на WSL2. При необходимости, вы можете установить WSL2 с помощью следующей команды:

wsl --set-version <дистрибуция> 2

2. Правильная настройка графического окружения

Вы используете XLaunch для запуска графических приложений. Убедитесь, что настройки XLaunch соответствуют следующим параметрам:

  • Multiple Windows
  • Start with no client
  • Clipboard
  • Primary Selection
  • Native OpenGL
  • Disable access control

3. Конфигурация переменных окружения

Проверьте ваш файл ~/.bashrc и выполните следующее:

  1. Убедитесь, что строка с DISPLAY правильно находит IP адрес вашего Windows:
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
  1. Убедитесь, что другие переменные установлены:
export LIBGL_ALWAYS_INDIRECT=1
export XDG_RUNTIME_DIR=/tmp/xdg

Не обязательно использовать RUNLEVEL=3, это значение может быть опциональным.

4. Установка и настройка графических приложений

Если вы уже настроили XLaunch и переменные окружения и всё ещё получаете ошибки при запуске графических приложений (например, xeyes), попробуйте следующее:

  • Убедитесь, что корректно установлен X-сервер. Попробуйте открыть командную строку и выполнить:
xeyes
  • Если XLaunch не активирован или работает с ошибками, возможно, стоит временно попробовать другой X-сервер, например, VcXsrv или Cygwin/X.

5. Используйте Chromium на WSL2

WSL2 теперь поддерживает запуск графических приложений без необходимости использования X-серверов. Чтобы запустить, следуйте этим шагам:

  • Обновите дистрибуцию Ubuntu в WSL до последней версии:
sudo apt update && sudo apt upgrade
  • Установите графические библиотеки, если ещё не установлены:
sudo apt install ubuntu-desktop

Заключение

Если после выполнения всех вышеперечисленных шагов проблема не решена, возможно, вам стоит рассмотреть возможность обновления до Windows 11, где интеграция WSL с графическими приложениями более продвинута. Также стоит проверить наличие специфических логов ошибок во время запуска приложений для дальнейшей диагностики.

Обязательно проконсультируйтесь с документацией Microsoft по WSL, чтобы убедиться, что ваши изменения находятся в соответствии с последними обновлениями и лучшими практиками. Если есть дополнительные вопросы или необходима дальнейшая помощь, не стесняйтесь задать их – всегда рад помочь вам справиться с проблемами в WSL!

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

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