You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gsettings创建Gnome Clocks闹钟后界面不显示的问题求助

用gsettings创建GNOME Clocks闹钟后界面不显示的解决方法

问题重现步骤

  • 通过GNOME Clocks界面创建测试闹钟
  • 用gsettings读取当前闹钟配置:
gsettings get org.gnome.clocks alarms
[{'name': <'test for so'>, 'id': <'01da159f5b290d7b8c2e885c65088901'>, 'active': <true>, 'hour': <13>, 'minute': <41>, 'days': <@ai []>, 'snooze_minutes': <10>, 'ring_minutes': <5>}]
  • 通过界面删除该闹钟,验证配置已清空:
gsettings get org.gnome.clocks alarms
@aa{sv} []
  • 用新ID通过gsettings写入闹钟配置:
gsettings set org.gnome.clocks alarms "[{'name': <'test for so'>, 'id': <'4e52429bb11746d39dcbe566597c3c8a'>, 'active': <true>, 'hour': <13>, 'minute': <41>, 'days': <@ai []>, 'snooze_minutes': <10>, 'ring_minutes': <5>}]"
  • 读取配置确认已保存,但GNOME Clocks界面完全不显示该闹钟。

原因分析

GNOME Clocks运行时会将闹钟配置加载到内存,直接通过gsettings修改配置后,应用不会自动刷新读取新配置;同时部分GNOME应用依赖D-Bus信号同步配置变更,直接修改gsettings数据库不会触发这类信号,导致界面与底层配置不同步。

解决方法

方法1:重启GNOME Clocks进程

关闭所有GNOME Clocks窗口,在终端执行:

killall gnome-clocks

重新打开GNOME Clocks后,新配置会被加载,闹钟即可显示。

方法2:通过D-Bus触发配置刷新

无需重启应用,直接通过D-Bus接口设置闹钟并触发刷新:

gdbus call --session --dest org.gnome.clocks --object-path /org/gnome/clocks --method org.freedesktop.DBus.Properties.Set org.gnome.clocks Alarms "<@aa{sv} [{'name': <'test for so'>, 'id': <'4e52429bb11746d39dcbe566597c3c8a'>, 'active': <true>, 'hour': <13>, 'minute': <41>, 'days': <@ai []>, 'snooze_minutes': <10>, 'ring_minutes': <5>}]"

执行后可直接在界面看到新闹钟。

方法3:确保ID为标准UUID格式

GNOME Clocks的闹钟ID要求为UUID格式,建议用系统工具生成标准ID:

uuidgen

将生成的UUID替换命令中的ID后,再执行配置写入操作。

内容的提问来源于stack exchange,提问作者Tyler Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 15:47:31