gnome-power-statistics从何处获取其数据?


14

单击笔记本电脑顶部面板中的电池图标时,将运行Gnome-power-statistics。它显示电池的历史记录,例如充电和充电率,以及统计信息,例如放电曲线和放电精度。

gnome功率统计数据放电曲线

您使用笔记本电脑的次数越多,它显示的数据就越多,并且电池电量耗尽时间的预测就越准确。

那么,gnome-power-statistics是从哪里获得原始历史数据的呢?而且,如果它还保存任何数据,它将保存到哪里?

Answers:


9

我刚刚在这里回答了一个类似的问题,但这是摘要:

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

希望这可以帮助。


4

Ubuntu使用upower(版本10.4以上)。使用的旧版本DeviceKit-power(9.10)或HAL(<9.10)。

关于上流:

UPower是用于枚举功率设备,侦听设备事件以及查询历史记录和统计信息的抽象。系统上的任何应用程序或服务都可以通过系统消息总线访问org.freedesktop.UPower服务。使用PolicyKit限制某些操作(例如挂起系统)。

UPower 曾经被称为DeviceKit-power。由于正式弃用了HAL,因此UPower旨在使大部分HAL成为冗余。

从最后一个链接开始:org.freedesktop.UPowerAPI有一个,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.

提供图表中使用的数据。我认为重新启动/关机时会清除数据,因此它可能是实时的并且没有历史记录。


1
Gnome-power-statistics的图表可以追溯到一周前,在我的情况下,该图表包括重新启动,因此它必须在其他地方获取非实时数据。
drgrog 2012年

1
这是调用该方法的命令示例: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
Lekensteyn 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.