在Linux的终端检查笔记本电脑电池的状态和电量

通过三种方法从命令行找到笔记本电脑的电池状态。

方法1-使用"Upower"命令

大多数Linux发行版中都预装了Upower命令。要使用Upower显示电池状态,请打开终端并运行:$ upower -i /org/freedesktop/UPower/devices/battery_BAT0

示例输出:native-path: BAT0

vendor: Samsung SDI

model: DELL 7XFJJA2

serial: 4448

power supply: yes

updated: Tuesday 01 October 2019 12:50:41 PM IST (101 seconds ago)

has history: yes

has statistics: yes

battery

present: yes

rechargeable: yes

state: fully-charged

warning-level: none

energy: 33.4443 Wh

energy-empty: 0 Wh

energy-full: 33.4443 Wh

energy-full-design: 48.84 Wh

energy-rate: 0.0111 W

voltage: 12.446 V

percentage: 100%

capacity: 68.4773%

technology: lithium-ion

icon-name: 'battery-full-charged-symbolic'

如你所见,电池已充满,电池电量为100%。

如果以上命令因原因不能工作,请尝试使用以下命令:$ upower -i `upower -e | grep 'BAT'`

示例输出:native-path: BAT0

vendor: Samsung SDI

model: DELL 7XFJJA2

serial: 4448

power supply: yes

updated: Tuesday 01 October 2019 12:54:41 PM IST (48 seconds ago)

has history: yes

has statistics: yes

battery

present: yes

rechargeable: yes

state: fully-charged

warning-level: none

energy: 33.4443 Wh

energy-empty: 0 Wh

energy-full: 33.4443 Wh

energy-full-design: 48.84 Wh

energy-rate: 0.0111 W

voltage: 12.446 V

percentage: 100%

capacity: 68.4773%

technology: lithium-ion

icon-name: 'battery-full-charged-symbolic'

Upower不仅显示电池状态,还显示已安装电池的完整详细信息,如型号、供应商名称、序列号、状态、电压等。

也只能通过upower和命令如下所示。$ upower -i $(upower -e | grep BAT) | grep --color=never -E"state|to full|to empty|percentage"

示例输出:state: fully-charged

percentage: 100

正如你在上述输出中看到的,笔记本电脑电池已充满电。

有关详细信息,请参阅手册页。$ man upower

方法2-使用"acpi"命令

ACPI命令在你的Linux发行版中显示电池状态和其他ACPI信息。

你需要在一些Linux发行版中安装acpi命令。

关于Arch Linux及它导数:$ sudo pacman -S acpi

要在Debian上安装acpi,Ubuntu及它衍生工具:$ sudo apt-get install acpi

在RHEL,CentOS,Fedora上:$ sudo yum install acpi

或者$ sudo dnf install acpi

安装acpi后,运行以下命令:$ acpi -V

注意:这里,"V"是大写字母。

示例输出:Battery 0: Discharging, 98%, 01:43:14 remaining

Battery 0: design capacity 4400 mAh, last full capacity 3013 mAh = 68%

Battery 1: Discharging, 0%, rate information unavailable

Adapter 0: off-line

Thermal 0: ok, 60.5 degrees C

Thermal 0: trip point 0 switches to mode critical at temperature 84.0 degrees C

Cooling 0: Processor 0 of 3

Cooling 1: intel_powerclamp no state information available

Cooling 2: Processor 0 of 3

Cooling 3: x86_pkg_temp no state information available

Cooling 4: Processor 0 of 3

Cooling 5: LCD 0 of 15

Cooling 6: Processor 0 of 3

只检查电池的充电状态,为此,运行:$ acpi

示例输出:Battery 0: Discharging, 98%, 01:48:14 remaining

Battery 1: Discharging, 0%, rate information unavailable

检查电池温度:$ acpi -t

示例输出:Thermal 0: ok, 58.5 degrees C

我们可以使用-f标志在华氏中查看上面的输出:$ acpi -t -f

示例输出:Thermal 0: ok, 144.5 degrees F

想知道交流电源是否连接?简单,只需运行以下命令:$ acpi -a

示例输出:Adapter 0: on-line

如果交流电源不可用,你将看到以下内容:Adapter 0: off-line

有关详细信息,请查看手册页。$ man acpi

方法3:使用"cat"和"find"命令

可以使用cat和find命令来显示电池的详细信息。

要仅知道电池容量,请运行:$ cat /sys/class/power_supply/BAT0/capacity

示例输出:89

这里,电池电量是89%。

有关电池的所有详细信息,命令为:$ find /sys/class/power_supply/BAT0/ -type f | xargs -tn1 cat

