麒麟OS V10 SP1的电源策略由org.ukui.power-manager统一控制,需用gsettings命令查看核心参数:插电/电池下的屏幕关闭与休眠时间、合盖动作、电源键行为;图形界面不完整且不同步,真实值以gsettings为准。

直接查当前电源策略的gsettings值
麒麟OS(特别是V10 SP1系列)的电源行为不是靠传统Windows式的“电源计划”文件管理,而是由org.ukui.power-manager这个GSettings schema统一控制。想看系统默认怎么设置的,别翻图形界面——它常滞后、不完整,甚至不显示真实生效值。
打开终端,执行这组命令就能拿到全部关键参数:
-
gsettings get org.ukui.power-manager sleep-display-ac→ 插电时屏幕关闭秒数(如600代表10分钟) -
gsettings get org.ukui.power-manager sleep-display-battery→ 电池下屏幕关闭秒数 -
gsettings get org.ukui.power-manager sleep-computer-ac→ 插电时整机休眠秒数(uint32 0表示禁用) -
gsettings get org.ukui.power-manager lid-close-ac-action→ 合盖插电时动作(常见值:'suspend'、'blank'、'nothing') -
gsettings get org.ukui.power-manager power-button-action→ 电源键行为('interactive'会弹确认框,'suspend'直接休眠)
注意:gsettings list-recursively org.ukui.power-manager能列出所有相关项,但很多是内部用或已废弃,优先盯住上面5个核心项。
为什么图形界面看到的和gsettings不一致
UKUI桌面的“设置→电源”面板只是部分参数的前端封装,它不读写全部schema字段,也不实时同步D-Bus后端状态。比如sleep-computer-battery在界面上可能根本没入口,但gsettings里一定存在;又比如你改完合盖行为,界面上选项可能还灰着,实际已生效。
- 图形界面修改后,有时需注销重登录才刷新gsettings缓存
- 某些策略(如禁止休眠)必须用
gsettings set org.ukui.power-manager sleep-computer-ac 0,界面上选“从不”可能只设成3600(1小时),并非真正禁用 - 新创建用户不会继承你当前用户的gsettings值——这是模板配置要解决的痛点,不是bug
查看电池健康与实时功耗的可靠命令
电源策略是“人定的规则”,而电池状态是“设备说的实话”。想验证策略是否起效、或排查异常掉电,得绕过UKUI面板,直连底层服务。
- 先用
upower --enumerate找到电池路径(通常是/org/freedesktop/UPower/devices/battery_Battery或battery_BAT0) - 再用
upower -i [路径]查实时数据:重点关注state(discharging/charging)、percentage、time to empty(仅放电时有值)、capacity(健康度,=energy-full/energy-full-design× 100%) - 如果需要长期监控或分析衰减趋势,装
tlp:sudo apt install tlp,然后sudo tlp-stat -b可输出更精确的充放电循环、设计容量对比
upower数据来自内核power_supply子系统,比UKUI面板里那个“剩余时间预估”靠谱得多——后者常因负载突变失准,前者是硬采样。
模板化配置的真正难点:用户上下文隔离
很多人以为写个开机脚本gsettings set ...就一劳永逸,结果发现新建用户还是默认策略。这是因为gsettings作用域分三层:user(当前登录用户)、session(当前GNOME/UKUI会话)、system(全局,需root且Kylin默认未启用)。
- 普通脚本只能改当前用户,对
/etc/skel或新用户无效 - 想让所有用户(包括未来新建的)生效,必须用
dconf的系统级锁:把配置写入/etc/dconf/db/local.d/00-power-policy,再运行dconf update - 但Kylin V10 SP1默认没开
dconf系统数据库,得先确认/etc/dconf/db/下是否有local.d目录,没有就得手动建并配/etc/dconf/db/local.d.locks
这个环节最容易卡住:看似命令都执行成功,重启后新用户还是老样子——八成是dconf数据库没真正加载,而不是gsettings写错了。

















