在图形界面下查看你的笔记本电池状态是很容易的,只需将鼠标指向任务栏中的电池图标上,你便可以很容易地知道电池的电量。但如果我们想要从命令行中获得这些信息呢?并不是所有人都知道如何做到这点。前几天我的一个朋友询问我如何从他的 Ubuntu 系统里,在终端中查看他的笔记本电池的电量。这便是我写这篇文章的起因。在本文中我概括了三种简单的方法来让你在任何 Linux 发行版本中从终端查看笔记本电池的状态。
在终端下检查笔记本电池状态
我们可以使用下面的三种方法来从命令行中查找到笔记本电池状态。
方法一 – 使用 upower 命令
upower 命令预装在大多数的 Linux 发行版本中。为了使用 upower 命令来展示电池的状态,打开终端并运行如下命令:
$ upower-i/org/freedesktop/UPower/devices/battery_BAT0
示例输出:
native-path:BAT0
vendor:SamsungSDI
model:DELL7XFJJA2
serial:4448
power supply:yes
updated:Sat12May201806:48:48PM IST(41seconds ago)
has history:yes
has statistics:yes
battery
present:yes
rechargeable:yes
state:charging
warning-level:none
energy:43.3011Wh
energy-empty:0Wh
energy-full:44.5443Wh
energy-full-design:48.84Wh
energy-rate:9.8679W
voltage:12.548V
timeto full:7.6minutes
percentage:97%
capacity:91.2045%
technology:lithium-ion
icon-name:'battery-full-charging-symbolic'
History(charge):
152613112897.000charging
History(rate):
15261311289.868charging
正如你所看到的那样,我的电池正处于充电状态,并且它的电量百分比是 97%。
假如上面的命令因为某些未知原因不起作用,可以尝试使用下面的命令:
$ upower-i`upower -e | grep 'BAT'`
示例输出:
native-path:BAT0
vendor:SamsungSDI
model:DELL7XFJJA2
serial:4448
power supply:yes
updated:Sat12May201806:50:49PM IST(22seconds ago)
has history:yes
has statistics:yes
battery
present:yes
rechargeable:yes
state:charging
warning-level:none
energy:43.6119Wh
energy-empty:0Wh
energy-full:44.5443Wh
energy-full-design:48.84Wh
energy-rate:8.88W
voltage:12.552V
timeto full:6.3minutes
percentage:97%
capacity:91.2045%
technology:lithium-ion
icon-name:'battery-full-charging-symbolic'
History(rate):
15261312498.880charging
upower 不仅可以显示出电池的状态,它还可以显示出已安装电池的其他完整信息,例如电池型号,供应商名称,电池的序列号,电池的状态,电池的电压等信息。
当然,如果你只想显示电池的状态,你可以可以结合使用 upower 命令和grep[1] 命令,具体命令如下:
$ upower-i $(upower-e|grepBAT)|grep--color=never-E'state|to\ full|to\ empty|percentage'
示例输出:
state:fully-charged
percentage:100%
从上面的输出中可以看到我的笔记本电池已经完全充满了。
想知晓更多的细节,可以参看 man 页:
$manupower
方法二 – 使用 acpi 命令
acpi 命令可以用来显示你的 Linux 发行版本中电池的状态以及其他 ACPI 信息。
在某些 Linux 发行版本中,你可能需要安装 acpi 命令。
要在 Debian、 Ubuntu 及其衍生版本中安装它,可以使用如下命令:
$sudoapt-getinstall acpi
在 RHEL、 CentOS、 Fedora 等系统中使用:
$sudoyuminstall acpi
或者使用如下命令:
$sudodnf install acpi
在 Arch Linux 及其衍生版本中使用:
$sudopacman-S acpi
一旦 acpi 安装好后,运行下面的命令:
$ acpi-V
注意: 在上面的命令中, V 是大写字母。
示例输出:
Battery0:Charging,99%,00:02:09untilcharged
Battery0:design capacity4400mAh,lastfull capacity4013mAh=91%
Battery1:Discharging,0%,rate information unavailable
Adapter0:on-line
Thermal0:ok,77.5degrees C
Thermal0:trip point0switches to mode critical at temperature84.0degrees C
Cooling0:Processor0of3
Cooling1:Processor0of3
Cooling2:LCD0of15
Cooling3:Processor0of3
Cooling4:Processor0of3
Cooling5:intel_powerclampnostate information available
Cooling6:x86_pkg_tempnostate information available
首先让我们来检查电池的电量,可以运行:
$ acpi
示例输出:
Battery0:Charging,99%,00:01:41untilcharged
Battery1:Discharging,0%,rate information unavailable
下面,让我们来查看电池的温度:
$ acpi-t
示例输出:
Thermal0:ok,63.5degrees C
如果需要将温度以华氏温标显示,可以使用:
$ acpi-t-f
示例输出:
Thermal0:ok,144.5degrees F
如果想看看交流电适配器是否连接上了没有,可以运行:
$ acpi-a
示例输出:
Adapter0:on-line
假如交流电适配器没有连接上,则你将看到如下的输出:
Adapter0:off-line
想获取更多的信息,可以查看 man 页:
$manacpi
方法三 - 使用 batstat 程序
batstat 是一个基于 ncurses 的命令行小工具,使用它可以在类 Unix 系统中展示笔记本电池状态。它可以展示如下具体信息:◈ 当前电池电量◈ 当前电池所存能量◈ 充满时所存能量◈ 从程序启动开始经历的时间,它不会追踪记录机器休眠的时间◈ 电池电量消耗历史数据
安装 batstat 轻而易举。使用下面的命令来克隆该程序的最新版本:
$gitclonehttps://github.com/Juve45/batstat.git
上面的命令将拉取 batstat 的最新版本并将它的内容保存在一个名为 batstat 的文件夹中。
首先将目录切换到 batstat/bin/ 中:
$cdbatstat/bin/
接着将 batstat 二进制文件复制到 PATH 环境变量中的某个目录中,例如 /usr/local/bin/ 目录:
$sudocpbatstat/usr/local/bin/
使用下面的命令来让它可被执行:
$sudochmod+x/usr/local/bin/batstat
最后,使用下面的命令来查看你的电池状态。
$ batstat
示例输出:
从上面的截图中可以看到我的笔记本电池正处于充电状态。
这个小工具还有某些小的限制。在书写本文之时,batstat 仅支持显示一个电池的相关信息。而且它只从 /sys/class/power_supply/ 目录搜集相关的信息。假如你的电池信息被存放在另外的目录中,则这个小工具就不会起作用了。
想知晓更多信息,可以查看 batstat 的 GitHub 主页[2]。
上面就是今天我要分享的所有内容。当然,可能还有很多其他的命令或者程序来从 Linux 终端检查笔记本的电池状态。据我所知,上面给出的命令都运行良好。假如你知道其他命令来查看电池的状态,请在下面的评论框中让我们知晓。假如你所给出的方法能够起作用,我将对我的这篇文章进行更新。