GNU/Linux >> Belajar Linux >  >> Debian

Cara mendapatkan suara (PulseAudio) untuk bekerja dengan WSL2

Artikel ini menjelaskan cara mendapatkan suara (PulseAudio) untuk mengedit WSL2 di bawah Microsoft Windows.

Jika Anda mengikuti petunjuk ini, Anda akan mendapatkan suara yang berfungsi dengan PulsAudio di Windows / WSL2 untuk aplikasi konsol dan GUI (namun, artikel ini tidak mencakup menjalankan aplikasi grafis di WSL2). Jadi mikrofon tidak berfungsi, atau setidaknya tidak berfungsi untuk saya (dan misalnya saya tidak membutuhkannya).

Microsoft berencana untuk menambahkan dukungan bawaan untuk menjalankan aplikasi grafis dan suara ke WSL2. Namun sampai saat itu, Anda dapat menggunakan petunjuk ini untuk membuat suara bekerja di WSL2.

Jika Anda masih menggunakan WSL1, lihat cara meningkatkan ke WSL2 di sini. Anda dapat memeriksa apakah Anda sudah menggunakan WSL2 dengan menjalankan wsl -l -v di Windows PowerShell. Mesin apa pun yang menggunakan WSL2 harus terdaftar di sini, dengan 2 sebagai VERSION their; Jika Anda tidak melihat nomor versi atau pesan kesalahan, Anda memiliki WSL1.

Di bawah ini adalah tangkapan layar yang menunjukkan Terminal Windows menjalankan Ubuntu/WSL2 di mana saya menggunakan pemutar musik Konsol cmus untuk memutar musik. Anda tidak dapat mendengar musik untuk melihat apakah itu benar-benar berfungsi sehingga tangkapan layar ini sangat tidak berguna, tetapi saya membutuhkan tangkapan layar untuk digunakan sebagai gambar mini item ?️.

Sebagai referensi yang sepenuhnya independen, jika Anda ingin menggunakan cmus di WSL2, edit ~/.config/cmus/rc File (buat jika tidak ada) dan tambahkan set output_plugin=pulse sehingga keluaran suara berfungsi di desktop Windows Anda.

Beginilah cara kerja suara di WSL2

1. Unduh PulseAudio untuk Windows.

Di Windows:

Versi terbaru PulseAudio untuk Windows 10 yang dapat saya temukan adalah versi 7 di sini, dibuat untuk X2Go. Anda dapat mengunjungi tautan ini dan mengeklik Snapshot untuk mengunduh PulseAudio untuk Windows. atau klik di sini untuk mengunduhnya.

Ini akan diunduh .tar.gz Arsip. Ekstrak arsip ini dan ganti nama folder yang berisi pulseaudio.exe , dan file dan file lain yang dapat dieksekusi PulseAudio ke pulse , dan salin lagi pulse Folder juga C: (jadi Anda harus memiliki, misalnya C:pulsepulseaudio.exe ).

2. Konfigurasikan PulseAudio untuk Windows.

Di Windows:

Buat file bernama config.pa di C:pulse . Agar dapat mengganti nama ekstensi file di Windows, Anda harus mengaktifkan tampilan ekstensi file di file explorer.

Dalam C:pulseconfig.pa . ini File, tambahkan yang berikut ini dan simpan file setelah selesai:

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

Di sini kami mengizinkan koneksi dari 127.0.0.1 ini adalah alamat IP lokal, dan 172.16.0.0/12 Ini adalah ruang penyimpanan default (172.16.0.0 – 172.31.255.255) untuk WSL2.

3. Konfigurasikan PulseAudio di WSL2.

Di WSL2 (Ubuntu / apa pun yang Anda gunakan):

Pastikan Anda memilikinya libpulse0 diinstal, jika tidak maka tidak akan berfungsi. Nama dan perintah untuk menginstalnya akan tergantung pada distribusi Linux yang Anda gunakan, jadi Anda harus menemukannya dan menginstalnya. Di Ubuntu / Debian Anda dapat menginstalnya dengan:

sudo apt install libpulse0

Anda masih harus menggunakan ~/.bashrc File dengan editor teks – dengan perintah berikut kita akan mengeditnya dengan editor konsol Nano:

