本篇介紹如何在 Linux 系統上使用指令的方式查詢筆記型電腦的電池狀態。

在 Linux 系統中,有關於電池以及 ACPI 的資訊都放在 /proc/sys 底下,若要查看裡面的資料,可以使用各種的指令或是圖形介面(GUI)的工具,以下是相關指令與工具的使用教學。

upower 指令

UPower 的 upower 命令列工具可以列出所有的電源資訊,亦用來查詢電池的相關資料。

# 查詢電池資訊
upower -i /org/freedesktop/UPower/devices/battery_BAT0
  native-path:          BAT0
  vendor:               ASUSTeK
  model:                ASUS Battery
  power supply:         yes
  updated:              2018年07月14日 (週六) 15時11分00秒 (18 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    energy:              28.853 Wh
    energy-empty:        0 Wh
    energy-full:         43.901 Wh
    energy-full-design:  48.336 Wh
    energy-rate:         10.944 W
    voltage:             11.4 V
    time to empty:       2.6 hours
    percentage:          65%
    capacity:            90.8246%
    technology:          lithium-ion
    icon-name:          'battery-full-symbolic'
  History (charge):
    1531465860	65.000	discharging
    1531490219	0.000	unknown
    1531480242	0.000	unknown
  History (rate):
    1531465860	10.944	discharging
    1531490219	0.000	unknown
    1531480242	0.000	unknown

acpi 指令

acpi 指令可以從 /proc/sys 底下抓出電池的相關資訊,以及一些 ACPI 的訊息。

若您的系統沒有安裝 acpi 指令,可以透過內建的套件管理程式安裝:

# 使用 yum 安裝(CentOS 等)
sudo yum install acpitool

# 使用 apt 安裝(Ubuntu、Debian 等)
sudo apt install acpitool

安裝好之後,直接執行這個指令就會得到簡短扼要的電量訊息:

acpi
Battery 0: Discharging, 60%, 02:30:52 remaining

使用 -a 參數可以查看直流變壓器(AC adapter)的狀況:

# 直流變壓器狀況
acpi -a
Adapter 0: off-line

若要查詢溫度,可以使用 -t 參數:

# 查詢溫度
acpi -t
Thermal 0: ok, 45.0 degrees C

使用 -V 參數可以讓它輸出所有的資訊:

# 所有資訊
acpi -V
Battery 0: Discharging, 60%, 02:09:55 remaining
Battery 0: design capacity 4240 mAh, last full capacity 3850 mAh = 90%
Adapter 0: off-line
Thermal 0: ok, 44.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 103.0 degrees C
Thermal 0: trip point 1 switches to mode passive at temperature 102.0 degrees C
Cooling 0: x86_pkg_temp no state information available
Cooling 1: B0D4 no state information available
Cooling 2: GEN4 no state information available
Cooling 3: GEN3 no state information available
Cooling 4: GEN2 no state information available
Cooling 5: GEN1 no state information available
Cooling 6: INT3400 Thermal no state information available
Cooling 7: intel_powerclamp no state information available
Cooling 8: Processor 0 of 3
Cooling 9: Processor 0 of 3
Cooling 10: Processor 0 of 3
Cooling 11: Processor 0 of 3

/sys 目錄

我們也可以直接在 /sys/class/power_supply/BAT0/ 目錄底下,查看電池的相關資訊:

# /sys 底下的電池資訊
ls -l /sys/class/power_supply/BAT0/

/sys 底下的電池資訊

例如 capacity 這個檔案就記錄了電池的電量:

cat /sys/class/power_supply/BAT0/capacity
53

GNOME 電源統計

若想要使用圖形介面的工具,可以使用 GNOME 內建的電源統計:

gnome-power-statistics

在 GNOME 電源統計的報表中,看到的資訊跟上面的指令差不多:

GNOME 電源統計

這裡還有電池的歷史紀錄功能,非常好用。

電池歷史紀錄

參考資料:nixCraft