Playerctl: classic confinement for general session dbus access


I have a snap called playerctl which I think needs classic confinement. This snap finds media players by calling ListNames on the session bus to detect which media players are running on the session with a well known name that follows the MPRIS specification. It may then connect to any of them to call methods or listen to signals. The package will not work at all without permission to do this.

Would classic confinement be required in this case or is there some way to give the package this permission?

theer are mpris as well as generic dbus interfaces you should be able to use …

Thanks for the reply, but neither of these grant all the permissions I need. I’m getting permission denied on org.freedesktop.DBus.ListNames which I need to discover media players, and access to any arbitrary mpris interface exposed on the session. I don’t have the will to maintain a whitelist.

I’ve added the store-requests category. I do believe now I need classic confinement for my snap to work correctly so I would like to make this an official request.

The process for classic confinement review is well documented in Process for reviewing classic confinement snaps - access to org.freedesktop.DBus.ListNames is not one of the known categories for classic confinement.

You should be able to enumerate players by plugging both the desktop-legacy interface (to give access to the session bus) and system-observe to allow to run ListNames.

I am not sure about mpris control though at this point - that will need more investigation.

@tonyctl - have you had a chance to investigate the suggestion I made above?

@tonyctl - ping, this request cannot proceed without the requested information

Thanks for the replies, I’m working on this now. Added the slots for those interfaces and waiting manual review.

1 Like

Hey @tonyctl,

Could you please update this topic to remove the classic request and proceed with the process for use/auto-connection of desktop-legacy and system-observe based on Process for aliases, auto-connections and tracks ?

Also, could you validate if such interfaces solve your needs?


@tonyctl - ping, can you please provide the requested information?

@tonyctl - ping, this request cannot proceed without the requested information.

@tonyctl - since we’ve not heard back from you, we are removing this request from our review queue. When you have more time to respond, simply do so here and we can add the request back to the queue. Thanks