nano ~/.bashrc

Gulir ke bawah ke bagian bawah file itu dan rekatkan yang berikut di sana:

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

Di sini Anda dapat menghapus tanda komentar export DISPLAY Baris untuk mengekspornya juga DISPLAY Variabel lingkungan (saya berkomentar secara default karena tidak semua orang membutuhkannya). Ini diperlukan jika Anda ingin menggunakan sesuatu seperti VcxSrv untuk meluncurkan aplikasi grafis dari WSL2 (dengan konfigurasi dalam artikel ini, aplikasi grafis yang berjalan di WSL2 akan memiliki dukungan suara).

Setelah selesai simpan file dan keluar dari Nano (Ctrl + o , Enter lalu x menyimpan file dan ada nano). Sumber berikutnya ~/.bashrc File untuk menggunakan variabel lingkungan baru:

source ~/.bashrc

4. Instal PulseAudio sebagai layanan Windows.

Di Windows:

Untuk memulai PulseAudio sebagai layanan Windows, kami akan menggunakan NSSM. Unduh NSSM dari sini, unzip arsip yang diunduh dan salin win64 nssm.exe dapat dieksekusi juga C:pulse . Anda dapat menemukannya di win64 Folder di arsip zip NSSM yang diunduh.

Selanjutnya, temukan PowerShell di menu Start Windows, klik kanan entri PowerShell dan pilih Run as Administrator .

Di PowerShell, ketik atau tempel:

C:pulsenssm.exe install PulseAudio

GUI NSSM ditampilkan saat Anda menjalankan perintah ini. Dalam Application-nya Tab, gunakan:

  • Jalur aplikasi:C:pulsepulseaudio.exe
  • Mulai direktori:C:pulse
  • Argumen:-F C:pulseconfig.pa --exit-idle-time=-1
  • Nama layanan (harus diisi secara otomatis saat membuka dialog NSSM):PulseAudio

Di bidang Argumen kami menggunakan -F memberi tahu PulseAudio untuk menjalankan skrip yang ditentukan saat startup saat --exit-idle-time=-1 menonaktifkan opsi untuk mematikan daemon setelah beberapa detik tidak aktif.

Pada Details Tab, masukan PulseAudio dengan melakukan Display name Daerah:

Setelah selesai dengan semua ini, klik Install service Tombol.

Jika nanti Anda ingin menghapus layanan Windows ini, jalankan PowerShell lagi sebagai administrator dan kali ini jalankan perintah berikut untuk menghapus layanan:

C:pulsenssm.exe remove PulseAudio

5. Mulai layanan PulseAudio Windows.

Mulai Windows Task Manager, klik Services Tab dan gulir ke PulseAudio. Ketika Anda menemukan layanan PulseAudio, klik kanan padanya dan pilih Start itu:

Dan kita sudah selesai. PulseAudio sekarang berfungsi. Anda seharusnya dapat menggunakan aplikasi yang mendukung audio di WSL2 dan mendengar output audionya di desktop Windows 10 Anda.

Karena kami menginstal PulseAudio sebagai layanan di Windows 10, PulseAudio dimulai secara otomatis setelah Anda masuk ke desktop Windows, jadi Anda tidak perlu memulainya lagi secara manual.

Referensi:Wacana Ubuntu, this, this dan X2Go Wiki.


Debian
  1. Bagaimana Agar Vim Bekerja Dengan Tmux Dengan Benar?

  2. Linux – Bagaimana Agar Grindeq (Plugin lateks Untuk Word) Bekerja Dengan Word Dalam Anggur?

  3. Bagaimana Cara Membuat Jshint Bekerja?

  1. Linux – Bagaimana Cara Membuat Oracle Java 7 Bekerja Dengan Setcap Cap_net_bind_service+ep?

  2. Bagaimana Agar Uuencode Berfungsi?

  3. Bagaimana Cara Membuat Webcam Bekerja Dengan Ubuntu 14.04?

  1. Bagaimana Memulai Dengan Juju?

  2. Mempelajari Perl, tetapi bagaimana cara mendapatkan 5.14 di Windows?

  3. Cara mendapatkan statistik sistem dengan node.js