Answers:
我刚刚在这里回答了一个类似的问题,但这是摘要:
UPower的历史信息存储在中的四个文件中/var/lib/upower/
,您的名称将有所不同,但我的名称为:
./var/lib/upower/history-time-empty-DELL_KP4377-57-22096.dat
./var/lib/upower/history-time-full-DELL_KP4377-57-22096.dat
./var/lib/upower/history-charge-DELL_KP4377-57-22096.dat
./var/lib/upower/history-rate-DELL_KP4377-57-22096.dat
看来/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0
是根据我猜想的信息来汇编此数据,而我猜想是直接从acpi的当前电池状态信息中获取的/proc/acpi/battery/BAT0/info
。
希望这可以帮助。
Ubuntu使用upower
(版本10.4以上)。使用的旧版本DeviceKit-power
(9.10)或HAL
(<9.10)。
关于上流:
UPower是用于枚举功率设备,侦听设备事件以及查询历史记录和统计信息的抽象。系统上的任何应用程序或服务都可以通过系统消息总线访问org.freedesktop.UPower服务。使用PolicyKit限制某些操作(例如挂起系统)。
UPower 曾经被称为DeviceKit-power。由于正式弃用了HAL,因此UPower旨在使大部分HAL成为冗余。
从最后一个链接开始:org.freedesktop.UPower
API有一个,org.freedesktop.UPower.Device
而那个有一个...
GetStatistics ()
GetStatistics (in 's' type, out 'a(dd)' data)
Gets statistics for the power device that may be interesting to show
on a graph in the session.
type: The mode for the statistics. Valid types are charging or discharging.
data: The statistics data for the power device.
Each element contains the following members:
value: The value of the percentage point, usually in seconds
accuracy: The accuracy of the prediction in percent.
提供图表中使用的数据。我认为重新启动/关机时会清除数据,因此它可能是实时的并且没有历史记录。
qdbus --system org.freedesktop.UPower /org/freedesktop/UPower/devices/battery_BAT0 org.freedesktop.UPower.Device.GetStatistics charging
。另一个示例:dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower/devices/battery_BAT0 org.freedesktop.UPower.Device.GetStatistics string:charging