WSL2/WSLg: PulseAudio: невозможно подключиться: соединение отклонено

У меня как-то сломался звук. Всякий раз, когда я пытаюсь воспроизвести какой-либо звук (например, с помощьюsox), Я получил:

      ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused

play FAIL sox: Sorry, there is no default audio device configured

Насколько я понимаю, WSLg должен поддерживать пересылку звука с использованием PulseAudio.

Примечание:

  • У меня Убунту 22.04.1.

  • Раньше это работало до перезагрузки (Windows), я не знаю, что изменилось.

  • Переадресация X11 работает нормально

  • pulseaudioвозвращает:

            W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
    E: [pulseaudio] core-util.c: XDG_RUNTIME_DIR (/mnt/wslg/runtime-dir) is not owned by us (uid 0), but by uid 1000! (This could e.g. happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
    

    В связи с тем, что я всегда root; поскольку это было стандартное поведение дистрибутива, который я использую, я предположил, что все в порядке.

  • alsa-reloadвозвращает

            Unloading ALSA sound driver modules: (none loaded).
    Loading ALSA sound driver modules: (none to reload).
    

    Не уверен, что это должно произойти.

2 ответа

Вот один из способов решенияConnection failure: Connection refusedпроблема:

  1. Добавьте ниже в~/.bashrc:
      export HOST_IP="$(ip route |awk '/^default/{print $3}')"
export PULSE_SERVER="tcp:$HOST_IP"
  1. Бегатьsource ~/.bashrc.
  2. Редактироватьetc/pulse/default.paиetc/pulse/daemon.confфайлы, как указано здесь .
  3. Из командной строки запуститеpulseaudio.exe.
  4. ОткрытьWindows Defender Firewallпанель управления.
  5. Идти кAdvanced settings.
  6. ВыбиратьInbound Rules.
  7. Дважды щелкните поpulseaudioприложение.
  8. Нажмите наAllow the connectionдействие.
  9. НажмитеOK.

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

В любом случае звук возвращается ко мне, когда я выхожу из WSL, выключите его с помощьюwsl --shutdownа затем запустите WSL заново.

Другие вопросы по тегам