我正在尝试让 Redshift 再次工作。而且由于 geoclue2 似乎失败了。
这是奇怪的事情。直到今天早些时候,它都运行得很好,而且自 12 月(2.5.2)以来,geoclue 就没有更新过。
无论我做什么,我都会不断得到以下信息
geoclue[2905]:无法查询位置:禁止
当我跑步时systemctl status geoclue.service
。
没有什么作品。不降级 redshift 或 geoclue2,甚至不作为sudo
redshift 进程运行。绝对没有。这一切最终都会导致同一个结果:被禁止。
(是的,我已将 redshift 添加到geoclue.conf
文件中/etc/geoclue/geoclue.conf
。)
我正在使用带有 Openbox 和 Xinitrc 的 Arch Linux。
答案1
这似乎是 geoclue 使用 Mozilla 定位服务的问题。如果您查看/etc/geoclue/geoclue.conf
,它会为您提供 Mozilla 位置服务的 URL,其中包括 API 密钥。将此 url 复制到浏览器会返回403: you have exceeded your daily limit
.我的两台机器上的 API 密钥是相同的,因此我假设您的机器上以及使用 geoclue 的每个人上的 API 密钥也相同,并且使用 geoclue 的人数现在足够多,以至于他们用完了所有可用的 API 调用。
我在 geoclue gitlab 上找到了一个错误报告,https://gitlab.freedesktop.org/geoclue/geoclue/issues/101,我也会在那里建议这个。
同时,您可以按照 中的说明/etc/geoclue/geoclue.conf
使用 Google 的位置服务。这对我有用,现在 Redshift 又可以正常工作了!
编辑:如果您想继续使用 Mozilla 的位置服务但遇到此问题,请尝试编辑该url=...
行,以便?key=geoclue
将key=(random hex value)
.我发现这geoclue
是 Linux Mint 上使用的 api 密钥geoclue.conf
,它反映了 Geoclue Gitlab 上找到的默认配置文件。也许 Manjaro/Arch 使用的是过时的配置文件和错误的 api 密钥?