기본 출력 장치의 ipc_perm을 설정하는 방법은 무엇입니까?

기본 출력 장치의 ipc_perm을 설정하는 방법은 무엇입니까?

aplay를 사용하여 일부 사운드를 재생할 때 가끔 오류가 발생합니다.

ALSA lib pcm_dmix.c:1071:(snd_pcm_dmix_open) unable to create IPC semaphore
aplay: main:828: audio open error: Permission denied

이것~인 것 같다이는 호스트 시스템의 루트가 아닌 사용자가 이미 무언가를 재생하고 있는 후 Docker 컨테이너의 루트 사용자가 재생을 시작하는 경우에만 발생합니다. 루트가 컨테이너에서 무언가를 재생한 다음 사용자가 호스트 시스템에서 재생을 시작하면 제대로 작동합니다. (실행할 컨테이너입니다 --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

효과가 있었습니다.

관련 정보