UPower机制
什么是UPower
UPower是一个用于管理电源的工具,它是Linux桌面环境中的一个组件,负责处理电源管理相关的任务。UPower提供了守护进程、API和一组命令行工具,用于获取系统中关于电池、电源适配器等电源设备的信息,并提供相关的控制功能。
通过UPower,用户可以查询电源设备的状态、剩余电量、是否正在充电等信息。此外,UPower还可以监控电源设备的状态变化,例如当电源适配器被插入或拔出时,UPower会相应地更新电源状态信息。
UPower使用
--enumerate 枚举设备的对象路径1 2 3 4 5 6
| -d, --dump 转储所有对象的所有参数 -w, --wakeups 获取唤醒数据 -m, --monitor 监视来自电源守护程序的活动 --monitor-detail 详细监控 -i, --show-info 显示对象路径信息 -v, --version 打印客户端和守护程序的版本
|
1 2 3 4 5
| # upower -e /org/freedesktop/UPower/devices/battery_BAT /org/freedesktop/UPower/devices/line_power_gpio_charger /org/freedesktop/UPower/devices/DisplayDevice
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| # upower -i /org/freedesktop/UPower/devices/battery_BAT native-path: BAT power supply: yes updated: 2024�年02�月01�日 �星�期�16�嗶46�分28�秒 (2 seconds ago) has history: yes has statistics: yes battery present: yes rechargeable: yes state: charging warning-level: none energy: 26.1206 Wh energy-empty: 0 Wh energy-full: 66.9758 Wh energy-full-design: 0 Wh energy-rate: 15.0017 W voltage: 7.709 V time to full: 2.7 hours percentage: 39% temperature: 25 degrees C capacity: 100% technology: lithium-polymer icon-name: 'battery-good-charging-symbolic' History (rate): 1706777183 15.002 unknown 1706777172 15.000 charging 1706777121 14.990 charging
|
UPower配置
upower的配置文件为:/etc/UPower/UPower.conf
文件字段介绍:
1 2 3 4 5 6 7 8 9 10 11 12
| # 禁用电池轮询,如果是true,将不会轮询电池,也不会接受电池上报信息 NoPollBatteries
# true 隐藏电池面板的话 IgnoreLid
# 使用百分比来决定是否需要执行的行动 UsePercentageForPolicy
# 电池低时采取的行动,默认关机 CriticalPowerAction
|
通过设置,UsePercentageForPolicy字段,Upower有两种模式:
启用:UsePercentageForPolicy=true
当 UsePercentageForPolicy 为 true 时,UPower 将考虑电池电量不足、严重或对严重电池采取措施
根据百分比,UPower将执行的行动
1 2 3 4 5 6
| # 低电量提示 PercentageLow=10 # 严重电量提示 PercentageCritical=3 # 严重电量时,UPower将执行的行动 PercentageAction=2
|
上面配置会在电量低于10时提醒”电池电量低”,低于3时提示“电池电量即将耗尽”,电量为2时关机
禁用:UsePercentageForPolicy=false
当 UsePercentageForPolicy 为 false 时,UPower 的剩余时间会认为电池电量不足、严重或对严重电池电量。
根据剩余时间,UPower将执行的行动
1 2 3 4 5 6
| # 低电量提示 TimeLow=1200 # 严重电量提示 TimeCritical=300 # 严重电量时,UPower将执行的行动 TimeAction=120
|
暂未知,可能和操作时间有关