Este artículo describe cómo obtener el sonido (PulseAudio) para procesarlo.WSL2Bajo Microsoft Windows.
Siga estas instrucciones y podrá utilizarAudio de pulsoSe utiliza tanto para aplicaciones de consola como de GUI en Windows/WSL2 (aunque este artículo no implica la ejecución de aplicaciones gráficas en WSL2). Con esta característica el micrófono no funcionará, o al menos a mí no me funcionará (y yo, uno de ellos, no lo necesito).
microsoftplanAgregue soporte integrado para ejecutar aplicaciones de gráficos y sonidos a WSL2. Pero hasta entonces, puedes utilizar estas instrucciones para que el sonido funcione en WSL2.
Si todavía usa WSL1, consulte cómo actualizar a WSL2Aquí. Puede comprobar si ya está utilizando WSL2 ejecutando el siguiente comandowsl -l -v
En Windows PowerShell. Todas las máquinas que usan WSL2 deben aparecer aquí, 2 de las cuales son suyas.VERSION
; Si no ve el número de versión o si ve un mensaje de error, tiene WSL1.
La siguiente es una captura de pantalla que muestra que estoy usando la Terminal de Windows de Ubuntu/WSL2.PeinesEl reproductor de música de la consola reproduce música. No puedes escuchar la música para comprobar si realmente funciona, por lo que esta captura de pantalla es casi inútil, pero necesito usarla como miniatura de un artículo.
Como nota completamente irrelevante, si desea utilizar cmus en WSL2, edítelo~/.config/cmus/rc
Archivo (crear si no existe) y agregarset output_plugin=pulse
Haga que su salida de sonido funcione normalmente en el escritorio de Windows.
Cómo hacer que el sonido funcione en WSL2
1. Descargue PulseAudio para Windows.
En Windows:
La última versión de PulseAudio para Windows 10 que puedo encontrar es la versión 7Aquí, Está diseñado para X2Go. Puede visitar el enlace y hacer clic en "Instantánea" para descargar PulseAudio para Windows.O haga clic aquí para descargar.
Esto descargó un.tar.gz
file.Descomprima este archivo y cambie el nombre de la carpeta que contiene lo siguientepulseaudio.exe
, Y otros archivos ejecutables de PulseAudio y archivos parapulse
Y luego copia este nuevopulse
Carpeta aC:
(Entonces deberías tener, por ejemplo,C:pulsepulseaudio.exe
).
2. Configure PulseAudio para Windows.
En Windows:
Crea un archivo llamadoconfig.pa
enC:pulse
. Para poder cambiar el nombre de las extensiones de archivos en Windows, debe habilitar la visualización de extensiones de archivos desde el Explorador de archivos.
en estoC:pulseconfig.pa
Archivo, agregue el siguiente contenido y guarde el archivo cuando haya terminado:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12load-module module-esound-protocol-tcp auth-ip-acl=127.0.0.1;172.16.0.0/12load-module module-waveout sink_name=output source_name=input record=0
Aquí permitimos desde127.0.0.1
Esta es la dirección IP local y172.16.0.0/12
Este es el espacio predeterminado de WSL2 (172.16.0.0-172.31.255.255).
3. Configure PulseAudio en WSL2.
En WSL2 (Ubuntu/cualquier dispositivo que utilices):
Asegurémonos de que tieneslibpulse0
Ha sido instalado, de lo contrario no funcionará correctamente. Su nombre y comando de instalación dependen de la distribución de Linux que esté utilizando, por lo que debe buscarlo e instalarlo. En Ubuntu/Debian, puede usar el siguiente comando para instalar:
sudo apt install libpulse0
Aún en WSL2, aún necesitas editar~/.bashrc
Edite el archivo con un editor de texto; usando el siguiente comando, lo editaremos con el editor de la consola Nano:
nano ~/.bashrc
Desplácese hasta el final de este archivo y pegue lo siguiente:
export HOST_IP="$(ip route |awk '/^default/{print $3}')"export PULSE_SERVER="tcp:$HOST_IP"#export DISPLAY="$HOST_IP:0.0"
Aquí puedes descomentarexport DISPLAY
También exportarDISPLAY
Variable de entorno (la he comentado por defecto porque no todo el mundo la necesita). Si desea utilizar algo como VcxSrv para iniciar aplicaciones de gráficos desde WSL2, debe hacerlo (utilizando la configuración de este artículo, las aplicaciones de gráficos que se ejecutan en WSL2 tendrán un buen soporte).
Cuando termine, guarde el archivo y salga de Nano (Ctrl + o
,Enter
entoncesx
Guarde el archivo y guárdelo en Nano).A continuación, cambie~/.bashrc
Archivo para usar las nuevas variables de entorno:
source ~/.bashrc
4. Instale PulseAudio como un servicio de Windows.
En Windows:
Para iniciar PulseAudio como servicio de Windows, usaremos NSSM.Descarga NSSM desde aquí, Descomprima el archivo descargado y copie win64nssm.exe
Ejecutable paraC:pulse
.Puedewin64
La carpeta en el archivo zip NSSM descargado.
A continuación, busque PowerShell en el menú Inicio de Windows, haga clic derecho en la entrada de PowerShell y seleccioneRun as Administrator
.
En PowerShell, escriba o pegue:
C:pulsenssm.exe install PulseAudio
Después de ejecutar este comando, se mostrará la GUI de NSSM. En suApplication
Etiqueta, uso:
- Ruta de aplicación:
C:pulsepulseaudio.exe
- Directorio de inicio:
C:pulse
- parámetro:
-F C:pulseconfig.pa --exit-idle-time=-1
- Nombre del servicio (debe completarse automáticamente cuando se abre el cuadro de diálogo NSSM):
PulseAudio
En el campo "Parámetros", estamos usando-F
, Le indica a PulseAudio que ejecute el script especificado al inicio, y--exit-idle-time=-1
Deshabilite la opción para finalizar el demonio después de unos segundos de inactividad.
enDetails
Etiqueta, entrarPulseAudio
adentroDisplay name
sitio:
Después de completar todas estas operaciones, haga clic enInstall service
Botón.
Si necesita eliminar este servicio de Windows en el futuro, ejecute PowerShell nuevamente como administrador y luego ejecute el siguiente comando para eliminar el servicio:
C:pulsenssm.exe remove PulseAudio
5. Inicie el servicio PulseAudio de Windows.
Inicie el Administrador de tareas de Windows y haga clic enServices
Tabulador y desplácese hasta PulseAudio. Cuando encuentre el servicio PulseAudio, haga clic derecho sobre él y seleccioneStart
él:
Hemos terminado. PulseAudio ya está funcionando. Debería poder utilizar aplicaciones habilitadas para audio en WSL2 y escuchar su salida de audio en el escritorio de Windows 10.
Dado que hemos instalado PulseAudio como un servicio en Windows 10, una vez iniciado, se iniciará automáticamente cuando inicie sesión en el escritorio de Windows, por lo que no es necesario volver a iniciarlo manualmente.
referencia:Discurso de Ubuntu,Éste,ÉsteconWiki X2Go.