UPower机制

什么是UPower

UPower是一个用于管理电源的工具,它是Linux桌面环境中的一个组件,负责处理电源管理相关的任务。UPower提供了守护进程、API和一组命令行工具,用于获取系统中关于电池、电源适配器等电源设备的信息,并提供相关的控制功能。

通过UPower,用户可以查询电源设备的状态、剩余电量、是否正在充电等信息。此外,UPower还可以监控电源设备的状态变化,例如当电源适配器被插入或拔出时,UPower会相应地更新电源状态信息。

UPower使用

  • upower –help
    查看帮助信息

    --enumerate 枚举设备的对象路径
    1
    2
    3
    4
    5
    6
    -d, --dump 转储所有对象的所有参数
    -w, --wakeups 获取唤醒数据
    -m, --monitor 监视来自电源守护程序的活动
    --monitor-detail 详细监控
    -i, --show-info 显示对象路径信息
    -v, --version 打印客户端和守护程序的版本
  • upower -e
    查看当前电池相关的设备

    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

  • upower -i
    显示电池相关设备的信息

    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

暂未知,可能和操作时间有关