我正试图让 Redshift 再次工作。它似乎因为 geoclue2 而失败。
这是奇怪的事情。直到今天早些时候,它都运行良好,并且 geoclue 自 12 月 (2.5.2) 以来没有更新。
无论我做什么,我都会不断收到以下信息
geoclue [2905]:查询位置失败:禁止
当我跑步时systemctl status geoclue.service
。
没有任何效果。不降级 redshift 或 geoclue2,甚至不作为 redshiftsudo
进程运行。绝对没有。这一切都以相同的结果结束:禁止。
(是的,我在geoclue.conf
文件中添加了红移/etc/geoclue/geoclue.conf
。)
我正在使用带有 Openbox 和 Xinitrc 的 Arch Linux。
这似乎是 geoclue 使用 Mozilla 定位服务的问题。如果您查看
/etc/geoclue/geoclue.conf
,它会为您提供一个指向 mozilla 定位服务的 URL,包括一个 API 密钥。将此 url 复制到浏览器会返回403: you have exceeded your daily limit
. 我的两台机器上的 API 密钥是相同的,所以我假设它在您的机器上和使用 geoclue 的每个人上也是相同的,并且使用 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
是geoclue.conf
在 Linux Mint 上使用的 api 密钥,它反映了 Geoclue Gitlab 上的默认配置文件。也许 Manjaro/Arch 正在使用带有错误 api 密钥的过时配置文件?