aplayを使っていくつかのサウンドを再生すると、時々エラーが発生します。
ALSA lib pcm_dmix.c:1071:(snd_pcm_dmix_open) unable to create IPC semaphore aplay: main:828: audio open error: Permission denied
これ〜らしいこれは、ホストシステムの非rootユーザーがすでに何かを再生していてDockerコンテナのrootユーザーが再生を開始した場合にのみ発生します。ルートがコンテナで何かを再生し、ユーザーがホストシステムで再生を開始すると、正常に動作します。 (実行するコンテナです--ipc="host"
。)
なぜこのように失敗するのかよくわかりませんが、IPCセマフォの権限を666に設定してみたいです。私が見ると、ipcs
現在660です。
これを行うにはasound.confに設定する必要がありますが、ipc_perm 0666
どうすればよいかわかりません。基本機器。
私は新しい機器と
pcm.foo {
ipc_perm 0666
}
しかし、残りの基本デバイス構成を削除せずにデフォルトデバイスとして設定したいと思います。
答え1
質問を書いている間、私はすでに
defaults.pcm.card 1
defaults.ctl.card 1
内で、デフォルトasound.conf
の出力デバイスのハードウェアデバイスを選択します。
だから私は判断より幸運を試した。
defaults.pcm.ipc_perm 0666
効果がありました。