この記事では、Microsoft Windows で WSL2 を編集するためのサウンド (PulseAudio) を取得する方法について説明します。
これらの手順に従うと、コンソールおよび GUI アプリケーション用の Windows / WSL2 で PulsAudio を使用して動作するサウンドが得られます (ただし、この記事では、WSL2 でのグラフィカル アプリケーションの実行については説明していません)。そのため、マイクが機能しないか、少なくとも私には機能しませんでした (たとえば、とにかく必要ありませんでした)。
Microsoft は、グラフィカル アプリケーションとサウンドを実行するための組み込みサポートを WSL2 に追加する予定です。ただし、それまでは、これらの手順を使用して、サウンドを WSL2 で動作させることができます。
まだ WSL1 を使用している場合は、こちらで WSL2 にアップグレードする方法を参照してください。 wsl -l -v
を実行すると、すでに WSL2 を使用しているかどうかを確認できます。 Windows PowerShell で。 WSL2 を使用するすべてのマシンをここにリストする必要があります。VERSION
は 2 です。;バージョン番号やエラー メッセージが表示されない場合は、WSL1 です。
以下は、Ubuntu / WSL2 を実行している Windows ターミナルを示すスクリーンショットで、音楽を再生するために cmus コンソール ミュージック プレーヤーを使用しています。実際に機能するかどうかを確認するために音楽を聞くことはできないため、このスクリーンショットはほとんど役に立ちませんが、アイテムのサムネイルとして使用するスクリーンショットが必要でした?️.
完全に独立したリファレンスとして、WSL2 で cmus を使用する場合は ~/.config/cmus/rc
を編集してください ファイル (存在しない場合は作成) を追加し、set output_plugin=pulse
を追加します。 サウンド出力が Windows デスクトップで機能するようにします。
WSL2 でのサウンドのしくみ
1. Windows 用の PulseAudio をダウンロードします。
Windows の場合:
私が見つけた Windows 10 用 PulseAudio の最新バージョンは、X2Go 用にビルドされた here のバージョン 7 です。このリンクにアクセスして [スナップショット] をクリックし、PulseAudio for Windows をダウンロードできます。または、ここをクリックしてダウンロードしてください。
これはダウンロードされます .tar.gz
記録。このアーカイブを抽出し、pulseaudio.exe
を含むフォルダーの名前を変更します 、およびその他の PulseAudio 実行可能ファイルとファイルを pulse
に 、それをもう一度コピー pulse
フォルダも C:
(したがって、たとえば C:pulsepulseaudio.exe
にする必要があります ).
2. PulseAudio を Windows 用に構成します。
Windows の場合:
config.pa
というファイルを作成します C:pulse
で . Windows でファイル拡張子の名前を変更できるようにするには、ファイル エクスプローラーでファイル拡張子の表示を有効にする必要があります。
この C:pulseconfig.pa
で ファイルを作成し、以下を追加して、完了したらファイルを保存します:
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
ここでは 127.0.0.1
からの接続を許可します これはローカル IP アドレスで、172.16.0.0/12
です。 これは、WSL2 の既定のストレージ領域 (172.16.0.0 – 172.31.255.255) です。
3. WSL2 で PulseAudio を構成します。
WSL2 の場合 (Ubuntu / 使用しているもの):
libpulse0
であることを確認しましょう そうしないと動作しません。インストールするための名前とコマンドは、使用している Linux ディストリビューションによって異なるため、見つけてインストールする必要があります。 Ubuntu / Debian では、以下でインストールできます:
sudo apt install libpulse0
~/.bashrc
を使用する必要があります テキスト エディターでファイルします。次のコマンドを使用して、Nano コンソール エディターで編集します。
nano ~/.bashrc
そのファイルの一番下までスクロールして、そこに以下を貼り付けます:
export HOST_IP="$(ip route |awk '/^default/{print $3}')"
export PULSE_SERVER="tcp:$HOST_IP"
#export DISPLAY="$HOST_IP:0.0"
ここで、コメント マーク export DISPLAY
を削除できます。 それもエクスポートする行 DISPLAY
環境変数(誰もが必要とするわけではないので、デフォルトでコメントアウトしました)。これは、VcxSrv などを使用して WSL2 からグラフィカル アプリケーションを起動する場合に必要です (この記事の構成では、WSL2 で実行されているグラフィカル アプリケーションが適切にサポートされます)。
完了したら、ファイルを保存して Nano を終了します (Ctrl + o
、 Enter
次に x
ファイルが保存され、nano が存在します)。次のソースは ~/.bashrc
です 新しい環境変数を使用するファイル:
source ~/.bashrc
4. PulseAudio を Windows サービスとしてインストールします。
Windows の場合:
PulseAudio を Windows サービスとして開始するには、NSSM を使用します。ここから NSSM をダウンロードし、ダウンロードしたアーカイブを解凍して、win64 nssm.exe
をコピーします。 実行可能すぎる C:pulse
. win64
でそれを見つけることができます ダウンロードした NSSM zip アーカイブ内のフォルダー。
次に、Windows の [スタート] メニューで PowerShell を見つけ、PowerShell エントリを右クリックして Run as Administrator
を選択します。 .
PowerShell で、次を入力するか貼り付けます:
C:pulsenssm.exe install PulseAudio
このコマンドを実行すると、NSSM GUI が表示されます。 彼の Application
で タブ、使用:
- アプリケーション パス:
C:pulsepulseaudio.exe
- 開始ディレクトリ:
C:pulse
- 引数:
-F C:pulseconfig.pa --exit-idle-time=-1
- サービス名 (NSSM ダイアログを開くと自動的に入力されます):
PulseAudio
Arguments フィールドでは、-F
を使用します。 --exit-idle-time=-1
の間、起動時に指定されたスクリプトを実行するように PulseAudio に指示します 数秒間非アクティブになった後にデーモンをシャットダウンするオプションを無効にします。
Details
で タブ、入力 PulseAudio
Display name
を実行することによって エリア:
このすべてが完了したら、Install service
をクリックします。 ボタン。
後でこの Windows サービスを削除する場合は、PowerShell を管理者として再度実行し、今度は次のコマンドを実行してサービスを削除します:
C:pulsenssm.exe remove PulseAudio
5. PulseAudio Windows サービスを開始します。
Windows タスク マネージャーを起動し、Services
をクリックします。 Tab キーを押して、PulseAudio までスクロールします。 PulseAudio サービスが見つかったら、それを右クリックして Start
を選択します。 それ:
これで完了です。 PulseAudio が動作するようになりました。 WSL2 でオーディオ対応アプリケーションを使用し、Windows 10 デスクトップでオーディオ出力を聞くことができるはずです。
Windows 10 に PulseAudio をサービスとしてインストールしたため、Windows デスクトップにログインすると起動後に自動的に起動するため、手動で再度起動する必要はありません。
参考文献:Ubuntu の談話、これ、これ、および X2Go Wiki。