從 Linux 終端查看筆記本電池狀態和等級的 5 個方法
我們可以輕鬆地通過圖形化界面查看當前電量百分比、是否在充電以及當前電量還可以使用多長時間等電池狀態,但是卻無法查看電池健康度等相關信息。
在這篇文章就是為了解決這些問題。
在 Linux 上有很多這樣的實用工具,而且可以在命令行使用。
這篇文章今天就要探討這個主題,我會盡我所能的覆蓋儘可能多的信息。
每月檢查一次你的電池健康度是一個很好的想法。它可以幫你檢查你當前遇到的問題是否與電池或者充電相關。
同時,我們也可以查看電池模組名稱、電源、廠商以及電池規格等。
電源管理是在不使用時關閉電源或者切換系統的組件到低耗模式的一種功能。
幾種在 Linux 下檢查電池狀態的實用工具
upower
:是一個命令行工具,其提供了羅列系統中電源的介面。acpi
:顯示來自/proc
或者/sys
文件系統中的一些信息,例如電池狀態或者熱量信息。batstat
:是一個為 Linux 列印電池狀態的命令行工具。tlp
:可以為你帶來更高級的電源管理,而無需修改任何配置。class file
:這個 sysfs 文件系統是一個提供了內核數據結構介面的偽文件系統。
如何使用 upower 命令檢查筆記本電池狀態
upower 是一個命令行工具,其提供了羅列系統中電源的介面。它在你的電腦上可以控制不同操作的延遲,這可以為你節省很大一部分電量。
只需要在 Linux 中運行以下命令獲取電池以及它所依賴的其他信息。
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
vendor: SMP
model: L14M4P23
serial: 756
power supply: yes
updated: Monday 03 December 2018 07:56:18 PM IST (95 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: discharging
warning-level: none
energy: 28.23 Wh
energy-empty: 0 Wh
energy-full: 52.26 Wh
energy-full-design: 60 Wh
energy-rate: 10.714 W
voltage: 14.819 V
time to empty: 2.6 hours
percentage: 54%
capacity: 87.1%
technology: lithium-ion
icon-name: 'battery-good-symbolic'
History (charge):
1543847178 54.000 discharging
History (rate):
1543847178 10.714 discharging
使用下面的格式檢查電池的特定信息。
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -i "state|percentage|time to empty"
state: discharging
time to empty: 2.1 hours
percentage: 43%
這個類似於上面的那個,但是是在充電線纜的插入後運行,這也就是為什麼下面會顯示正在充電狀態的原因。
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -i "state|percentage|time to empty"
state: charging
percentage: 41%
如何使用 TLP 命令檢查筆記本電池狀態
TLP 是一個自由開源的多功能的命令行工具,它可以優化筆記本電池而無需修改任何配置。
TLP 可以為你的 Linux 帶來更高級的電源管理,而無需理解任何技術細節。TLP 默認附帶了一個已經為你的電池優化好的配置,所以你可以安裝好後就不再管它了。儘管 TLP 是一個可以根據你的需求高度可定製的工具。
TLP 在絕大多數 Linux 發行版,例如 Arch、Debian、Fedora、Gentoo、openSUSE 等的官方庫中都可用。使用你的 Linux 發行版的包管理安裝 TLP 即可。
只需要在 Linux 中運行以下命令獲取電池以及其他所依賴的信息。
$ sudo tlp-stat -b
--- TLP 1.1 -----------------------------------------
+++ Battery Status
/sys/class/power_supply/BAT0/manufacturer = SMP
/sys/class/power_supply/BAT0/model_name = L14M4P23
/sys/class/power_supply/BAT0/cycle_count = (not supported)
/sys/class/power_supply/BAT0/energy_full_design = 60000 [mWh]
/sys/class/power_supply/BAT0/energy_full = 52260 [mWh]
/sys/class/power_supply/BAT0/energy_now = 21950 [mWh]
/sys/class/power_supply/BAT0/power_now = 10923 [mW]
/sys/class/power_supply/BAT0/status = Discharging
Charge = 42.0 [%]
Capacity = 87.1 [%]
也可以查看其他的信息。
$ sudo tlp-stat -s
--- TLP 1.1 -----------------------------------------
+++ System Info
System = LENOVO Lenovo ideapad Y700-15ISK 80NV
BIOS = CDCN35WW
Release = "Manjaro Linux"
Kernel = 4.19.6-1-MANJARO #1 SMP PREEMPT Sat Dec 1 12:21:26 UTC 2018 x86_64
/proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-4.19-x86_64 root=UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f rw quiet resume=UUID=a2092b92-af29-4760-8e68-7a201922573b
Init system = systemd
Boot mode = BIOS (CSM, Legacy)
+++ TLP Status
State = enabled
Last run = 07:16:12 IST, 4362 sec(s) ago
Mode = battery
Power source = battery```
### 如何使用 ACPI 命令檢查電池狀態
ACPI 代表<ruby>高級配置和電源介面<rt>Advanced Configuration and Power Interface</rt></ruby>模塊,它們是不同 ACPI 部件的內核模塊。它們啟用特殊的 ACPI 函數向 `/proc` 或者 `/sys` 中添加信息。這些信息可以通過事件或者其他監控程序的 acpid 進行解析。
$ acpi Battery 0: Charging, 43%, 01:05:11 until charged 「`
查看電池容量。
$ acpi -i
Battery 0: Charging, 43%, 01:05:07 until charged
Battery 0: design capacity 3817 mAh, last full capacity 3324 mAh = 87%
查看更多有關電池及其相關的信息。
$ acpi -V
Battery 0: Charging, 43%, 01:05:07 until charged
Battery 0: design capacity 3815 mAh, last full capacity 3323 mAh = 87%
Adapter 0: on-line
Cooling 0: Processor 0 of 10
Cooling 1: Processor 0 of 10
Cooling 2: Processor 0 of 10
Cooling 3: iwlwifi 0 of 19
Cooling 4: Processor 0 of 10
Cooling 5: iwlwifi no state information available
Cooling 6: Processor 0 of 10
Cooling 7: Processor 0 of 10
Cooling 8: Processor 0 of 10
Cooling 9: intel_powerclamp no state information available
Cooling 10: x86_pkg_temp no state information available
Cooling 11: Processor 0 of 10
如何使用 Batstat 命令查看筆記本電池狀態
batstat
是一個在 Linux 終端列印電池信息的命令行工具。
Status: Charging
Max energy: 50.00 Wh
Energy left: 24.50 Wh
Power Consumption: 26.40 W
Percentage left: 49.00%
Average power Consumption: 0.00 W
Time elapsed: 0: 0:12 since 49.00%
= Time ======== Percent ============================================
0: 0: 0 49.00%
如何使用 sysfs 文件系統查看筆記本電池狀態
sysfs 文件系統是一個提供了內核數據結構介面的偽文件系統。sysfs 下的文件提供有關設備、內核模塊、文件系統和其他內核組件的信息。
sysfs 文件系統通常掛載在 /sys
。通常來說,它會被系統自動掛載,但是也可以使用例如 mount -t sysfs sysfs /sys
命令進行手動掛載。
在 sysfs 文件系統中的很多文件都是只讀的,但也有一些是可寫的,允許更改內核變數。為了避免冗餘,符號鏈接被大量用於連接文件系統數中的條目。
$ cat /sys/class/power_supply/BAT0/*
0
51
Normal
0
cat: /sys/class/power_supply/BAT0/device: Is a directory
52260000
60000000
26660000
SMP
L14M4P23
cat: /sys/class/power_supply/BAT0/power: Is a directory
27656000
1
756
Charging
cat: /sys/class/power_supply/BAT0/subsystem: Is a directory
Li-ion
Battery
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Charging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=14800000
POWER_SUPPLY_VOLTAGE_NOW=15840000
POWER_SUPPLY_POWER_NOW=27656000
POWER_SUPPLY_ENERGY_FULL_DESIGN=60000000
POWER_SUPPLY_ENERGY_FULL=52260000
POWER_SUPPLY_ENERGY_NOW=26660000
POWER_SUPPLY_CAPACITY=51
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=L14M4P23
POWER_SUPPLY_MANUFACTURER=SMP
POWER_SUPPLY_SERIAL_NUMBER= 756
14800000
15840000
via: https://www.2daygeek.com/check-laptop-battery-status-and-charging-state-in-linux-terminal/
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:dianbanjiu 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive