Casuarina Linux, GNOME
The polkit authentication agent normally built into gnome-shell
does not register itself as org.freedesktop.PolicyKit1.AuthenticationAgent
on the session D-Bus. As a result, any GUI application that requests
privileged action via polkit (e.g. mounting a USB drive in GNOME Files/
Nautilus) silently fails with "Not authorized to perform operation"
instead of showing the expected password prompt.
Steps to reproduce:
1) Fresh Casuarina install with GNOME
2)Plug in a USB device
3)Try to open it in nautilus
4)Get: "Unable to access "volume" — not authorized to perform operation
Is gnome-shell in Casuarina built without the polkit agent integration
(e.g. a meson option disabled), or is this a runtime registration bug? How should i fix it?
gnome-shell built-in polkit authentication agent does not register on session D-Bus
gnome-shell built-in polkit authentication agent does not register on session D-Bus
- wezm
- Project Owner
- Posts: 14
- Joined: Mon Apr 06, 2026 5:26 am
- Location: Sunshine Coast, Queensland, Australia
- Contact:
Re: gnome-shell built-in polkit authentication agent does not register on session D-Bus
patty wrote: Fri Jul 31, 2026 10:41 pmIs gnome-shell in Casuarina built without the polkit agent integration
Not deliberately, but I've noticed this too.
I'm not sure. I haven't sat down to work out what's going on. It basically requires making sure it's built with the necessary support and then stepping through all the parts to see where it falls down.
Re: gnome-shell built-in polkit authentication agent does not register on session D-Bus
A couple of possibilities that occurred to me, though I don't have enough visibility into the packaging side to know which (if either) is right:
Maybe the polkit build in Casuarina's repo doesn't carry the same turnstile-awareness patch that Chimera ships (main/polkit/patches/turnstile.patch), or it's there but landing differently against whatever polkit version Casuarina is currently building.
Or it's carried over fine, but polkit upstream has since added a separate pidfd-based session resolution path (GetUnitByPIDFD / sd_pidfd_get_session, for PID-reuse hardening) that came after the original patch was written, and that new path just never got the same turnstile-skip logic added to it — which could just as easily be true upstream in Chimera too, not something specific to how Casuarina packages it.
Happy to test a patched polkit build if that'd help narrow it down, or if you can point me to where the patch lives in Casuarina's cports fork I can try adding the equivalent check to the pidfd path myself and report back whether it fixes it.
- wezm
- Project Owner
- Posts: 14
- Joined: Mon Apr 06, 2026 5:26 am
- Location: Sunshine Coast, Queensland, Australia
- Contact:
Re: gnome-shell built-in polkit authentication agent does not register on session D-Bus
patty wrote: Tue Aug 04, 2026 7:08 pmMaybe the polkit build in Casuarina's repo doesn't carry the same turnstile-awareness patch that Chimera ships (main/polkit/patches/turnstile.patch), or it's there but landing differently against whatever polkit version Casuarina is currently building.
Casuarina follows the Chimera cports repo (I.e. it is a fork of it and I regularly pull changes across). The only changes are things necessary to make things build. That is to say most patches are carried across and the versions are the same.
patty wrote: Tue Aug 04, 2026 7:08 pmHappy to test a patched polkit build if that'd help narrow it down, or if you can point me to where the patch lives in Casuarina's cports fork I can try adding the equivalent check to the pidfd path myself and report back whether it fixes it.
https://codeberg.org/wezm/glibcports/sr ... it/patches are the patches. It's all unchanged from Chimera. None of the patches are conditionally guarded (e.g #ifndef __GLIBC__) so all are applying, not sure where things are diverging. pkexec works fine, as does mounting filesystems in GNOME Disks.