저는 Parabola(Arch 기반)를 사용하고 있으며 Firejail을 사용하여 신뢰도가 낮은 앱(특히 Steam) 한두 개를 샌드박스에 넣고 싶습니다. 그러나 Firejail에서 애플리케이션을 실행할 때(가장 제한이 적은 샌드박스를 제공한다고 가정되는 --noprofile 옵션을 사용하더라도) 아무 소리도 들리지 않습니다. Steam과 Rhythmbox를 사용해 보았지만 둘 다 동일한 문제가 있습니다.
무제한 티켓이 있어요여기github에서. 나는 pulseaudio를 사용하고 있으며 터미널에서 루트로 동일한 앱을 실행할 때 소리가 들리지 않는 이유와 비슷한 문제가 있을 수 있다고 생각합니다(firejail 자체에는 감옥 적용을 넘기기 전에 샌드박스를 설정하기 위한 수퍼유저 권한이 필요하기 때문입니다).
루트 사용자를 위해 pulseaudio의 사운드를 활성화하여 su
터미널에서 루트로 데스크탑에 로그인한 다음 리듬박스를 실행하면 사운드가 재생되도록 하는 방법이 있습니까? 나는이 사실을 알고기존 답변; 그러나 그것은 나에게는 작동하지 않는 것 같습니다(아마도 이것은 전체 데스크탑 세션에 대해 루트로 로그인한 경우에만 작동하지만 나는 그렇게 하고 싶지 않습니다).
답변1
Apulse 패키지를 사용해 보셨나요?
이 프로그램은 PulseAudio API의 대체 부분 구현을 제공합니다. 이는 로더 스크립트와 원래 PulseAudio와 동일한 이름을 가진 여러 공유 라이브러리로 구성되어 있으므로 애플리케이션은 이를 동적으로 로드하고 PulseAudio와 통신하고 있다고 생각할 수 있습니다. 내부적으로는 별도의 사운드 믹싱 데몬을 사용하지 않습니다. 대신 apulse는 ALSA의 dmix, dsnoop 및 플러그인을 사용하여 여러 음원을 처리하고 동시에 실행되는 스트림을 캡처합니다. dmix 플러그인은 여러 재생 스트림을 다중화합니다. dsnoop 플러그인을 사용하면 여러 애플리케이션이 단일 마이크에서 캡처할 수 있으며 플러그 플러그인은 다양한 샘플 형식, 샘플 속도 및 채널 수 간에 오디오를 투명하게 변환합니다.
apulse <program>
답변2
내 자신의 질문에 대답하려면: pulseaudio를 제거했는데 이제 감옥에 갇힌 응용 프로그램에서 사운드가 제대로 작동하는 것 같습니다(아마 지금은 ALSA를 직접 사용하고 있을 것 같습니다). 나는 이 문제가 pulseaudio가 서버에 대한 루트 액세스를 허용하지 않기 때문에 발생한다고 생각합니다. 그러나 Firejail에는 루트 권한이 필요합니다.