Архив рубрики: Software

Linux: Не работает звук в WSL Kali

При запуске графического режима WSL (рабочего стола Kali Linux), значок динамика перечёркнут. Если к нему подвести курсор мыши, появится всплывающее сообщение:

Not connected to the PulseAudio server

 

Для простоты запуска рабочего стола я создал alias:

alias desktop='kex --win -s'

Но по какой-то причине он не срабатывал, и я попробовал использовать полную запись:

kex --win --sound

Но и это не сработало.

Для работы звука, необходимо, чтобы было разрешение в файрволе:

When starting Win-KeX with sounds support for the first time, ensure to select Public networks when asked for authorisation to allow traffic through the Windows Defender firewall

 

Оказывается, дело не в параметре, а нужно отдельно ставить на Windows службу PulseAudio.

Сам пока не проверял, просто сохраню инструкцию отсюда.

 

1. Распаковать архив на диск C: в папку C:\pulse\:
2. В этой папке создать файл конфигурации config.pa:

C:\pulse\config.pa
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12
load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12
load-module module-waveout sink_name=output source_name=input record=0

3. В терминале Линукс выполняем:

sudo apt install libpulse0

4. Правим файл .bashrc:

~/.bashrc
export HOST_IP="$(ip route |awk '/^default/{print $3}')"
export PULSE_SERVER="tcp:$HOST_IP"
#export DISPLAY="$HOST_IP:0.0"
Строчка с комментарием на случай, если вам потребуется звук в приложениях, которые вы вызываете без рабочего стола, напрямую из ярлыка в Пуске.

 

5. Применяем переменные окружения:

source ~/.bashrc

6. Скачиваем NSSM
7. Распаковываем запускной файл x64 в папку C:\pulse\
8. Запускаем из консоли под Админом:

Administrator: Windows PowerShell
C:\pulse\nssm.exe install PulseAudio

9. Указываем параметры настроек на вкладке Application:

  • Application path:
    C:\pulse\pulseaudio.exe
  • Startup directory:
    C:\pulse
  • Arguments:
    -F C:\pulse\config.pa --exit-idle-time=-1
  • Service name:
    PulseAudio

10. Указываем параметры настроек на вкладке Details поле Display name:

PulseAudio

11. Нажимаем кнопку Install service.

Удалить службу, если потребуется, можно так:

Administrator: Windows PowerShell
C:\pulse\nssm.exe remove PulseAudio

 

12. Запускаем службу:

Administrator: Windows PowerShell
Start-Service -Name PulseAudio