GNU/Linux >> Tutoriels Linux >  >> Debian

Comment faire fonctionner le son (PulseAudio) avec WSL2

Cet article explique comment obtenir du son (PulseAudio) pour éditer WSL2 sous Microsoft Windows.

Si vous suivez ces instructions, vous obtiendrez un son fonctionnel avec PulsAudio sur Windows / WSL2 pour les applications console et GUI (cependant, l'article ne couvre pas l'exécution d'applications graphiques sur WSL2). Donc le micro ne marche pas, ou du moins il n'a pas fonctionné pour moi (et par exemple je n'en ai pas eu besoin de toute façon).

Microsoft prévoit d'ajouter une prise en charge intégrée pour l'exécution d'applications graphiques et du son à WSL2. Mais jusque-là, vous pouvez utiliser ces instructions pour que le son fonctionne sur WSL2.

Si vous utilisez toujours WSL1, découvrez comment passer à WSL2 ici. Vous pouvez vérifier si vous utilisez déjà WSL2 en exécutant wsl -l -v dans WindowsPowerShell. Toute machine utilisant WSL2 doit être listée ici, avec 2 comme la leur VERSION; Si vous ne voyez pas de numéro de version ou de message d'erreur, vous avez WSL1.

Ci-dessous, une capture d'écran montrant le terminal Windows exécutant Ubuntu / WSL2 où j'utilise le lecteur de musique cmus Console pour écouter de la musique. Vous ne pouvez pas entendre la musique pour voir si cela fonctionne réellement, donc cette capture d'écran est assez inutile, mais j'avais besoin d'une capture d'écran à utiliser comme vignette de l'élément ? ️.

En tant que référence complètement indépendante, au cas où vous voudriez utiliser cmus sur WSL2, modifiez-le ~/.config/cmus/rc Fichier (créez-le s'il n'existe pas) et ajoutez-le set output_plugin=pulse afin que la sortie audio fonctionne sur votre bureau Windows.

Voici comment fonctionne le son dans WSL2

1. Téléchargez PulseAudio pour Windows.

Sous Windows :

La dernière version de PulseAudio pour Windows 10 que j'ai pu trouver est la version 7 d'ici, conçue pour X2Go. Vous pouvez soit visiter ce lien et cliquer sur Snapshot pour télécharger PulseAudio pour Windows. ou cliquez ici pour le télécharger.

Ceci sera téléchargé .tar.gz Archive. Extrayez cette archive et renommez le dossier qui contient pulseaudio.exe , et les autres fichiers exécutables PulseAudio et fichiers à pulse , et copiez-le à nouveau pulse Dossier trop C: (donc vous devriez avoir, par exemple C:pulsepulseaudio.exe ).

2. Configurez PulseAudio pour Windows.

Sous Windows :

Créez un fichier nommé config.pa en C:pulse . Afin de pouvoir renommer l'extension de fichier sous Windows, vous devez activer l'affichage des extensions de fichier dans l'explorateur de fichiers.

Dans ce C:pulseconfig.pa Fichier, ajoutez ce qui suit et enregistrez le fichier lorsque vous avez terminé :

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

Ici, nous autorisons les connexions à partir de 127.0.0.1 c'est l'adresse IP locale, et 172.16.0.0/12 Il s'agit de l'espace de stockage par défaut (172.16.0.0 – 172.31.255.255) pour WSL2.

3. Configurez PulseAudio dans WSL2.

Sur WSL2 (Ubuntu / tout ce que vous utilisez) :

Assurons-nous que vous l'avez libpulse0 installé, sinon cela ne fonctionnera pas. Le nom et la commande pour l'installer dépendront de la distribution Linux que vous utilisez, vous devrez donc la trouver et l'installer. Sur Ubuntu / Debian vous pouvez l'installer avec :

sudo apt install libpulse0

Vous devez toujours utiliser le ~/.bashrc Fichier avec un éditeur de texte - avec la commande suivante, nous le modifierons avec l'éditeur de la console Nano :

nano ~/.bashrc

Faites défiler vers le bas de ce fichier et collez-y ce qui suit :

export HOST_IP="$(ip route |awk '/^default/{print $3}')"
export PULSE_SERVER="tcp:$HOST_IP"
#export DISPLAY="$HOST_IP:0.0"

Ici, vous pouvez supprimer les marques de commentaire export DISPLAY Ligne pour exporter cela aussi DISPLAY Variable d'environnement (je l'ai commentée par défaut car tout le monde n'en a pas besoin). Ceci est nécessaire si vous souhaitez utiliser quelque chose comme VcxSrv pour lancer des applications graphiques à partir de WSL2 (avec la configuration de cet article, les applications graphiques exécutées dans WSL2 auront un support audio).

Lorsque vous avez terminé, enregistrez le fichier et quittez Nano (Ctrl + o , Enter puis x enregistre le fichier et existe nano). Source suivante le ~/.bashrc Fichier pour utiliser les nouvelles variables d'environnement :

source ~/.bashrc

4. Installez PulseAudio en tant que service Windows.

Sous Windows :

Pour démarrer PulseAudio en tant que service Windows, nous utiliserons NSSM. Téléchargez NSSM à partir d'ici, décompressez l'archive téléchargée et copiez le win64 nssm.exe exécutable aussi C:pulse . Vous pouvez trouver cela dans le win64 Dossier dans l'archive zip NSSM téléchargée.

Ensuite, recherchez PowerShell dans le menu Démarrer de Windows, cliquez avec le bouton droit sur l'entrée PowerShell et sélectionnez Run as Administrator .

Dans PowerShell, saisissez ou collez :

C:pulsenssm.exe install PulseAudio

L'interface graphique NSSM s'affiche lorsque vous exécutez cette commande. Dans son Application Tab, utilisez :

  • Chemin d'application :C:pulsepulseaudio.exe
  • Répertoire de démarrage :C:pulse
  • Arguments :-F C:pulseconfig.pa --exit-idle-time=-1
  • Nom du service (doit être renseigné automatiquement lors de l'ouverture de la boîte de dialogue NSSM) :PulseAudio

Dans le champ Arguments, nous utilisons -F dire à PulseAudio d'exécuter le script spécifié au démarrage tandis que --exit-idle-time=-1 désactive l'option permettant d'arrêter le démon après quelques secondes d'inactivité.

Sur le Details Tabulation, saisissez PulseAudio en faisant Display name Zone :

Lorsque vous avez terminé avec tout cela, cliquez sur Install service Bouton.

Si vous souhaitez ultérieurement supprimer ce service Windows, exécutez à nouveau PowerShell en tant qu'administrateur et cette fois, exécutez la commande suivante pour supprimer le service :

C:pulsenssm.exe remove PulseAudio

5. Démarrez le service Windows PulseAudio.

Démarrez le Gestionnaire des tâches de Windows, cliquez sur le Services Tab et faites défiler jusqu'à PulseAudio. Lorsque vous trouvez le service PulseAudio, faites un clic droit dessus et sélectionnez Start il :

Et nous avons terminé. PulseAudio fonctionne maintenant. Vous devriez pouvoir utiliser des applications compatibles audio dans WSL2 et entendre leur sortie audio sur votre bureau Windows 10.

Depuis que nous avons installé PulseAudio en tant que service sur Windows 10, il démarre automatiquement après avoir démarré lorsque vous vous connectez à votre bureau Windows, vous n'avez donc pas à le redémarrer manuellement.

Références :discours d'Ubuntu, ceci, ceci et le wiki X2Go.


Debian
  1. Linux - Comment faire fonctionner Oracle Java 7 avec Setcap Cap_net_bind_service+ep ?

  2. Comment faire fonctionner Uuencode ?

  3. Linux - Comment faire en sorte que Grindeq (plugin latex pour Word) fonctionne avec Word dans Wine ?

  4. Comment faire fonctionner Jshint ?

  5. Comment faire fonctionner la webcam avec Ubuntu 14.04 ?

Comment démarrer Linux Mint 20 avec Windows 10

Comment installer Ubuntu 18.04 Dual Boot avec Windows 10

Comment travailler avec Ansible Provisioner dans Vagrant

Comment installer Ubuntu avec Windows

Comment installer Podman sur Ubuntu 20.04 WSL2

Comment démarrer avec Arch Linux