#时区 #systemd #dbus #zoneinfo #geoclue

app automatic-timezoned

根据位置自动更新系统时区

184 个稳定版本

2.0.30 2024 年 8 月 15 日
2.0.26 2024 年 7 月 31 日
2.0.10 2024 年 3 月 25 日
1.0.152 2024 年 2 月 18 日
1.0.4 2022 年 7 月 30 日

#195Unix API

Download history 151/week @ 2024-04-29 133/week @ 2024-05-06 7/week @ 2024-05-13 176/week @ 2024-05-20 179/week @ 2024-06-03 211/week @ 2024-06-10 171/week @ 2024-06-17 646/week @ 2024-06-24 50/week @ 2024-07-01 490/week @ 2024-07-08 319/week @ 2024-07-22 313/week @ 2024-07-29 218/week @ 2024-08-05

855 每月下载量

GPL-3.0 许可证

51KB
111

自动时区守护进程

Crates.io Build Status dependency status

一个 Linux 守护进程,根据位置自动更新系统时区。

工作原理

  1. 从 GeoClue 获取当前位置
  2. 使用 tzf-rs 确定当前位置的时区
  3. 通过 systemd-timedated 更新时区
  4. 然后,守护进程等待 GeoClue 的位置更新信号,并在接收到信号时从步骤 1 重新开始

注意:由于 tzf-rs 使用简化的形状数据,如果非常接近时区边界,时区选择可能不准确。

要求

请参阅 examples/ 目录以获取示例配置。

配置

$ automatic-timezoned --help
Automatically update system timezone based on location

Usage: automatic-timezoned [OPTIONS]

Options:
  -l, --log-level <LOG_LEVEL>  Log level filter. See <https://docs.rs/env_logger> for syntax [env: AUTOTZD_LOG_LEVEL=] [default: info]
  -h, --help                   Print help
  -V, --version                Print version

软件包

Packaging status

开发

构建

cargo build --release

测试

cargo test

替代方案

此服务依赖于 tzf-rs 软件包,该软件包包含时区和它们的地理边界,以下是不同的性能和准确性权衡的替代方案。

许可证

GNU 通用公共许可证 v3.0

依赖

~20–31MB
~309K SLoC