Connect with us

Linux

Come far funzionare il suono (PulseAudio) su WSL2


Questo articolo spiega come far funzionare l’audio (PulseAudio) su WSL2 in Microsoft Windows.

Seguendo queste istruzioni, avrai un suono funzionante utilizzando PulseAudio su Windows / WSL2 sia per la console che per le applicazioni GUI (l’articolo non copre tuttavia l’esecuzione di applicazioni grafiche su WSL2). Usando questo, il microfono non funzionerà, o almeno non ha funzionato per me (e io, per esempio, non ne avevo bisogno comunque).

Microsoft prevede di aggiungere il supporto integrato per l’esecuzione di applicazioni grafiche e suoni a WSL2. Ma fino ad allora, puoi usare queste istruzioni per far funzionare il suono su WSL2.

Se stai ancora utilizzando WSL1, vedi come eseguire l’aggiornamento a WSL2 qui. Puoi verificare se stai già utilizzando WSL2 eseguendo wsl -l -v in Windows PowerShell. Ogni macchina che utilizza WSL2 dovrebbe essere elencata qui, con 2 come loro VERSION; se non vedi un numero di versione, o se vedi un messaggio di errore, hai WSL1.

Di seguito è riportato uno screenshot che mostra il terminale di Windows con Ubuntu / WSL2 in cui sto utilizzando il lettore musicale della console cmus per riprodurre musica. Non riesci a sentire la musica per verificare se funziona effettivamente, quindi questo screenshot è abbastanza inutile, ma avevo bisogno di uno screenshot da utilizzare come miniatura dell’articolo ????️.

cmus windows terminal wsl2

Come nota totalmente non correlata, nel caso in cui desideri utilizzare cmus su WSL2, modifica il suo ~/.config/cmus/rc file (crealo se non esiste) e aggiungi set output_plugin=pulse per far funzionare l’uscita audio sul desktop di Windows.

Come far funzionare il suono in WSL2

1. Scarica PulseAudio per Windows.

Su Windows:

L’ultima versione di PulseAudio per Windows 10 che ho trovato è la versione 7 da qui, costruita per X2Go. Puoi visitare quel link e fare clic su Snapshot per scaricare PulseAudio per Windows, oppure fare clic qui per scaricarlo.

Questo scarica un file .tar.gz archivio. Estrai questo archivio e rinomina la cartella che contiene pulseaudio.exee gli altri eseguibili e file di PulseAudio in pulsee copia questo nuovo pulse cartella in C: (quindi dovresti avere ad es C:pulsepulseaudio.exe).

2. Configurare PulseAudio per Windows.

Su Windows:

Crea un file chiamato config.pa nel C:pulse. Per poter rinominare l’estensione del file su Windows, è necessario abilitare la visualizzazione delle estensioni dei file da Esplora file.

In questo C:pulseconfig.pa file, aggiungi quanto segue e salva il file quando hai finito:

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

Qui consentiamo le connessioni da 127.0.0.1 che è l’indirizzo IP locale e 172.16.0.0/12 che è lo spazio predefinito (172.16.0.0 – 172.31.255.255) per WSL2.

3. Configurare PulseAudio in WSL2.

Su WSL2 (Ubuntu / qualunque cosa tu stia utilizzando):

Assicuriamoci di averlo fatto libpulse0 installato, altrimenti non funzionerà. Il suo nome e il comando per installarlo dipendono dalla distribuzione Linux che stai utilizzando, quindi dovrai cercarlo e installarlo. Su Ubuntu / Debian, puoi installarlo usando:

sudo apt install libpulse0

Sempre su WSL2, dovrai anche modificare il file ~/.bashrc file con un editor di testo – utilizzando il comando seguente lo modificheremo utilizzando l’editor della console Nano:

nano ~/.bashrc

Scorri verso il basso in questo file fino alla fine e incolla quanto segue:

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

Qui puoi rimuovere il commento dal file export DISPLAY per esportare anche il file DISPLAY variabile d’ambiente (l’ho commentata per impostazione predefinita perché non tutti ne avranno bisogno). È necessario se si desidera utilizzare qualcosa come VcxSrv per avviare applicazioni grafiche da WSL2 (utilizzando la configurazione in questo articolo, le applicazioni grafiche in esecuzione in WSL2 avranno supporto audio).

Quando hai finito, salva il file ed esci da Nano (Ctrl + o, Enter poi x salva il file ed esiste Nano). Quindi, procurati il ​​file ~/.bashrc file per utilizzare le nuove variabili d’ambiente:

source ~/.bashrc

4. Installa PulseAudio come servizio Windows.

Su Windows:

Per avviare PulseAudio come servizio Windows, useremo NSSM. Scarica NSSM da qui, estrai l’archivio scaricato e copia il file win64 nssm.exe eseguibile in C:pulse. Puoi trovarlo in win64 cartella nell’archivio zip NSSM scaricato.

Quindi, cerca PowerShell nel menu Start di Windows, fai clic con il pulsante destro del mouse sulla voce PowerShell e scegli Run as Administrator.

In PowerShell, digita o incolla:

C:pulsenssm.exe install PulseAudio

La GUI di NSSM verrà visualizzata quando si esegue questo comando. Nel suo Application scheda, usa:

Scheda Applicazione NSSM
  • Percorso dell’applicazione: C:pulsepulseaudio.exe
  • Directory di avvio: C:pulse
  • Argomenti: -F C:pulseconfig.pa --exit-idle-time=-1
  • Nome del servizio (dovrebbe essere compilato automaticamente quando si apre la finestra di dialogo NSSM): PulseAudio

Nel campo Argomenti che stiamo usando -F, che dice a PulseAudio di eseguire lo script specificato all’avvio, mentre --exit-idle-time=-1 disabilita l’opzione per terminare il daemon dopo alcuni secondi di inattività.

Sul Details scheda, entra PulseAudio nel Display name campo:

Scheda Dettagli NSSM

Quando hai finito con tutto questo, fai clic su Install service pulsante.

Nel caso in cui in seguito desideri rimuovere questo servizio Windows, esegui nuovamente PowerShell come amministratore e questa volta esegui il seguente comando per rimuovere il servizio:

C:pulsenssm.exe remove PulseAudio

5. Avviare il servizio PulseAudio per Windows.

Avvia il Task Manager di Windows, fai clic su Services scheda e scorrere fino a PulseAudio. Quando trovi il servizio PulseAudio, fai clic con il pulsante destro del mouse e seleziona Start esso:

Servizi di Task Manager di Windows PulseAudio

E abbiamo finito. PulseAudio ora funziona. Dovresti essere in grado di utilizzare applicazioni con capacità audio all’interno di WSL2 e ascoltare il loro output audio sul desktop di Windows 10.

Poiché abbiamo installato PulseAudio come servizio su Windows 10, una volta avviato, si avvierà automaticamente quando accedi al desktop di Windows, quindi non è necessario riavviarlo manualmente.

Riferimenti: Discorso di Ubuntu, questo, questo e il Wiki di X2Go.


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi