Linux中國

從 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

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國