示例输出:cat /sys/class/power_supply/BAT0/uevent

POWER_SUPPLY_NAME=BAT0

POWER_SUPPLY_STATUS=Discharging

POWER_SUPPLY_PRESENT=1

POWER_SUPPLY_TECHNOLOGY=Li-ion

POWER_SUPPLY_CYCLE_COUNT=0

POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000

POWER_SUPPLY_VOLTAGE_NOW=11646000

POWER_SUPPLY_CURRENT_NOW=1905000

POWER_SUPPLY_CHARGE_FULL_DESIGN=4400000

POWER_SUPPLY_CHARGE_FULL=3013000

POWER_SUPPLY_CHARGE_NOW=2696000

POWER_SUPPLY_CAPACITY=89

POWER_SUPPLY_CAPACITY_LEVEL=Normal

POWER_SUPPLY_MODEL_NAME=DELL 7XFJJA2

POWER_SUPPLY_MANUFACTURER=Samsung SDI

POWER_SUPPLY_SERIAL_NUMBER= 4448

cat /sys/class/power_supply/BAT0/charge_full_design

4400000

cat /sys/class/power_supply/BAT0/serial_number

4448

cat /sys/class/power_supply/BAT0/technology

Li-ion

cat /sys/class/power_supply/BAT0/current_now

1905000

cat /sys/class/power_supply/BAT0/charge_now

2696000

cat /sys/class/power_supply/BAT0/present

1

cat /sys/class/power_supply/BAT0/power/runtime_active_time

0

cat /sys/class/power_supply/BAT0/power/runtime_active_kids

0

cat /sys/class/power_supply/BAT0/power/runtime_usage

0

cat /sys/class/power_supply/BAT0/power/runtime_status

unsupported

cat /sys/class/power_supply/BAT0/power/autosuspend_delay_ms

cat: /sys/class/power_supply/BAT0/power/autosuspend_delay_ms: Input/output error

cat /sys/class/power_supply/BAT0/power/async

disabled

cat /sys/class/power_supply/BAT0/power/runtime_suspended_time

0

cat /sys/class/power_supply/BAT0/power/runtime_enabled

disabled

cat /sys/class/power_supply/BAT0/power/control

auto

cat /sys/class/power_supply/BAT0/manufacturer

Samsung SDI

cat /sys/class/power_supply/BAT0/type

Battery

cat /sys/class/power_supply/BAT0/charge_full

3013000

cat /sys/class/power_supply/BAT0/capacity

89

cat /sys/class/power_supply/BAT0/cycle_count

0

cat /sys/class/power_supply/BAT0/voltage_now

11646000

cat /sys/class/power_supply/BAT0/status

Discharging

cat /sys/class/power_supply/BAT0/alarm

0

cat /sys/class/power_supply/BAT0/model_name

DELL 7XFJJA2

cat /sys/class/power_supply/BAT0/voltage_min_design

11100000

cat /sys/class/power_supply/BAT0/capacity_level

Normal

方法4:使用"Batstat"程序

batstat是一个基于ncurses的CLI程序,用于在类unix系统中显示你的笔记本电脑电池状态,显示以下详细信息:当前电池电量

电流能量

全电荷能量

从程序开始运行的时间,不跟踪计算机的睡眠时间,

电池级别历史记录

安装batstat是小菜一碟。

git clone使用命令的最新版本:$ git clone https://github.com/Juve45/batstat.git

上面的命令将下载最新的batstat版本,并将它内容保存在名为"batstat"的文件夹中。

Cd到batstat/bin/目录:$ cd batstat/bin/

将"batstat"二进制文件复制到路径,例如/usr/local/bin/。$ sudo cp batstat /usr/local/bin/

使用命令使它可执行:$ sudo chmod +x /usr/local/bin/batstat

最后,运行以下命令查看电池状态。$ batstat

有关详细信息,请查看batstat github页面。

方法5:使用"battery-level-cli"程序

battery-level-cli是另一个命令行程序,用于在Linux中显示电池电量,和"batstat"程序不同,它只显示电池电量,它是用NodeJS编写的,所以请确保你的系统安装了NodeJS,如果未安装nodejs,请参考以下命令了解如何安装它。

安装NodeJS后,请执行以下命令安装"battery-level-cli"程序:$ npm install --global battery-level-cli

现在,你可以使用命令查看电池电量:$ battery-level

100%

有关详细信息,请检查项目的GitHub存储库:

结论

在Linux中,可能还有很多命令和程序可以从终端检查笔记本电脑的电池状态,据我所知,上面给出的方法都可以工作正常,如果你知道一些其他命令/程序来了解电池状态,请在下面的评论部分告诉我。

Logo

更多推荐