Audio

火獄中的聲音問題

  • April 6, 2020

我正在使用 Parabola(基於 Arch),我想使用 firejail 來沙箱一兩個不太受信任的應用程序(尤其是 Steam)。但是,在 firejail 中執行應用程序時(即使使用 –noprofile 選項,它應該提供最少限制的沙箱),我聽不到任何聲音。我嘗試過使用蒸汽和節奏盒,但兩者都有同樣的問題。

我在 github 上有一張公開。我正在使用pulseaudio,我懷疑這個問題可能類似於為什麼當我以root使用者身份從終端執行相同的應用程序時我也沒有聲音(因為firejail本身需要超級使用者權限來設置沙箱,然後再移交給入獄申請)。

有沒有辦法可以為root使用者啟用pulseaudio中的聲音,這樣如果我以普通使用者身份登錄桌面;su在終端中紮根;然後執行節奏盒,聲音會播放嗎?我知道這個現有的答案;但是,它似乎對我不起作用(大概,這只有在我以 root 身份登錄整個桌面會話時才有效,我不想這樣做)。

回答我自己的問題:我解除安裝了pulseaudio,現在聲音似乎在firejailed應用程序中執行良好(大概他們現在直接使用ALSA)。我懷疑這個問題是因為pulseaudio不允許root使用者訪問伺服器;但是,firejail 需要 root 權限。

你試過apulse包嗎?

該程序提供了 PulseAudio API 的替代部分實現。它由一個載入器腳本和許多與原始 PulseAudio 同名的共享庫組成,因此應用程序可以動態載入它們並認為它們正在與 PulseAudio 對話。在內部,沒有使用單獨的混音守護程序。相反,apulse 依靠 ALSA 的 dmix、dsnoop 和 plug 外掛來處理多個聲源並擷取同時執行的流。dmix 外掛復用多個播放流;dsnoop 外掛允許從單個麥克風擷取多個應用程序;外掛外掛透明地在各種採樣格式、採樣率和通道數之間轉換音頻。

apulse <program>

引用自:https://unix.stackexchange.com/questions/574308