Как в WSL2 Windows 10 включить поддержку звука с помощью PulseAudio

Wsl2sound

Пока Microsoft только работает над добавлением поддержки звука в WSL2, энтузиасты уже предлагают начать использовать эту фишку, прибегнув к помощи бесплатного аудио-сервера для платформ POSIX — бесплатного приложения PulseAudio. Правда, поддержка WSL2 не реализована в PulseAudio в достаточной мере, но это легко подправить, добавив в папку с файлами аудио-сервера конфигурационный файл config.pa.

Сам модифицированный архив вы можете скачать по ссылке yadi.sk/d/rvfjEVGPA_PKDQ.

Распакуйте его в корень системного раздела, запустите от имени администратора консоль PowerShell, перейдите в расположение каталога PulseAudio.

Каталог PulseAudio

И выполните команду .\pulseaudio.exe -F config.pa.

Pulseaudio.exe

После нажатия Enter появится окошко брандмауэра, в котором вам нужно разрешить подключение к серверу. Не закрывайте окно консоли PowerShell. Если этап пройдет без ошибок, вызовите консоль WSL2 и выполните в ней такую команду:

export PULSE_SERVER=tcp:$(grep nameserver /etc/resolv.conf | awk '{print $2}');

Export PULSE_SERVER

После этого в WSL2 должен появиться звук. Минусом этого решения является необходимость повторять описанную процедуру каждый раз при необходимости включить звук, но ее можно автоматизировать, добавив в Windows 10 отдельную службу, воспользовавшись NSSM — портативной утилитой, позволяющей запускать любые приложения в Виндовс как службы — демоны, если говорить языком Linux.

Для загрузки инструмент доступен с сайта разработчика nssm.cc/download.

Распаковав архив с утилитой, зайдите в папку win32 и скопируйте из нее файл nssm.exe в ваш каталог с файлами PulseAudio.

Каталог с файлами PulseAudio

Чтобы установить службу, откройте PowerShell, перейдите в вашу папку PulseAudio и выполните следующую команду:

.\nssm.exe install PulseAudio

В открывшемся окошке инсталлятора сервиса на вкладке «Application» в поле «Path» задайте полный путь к исполняемому файлу PulseAudio, в поле «Startup directory» укажите расположение самой папки PulseAudio. Наконец, в поле «Arguments» укажите путь к конфигурационному файлу config.pa с ключом F.

NSSM

Затем, переключившись на вкладку «Details», вставьте в поле «Display name» PulseAudio, после чего запустите установку сервиса нажатием кнопки «Install service».

Install service

Подтвердив установку в диалоговом окошке, вы увидите в консоли PowerShell сообщение «installed successfully!», то есть «Установка выполнена успешно». Теперь осталось только запустить службу через оснастку управления службами.

PowerShell

И последний шаг, который вам предстоит сделать, это открыть в Bash командой explorer.exe каталог вашего дистрибутива Linux, найти там файл .bashrc и добавить в его конец строчку — ту самую первую команду, начинающуюся с «export».

Службы

.bashrc

Если что-то не получилось, ничего страшного.

Реализация поддержки звука в WLS2 на подходе и, возможно, прибегать к подобным ухищрениям вам больше не понадобится.

Да, если нужно будет удалить добавленную службу, используйте команду .\nssm.exe remove PulseAudio.

Оцените Статью:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *