Bug 515145

Summary: Metabug: Location-based services that require GeoClue are not correctly disabled in the UI when the service is disabled
Product: [Applications] systemsettings Reporter: EpicTux123 <EpicTux123>
Component: generalAssignee: Plasma Bugs List <plasma-bugs-null>
Status: CONFIRMED ---    
Severity: task CC: ilikefoss, kde, nate, vlad.zahorodnii
Priority: NOR Keywords: usability
Version First Reported In: 6.5.5   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Bug Depends on: 515221, 515222, 515223    
Bug Blocks:    

Description EpicTux123 2026-01-27 03:24:40 UTC
Hi there,

This is a request for clarification of how Plasma works in regards to the Night Light and Day/Night Cycle features. I opened this against Day/Night Cycle since that is more pertinent, but it also applies to Night Light and other features that use GeoClue.

Even with `geoclue.service` (systemd service) disabled+masked, and even with `/etc/xdg/autostart/geoclue-demo-agent.desktop`, Plasma still seems able to present those two pages without any problems at all, which is interesting.

What does Plasma do to achieve that when the GeoClue service is masked?

I'd propose to make a way so both pages don't work if `geoclue.service` is masked, because.

1. The user has masked it due to security or privacy concerns (e.g. hardening), or;
2. Functionality may be impacted internally if the service is unavailable.

I also ask the same question ("What does Plasma do [...]") for the Plasmoids in the "Background Services" app of "Global Theme Auto-Switcher" and "Location-based System Time Zone". What are their relations to `geoclue.service`, and how can they work without it?

Thanks.
Comment 1 David Redondo 2026-01-27 08:57:15 UTC
You can configure a manual location so why should we hide those pages.
Comment 2 John 2026-01-27 14:32:27 UTC Comment hidden (spam)
Comment 3 Nate Graham 2026-01-27 19:20:37 UTC
EpicTux123:
I think there may be a misunderstanding; this page doesn't actually require location services provided by GeoClue. It can use them optionally if they're available, but, as David Redondo mentioned, you can configure a manual location. In this case, GeoClue is not used. So it would not make sense to make the page "not work" in this case.

If what you're actually trying to report is "I disabled Geoclue but location-based services that require GeoClue failed to become disabled in the UI" then it would be better to phrase it like that. In general bug reports work best when they're reporting bugs, not when they're asking for details about the software architecture or proposing features.

Is that the case?
Comment 4 Nate Graham 2026-01-27 19:21:51 UTC Comment hidden (spam)
Comment 5 EpicTux123 2026-01-28 01:27:15 UTC
Yes, Nate, that is indeed the case. I thought it was using a local copy of GeoClue somehow, but this seems just to be an UI failure to make the option not available. Thanks for the clarification.

I've edited the the bug title in order to better reflect that too.
Comment 6 EpicTux123 2026-01-28 01:31:38 UTC
To fix that, I think the relevant pages and Plasmoids should check if "geoclue.service" is disabled/masked. If so, gray out the unavailable option, and make only the other option available.

In the case of Day Night Cycle, it would be the manual mode.
For Night Light, only manual mode too.

For Background Services app, the "Global Theme Auto-Switcher" and "Location-based System Time Zone" become disabled and greyed out automatically too (based on the same check of the service status).

Thanks.
Comment 7 Nate Graham 2026-01-28 19:25:47 UTC
Can you open a separate bug report for every affected page? This isn't something that can be done centrally; each page needs custom code to handle it. We also need to take into account systemd vs non-systemd use cases; any change here can't assume systemd is being used, since we don't make it a hard dependency.

Let's turn this into a meta-bug to collect the other bug reports you're about to open. When you do, please mark them as blocking this one using the "Blocks" field.

Thanks a lot!
Comment 8 EpicTux123 2026-01-28 20:52:18 UTC
Thanks for your help, Nate. I've done exactly that.
Comment 9 Nate Graham 2026-01-29 14:59:10 UTC
Great job, thanks!