Hey everyone,
I wrote an application that I’d like to package as a snap. However, I only got it working with confinement: classic
Here is what it needs to do:
-
R/W to the unix socket
/run/user/{uid}/pulse/native
. I believe from reading the docs this is not something that’s allowed unless running in classic confinement. However, I need to talk to the host pulse audio and load LADSPA modules. Considering there’s separate interfaces foraudio-playback
andaudio-record
talking raw PulseAudio native protocol to the host server is probably out? -
Read access to
~/.config/pulse/cookie
, because pulse requires this as authentication to talk to its unix socket mentioned above. -
Put LADSPA modules somewhere, where the PulseAudio can find it, and provide a path. Currently I’m writing them to /tmp but mapping either
/tmp
or/dev/shm
via layouts is not allowed. Is there somewhere I could even put them where I know the path outside the sandbox?
After working on this for a day, I believe this is simply not possible in a sandboxed snap. If so, the requirements for classic confinement is somewhat nebulous in saying management snaps
are unsupported.
An application that manages pulseaudio configuration via loading modules/setting up loopbacks etc. probably qualifies as a management snap
?
Is this correct and am I right in my assumption that a snap package for my app is basically a no-go?