Невозможно запустить ни один EXE-файл в консоли WSL

Невозможно запустить ни один EXE-файл в консоли WSL

Если я открываю консоль WSL (щелкнув значок приложения в меню «Пуск»), а затем запускаю любой exe-файл Windows, он зависает. Я вижу, что в списке процессов Linux появляется новый процесс, но не могу найти его в диспетчере задач Windows.

Однако если я запускаю WSL в любой другой консоли, включая PowerShell, CMD (вызвав wsl.exe bash -l any_windows_program.exe) или встроенный терминал в IDE, все работает нормально.

Почему?


Немного предыстории:

Я использую дистрибутив KALI из Microsoft Store. Он работал несколько дней назад, и я ничего не обновлял в последнее время.


Редактировать:

Я заметил, что мой проводник тоже не работает должным образом. Обычно, когда я создаю новый файл или папку, они должны появляться в проводнике немедленно. Но сегодня они не появлялись, пока я не нажал F5.

Я попробовал перезапустить проводник, он остановился, но не перезапустился, затем все окна процессов зависли (не реагировали на действия мыши/клавиатуры).

Перезагрузка решает все эти проблемы. Похоже на ошибку ядра или драйвера.

решение1

Просто мысль, что этомогбыть связано с сетевой проблемой, которая возникает в WSL, когда хост Windows находится в спящем режиме или отключается с помощью опции «Быстрый запуск» (что также является формой спящего режима).

Если это возможно, то есть две потенциальные рекомендации:

  • Отключите быстрый запуск Windows (в разделе Control Panel\Hardware and Sound\Power Options -> Choose what the power buttons do).
  • После перехода в спящий режим (если это необходимо) выйдите из Kali и выполните команду wsl --shutdownиз PowerShell, CMD или меню «Пуск» Windows.

Тем не менее, тот факт, что это происходит только при запуске через значок приложения, немного подозрительно. Это может указывать на что-то в вашем ~/.bashrc. Запуск wsl.exe bash -l any_windows_program.exeпропускает интерактивный запуск ( ~/.bashrc), но запускает , ~/.bash_profileпоскольку вы указали его как оболочку входа ( -l).

Если проблема возникнет снова, попробуйте использовать его wsl bash -li any_windows_program.exeвместо этого, чтобы проверить, не вызвана ли она интерактивным запуском.

Связанный контент