Пока Microsoft только работает над добавлением поддержки звука в WSL2, энтузиасты уже предлагают начать использовать эту фишку, прибегнув к помощи бесплатного аудио-сервера для платформ POSIX — бесплатного приложения PulseAudio. Правда, поддержка WSL2 не реализована в PulseAudio в достаточной мере, но это легко подправить, добавив в папку с файлами аудио-сервера конфигурационный файл config.pa.
Сам модифицированный архив вы можете скачать по ссылке yadi.sk/d/rvfjEVGPA_PKDQ.
Распакуйте его в корень системного раздела, запустите от имени администратора консоль PowerShell, перейдите в расположение каталога PulseAudio.
И выполните команду .\pulseaudio.exe -F config.pa.
После нажатия Enter появится окошко брандмауэра, в котором вам нужно разрешить подключение к серверу. Не закрывайте окно консоли PowerShell. Если этап пройдет без ошибок, вызовите консоль WSL2 и выполните в ней такую команду:
export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}');
После этого в WSL2 должен появиться звук. Минусом этого решения является необходимость повторять описанную процедуру каждый раз при необходимости включить звук, но ее можно автоматизировать, добавив в Windows 10 отдельную службу, воспользовавшись NSSM — портативной утилитой, позволяющей запускать любые приложения в Виндовс как службы — демоны, если говорить языком Linux.
Для загрузки инструмент доступен с сайта разработчика nssm.cc/download.
Распаковав архив с утилитой, зайдите в папку win32 и скопируйте из нее файл nssm.exe в ваш каталог с файлами PulseAudio.
Чтобы установить службу, откройте PowerShell, перейдите в вашу папку PulseAudio и выполните следующую команду:
.\nssm.exe install PulseAudio
В открывшемся окошке инсталлятора сервиса на вкладке «Application» в поле «Path» задайте полный путь к исполняемому файлу PulseAudio, в поле «Startup directory» укажите расположение самой папки PulseAudio. Наконец, в поле «Arguments» укажите путь к конфигурационному файлу config.pa с ключом F.
Затем, переключившись на вкладку «Details», вставьте в поле «Display name» PulseAudio, после чего запустите установку сервиса нажатием кнопки «Install service».
Подтвердив установку в диалоговом окошке, вы увидите в консоли PowerShell сообщение «installed successfully!», то есть «Установка выполнена успешно». Теперь осталось только запустить службу через оснастку управления службами.
И последний шаг, который вам предстоит сделать, это открыть в Bash командой explorer.exe каталог вашего дистрибутива Linux, найти там файл .bashrc и добавить в его конец строчку — ту самую первую команду, начинающуюся с «export».
Если что-то не получилось, ничего страшного.
Реализация поддержки звука в WLS2 на подходе и, возможно, прибегать к подобным ухищрениям вам больше не понадобится.
Да, если нужно будет удалить добавленную службу, используйте команду .\nssm.exe remove PulseAudio.
Добавить комментарий