Вопрос или проблема
Я пытаюсь установить графические приложения на WSL уже 2 месяца безуспешно, используя xLaunch, и пока не нашел работающего решения…
Вот что я получаю, когда пытаюсь запустить графическое приложение:
Сейчас я на 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
и выполните следующее:
- Убедитесь, что строка с DISPLAY правильно находит IP адрес вашего Windows:
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
Не обязательно использовать 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!