Skip to Main Content
Home

Windows 10 Как включить поддержку звука в wsl2.


Pulseaudio изначально не поддерживается WSL2, и его сложно связать с динамиками Windows. Следовательно, когда вы открываете рабочий стол с графическим интерфейсом или приложения в X410, вы не услышите ничего, кроме основных системных сигналов. 

В этом руководстве рассмотрим способ, который отлично работает с последней версией Pulse на Windows 10. Мы надеемся, что Microsoft  все же добавит поддержку звука в будущую версию WSL.

Чтобы настроить PulseAudio 5.0 в Windows, сделайте следующее:

Шаг 1: Загрузите pulseaudio-5.0-rev18.zip

Шаг 2: Распакуйте его и скопируйте содержимое в папку pulse в «C:\pulse».

Шаг 3: Создайте в этой папке файл «config.pa» со следующим содержимым:

load-module module-native-protocol-tcp auth-anonymous=1

load-module module-esound-protocol-tcp auth-anonymous=1

load-module module-waveout sink_name=output source_name=input record=0

Загрузите pulseaudio-5.0 и Распакуйте его и скопируйте содержимое в папку pulse в «C:\pulse».

Обратите внимание, что из соображений безопасности и конфиденциальности Windows 10 (обновление за Май.), ограничивает доступ к устройствам записи звука. Вы, вероятно, можете как-то переопределить эту функцию, но поскольку мы только хотим слышать звук, просто отключаем запись на сервере PulseAudio, добавляя 'record = 0'.

Шаг 4: «Pulseaudio.exe» - это исполняемый файл для сервера PulseAudio (также называемый демоном), который нужен для наших приложений Linux.

Откройте PowerShell в папке «c:\pulse» и выполните команду:

.\pulseaudio.exe -F config.pa

При первом запуске pulseaudio.exe вы увидите всплывающее окно с предупреждением брандмауэра Windows, в котором вас спросят, хотите ли вы разрешить другим устройствам подключаться к серверу. Вам следует выбрать «Разрешить доступ». Если вы получаете сообщение о ошибке, сервер немедленно завершает работу. В этом случае перейдите к предыдущему шагу и убедитесь, что вы сделали все правильно.

«Pulseaudio.exe» - это исполняемый файл для сервера PulseAudio

Шаг 5: Запустите wsl2  и выполните:

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

Запустите wsl2  и выполните:  export PULSE_SERVER

Теперь проверьте звук в wsl2, и он заработает. На этом можно остановится (Вам придется повторить эти шаги перед каждым запуском WSL2, для воспроизведения звука).

Автоматизируем возможность воспроизводить звук из Linux на вашем ПК  Windows 10.

Если вы хотите чтобы настройки для работы звука выполнялись автоматически, а не запускать каждый раз PulseAudio в командной строке, нужно создать службу Windows. Я использую NSSM для запуска произвольных программ как служб.

Шаг 1: Загрузите последнюю версию NSSM.

Шаг 2: Распакуйте его и скопируйте «nssm.exe» из папки win32 в «c:\pulse».

Шаг 3: Выполните в командной строке или Power Shell:

c:\pulse\nssm.exe install PulseAudio

Шаг 4: Заполните следующие данные на вкладке «Application»:

  • Path: c:\pulse\pulseaudio.exe
  • Startup directory: c:\pulse
  • Arguments: -F c:\pulse\config.pa

Заполните следующие данные на вкладке Application:

Шаг 5: На вкладке «Details» введите:

  • Display name: PulseAudio
     

На вкладке «Details» введите:  Display name: PulseAudio

Шаг 6: Нажмите кнопку «Install service».

Шаг 7: Все, запустите только что установленную службу - либо с помощью управления службами, либо выполнив команду: 

net start PulseAudio

запустите только что установленную службу - либо с помощью управления службами,

 запустите только что установленную службу -  выполнив команду: 

Теперь у вас будет постоянная служба pulseaudio в Windows, которая практически не использует оперативную память.

Шаг 8: Добавьте в конец файла «.bashrc» вашего дистрибутива wsl2, чтобы всегда выводить звук.

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

Используйте команду: 

explorer.exe .

Это отлично работает.

Добавьте в конец файла «.bashrc» вашего дистрибутива wsl2, чтобы всегда выводить звук.

Кстати, данная конфигурация разрешает анонимные соединения, вы можете ограничить его IP-адресом wsl2, если хотите, но он регулярно меняется.

Какой способ используете вы, чтобы включить звук в WSL 2, поделитесь с нами в комментариях ниже.

Рекомендуем: