
Если я открываю консоль 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
вместо этого, чтобы проверить, не вызвана ли она интерактивным запуском.