gnome-shell built-in polkit authentication agent does not register on session D-Bus

Help with installing or using Casuarina Linux.


Post Reply
patty
Posts: 3
Joined: Fri Jul 31, 2026 10:31 pm

gnome-shell built-in polkit authentication agent does not register on session D-Bus

Post by patty »

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?

User avatar
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

Post by wezm »

patty wrote: Fri Jul 31, 2026 10:41 pm

Is gnome-shell in Casuarina built without the polkit agent integration

Not deliberately, but I've noticed this too.

patty wrote: Fri Jul 31, 2026 10:41 pm

How should i fix it?

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.

patty
Posts: 3
Joined: Fri Jul 31, 2026 10:31 pm

Re: gnome-shell built-in polkit authentication agent does not register on session D-Bus

Post by patty »

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.

User avatar
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

Post by wezm »

patty wrote: Tue Aug 04, 2026 7:08 pm

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.

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 pm

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.

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.

Post Reply