วิธีตรวจสอบแบตเตอรี่แล็ปท็อป Linux จาก Command Line

เผยแพร่แล้ว: 2022-08-20
แล็ปท็อป Linux แสดง bash prompt
fatmawati achmad zaenuri/Shutterstock.com

คอมพิวเตอร์แล็ปท็อปให้คุณทำงานได้ทุกที่ที่ต้องการ ตราบใดที่แบตเตอรี่แล็ปท็อปของคุณยังมีอายุการใช้งาน ต่อไปนี้คือวิธีตรวจสอบแบตเตอรี่ของคุณบนบรรทัดคำสั่ง Linux

แบตเตอรี่แล็ปท็อป

ถอดปลั๊กจากอะแดปเตอร์ AC หลัก แล็ปท็อปของคุณต้องพึ่งพาแบตเตอรี่ในทุกสิ่งอย่างสมบูรณ์ การเปิดหน้าจอ การใช้ฮาร์ดไดรฟ์ การเข้าถึง Wi-Fi และการอ่านข้อมูลของผู้ใช้ ทั้งหมดหยุดชะงักลงหากแบตเตอรี่ของคุณใช้งานไม่ได้

ผู้ผลิตไม่เห็นด้วยว่าการเสียบปลั๊กโน้ตบุ๊กไว้ตลอดเวลาเป็นสิ่งที่ดีหรือไม่ดี หากคุณไม่ต้องการทำเช่นนั้น โดยปกติแล้วแล็ปท็อปของคุณจะไม่มีประจุแบตเตอรี่ 100% เมื่อคุณออกไปกับมัน

ฉันควรเสียบแล็ปท็อปทิ้งไว้ตลอดเวลาหรือไม่
ที่เกี่ยวข้อง ฉันควรเสียบแล็ปท็อปทิ้งไว้ตลอดเวลาหรือไม่

แบตเตอรี่ลดลงตลอดอายุการใช้งานเช่นกัน ดังนั้นแบตเตอรี่รุ่นเก่าจึงไม่สามารถเก็บประจุไว้เท่าเดิมเมื่อเป็นแบตเตอรี่ใหม่ และไม่น่าเป็นไปได้มากที่แม้ในขณะที่ยังใหม่ คุณจะได้รับสิ่งที่ผู้ผลิตอ้างสิทธิ์ในโฆษณาของตน

การรู้ว่าคุณต้องจับตาดูการชาร์จแบตเตอรี่เป็นส่วนหนึ่งของการใช้แล็ปท็อปอย่างแน่นอน นั่นไม่มีอะไรใหม่ แต่ถ้าคุณต้องการตรวจสอบแบตเตอรี่จากบรรทัดคำสั่งล่ะ

บางทีคุณอาจกำลังเชื่อมต่อกับแล็ปท็อปจากระยะไกลในบ้านโดยใช้ SSH และจำไม่ได้ว่าเสียบปลั๊กหรือใช้แบตเตอรี่อยู่หรือไม่ บางทีคุณอาจใช้แล็ปท็อปเป็นเซิร์ฟเวอร์ที่ไม่มี GUI หรือตัวจัดการหน้าต่างแบบเรียงต่อกัน และคุณไม่มีการชาร์จแบตเตอรี่บนหน้าจอ

ความสามารถในการค้นหาสถานะพลังงานของแล็ปท็อปของคุณที่บรรทัดคำสั่งหมายความว่าคุณสามารถรวมเทคนิคเหล่านั้นไว้ในสคริปต์ได้เช่นกัน

ตรวจสอบแบตเตอรี่ของคุณด้วย upower

คำสั่ง upower สามารถใช้เพื่อค้นหาว่าแล็ปท็อปของคุณมีแหล่งจ่ายไฟหลักและแหล่งแบตเตอรี่ใดบ้าง เมื่อคุณพบพวกเขาแล้ว คุณสามารถขอรายละเอียดเพิ่มเติมได้

ตัวเลือก -e (ระบุ) แสดงรายการแหล่งพลังงานทั้งหมดที่หาได้

 upower -e 

รายการอุปกรณ์ไฟฟ้าที่มี upower

รายการแรกสำหรับอะแดปเตอร์ AC ประการที่สองคือแบตเตอรี่ คุณอาจพบว่าคุณมีแบตเตอรี่หลายก้อนในแล็ปท็อปของคุณ นอกจากนี้ โปรดทราบว่าบางครั้งแบตเตอรี่ก้อนแรกจะมีหมายเลขหนึ่ง และบางครั้งก็มีหมายเลขเป็นศูนย์ ตามความต้องการของผู้ผลิต

รายการ “DisplayDevice” ไม่ใช่แหล่งพลังงาน เป็นอุปกรณ์คอมโพสิตที่แสดงไอคอนสถานะเพื่อแสดงในสภาพแวดล้อมเดสก์ท็อป

ในการตรวจสอบแบตเตอรี่ของเราอย่างละเอียดยิ่งขึ้น เราจะใช้ตัวเลือก -i (ข้อมูล) และส่งคำอธิบายแบบเต็มสำหรับแบตเตอรี่

 upower -i /org/freedesktop/UPower/devices/battery_BAT1 

ตรวจสอบแบตเตอรี่ด้วย upower

สองรายการที่น่าสนใจที่สุดคือค่า "Time to Empty" และค่า "Percentage" สิ่งเหล่านี้บ่งบอกถึงระยะเวลาที่แบตเตอรี่สามารถจ่ายไฟให้กับแล็ปท็อปต่อไปได้ และเปอร์เซ็นต์ของประจุที่เหลืออยู่ในแบตเตอรี่

เอาท์พุตจาก upower โดยถอดอะแดปเตอร์ AC ออก

จุดสำคัญที่ควรทราบคือระยะเวลาเกี่ยวข้องกับกิจกรรมปัจจุบันของแล็ปท็อป หากการโหลดบนแล็ปท็อปเพิ่มขึ้น ระยะเวลานั้นจะลดลง

การใช้แล็ปท็อปทดสอบของเราจากระยะไกลผ่านการเชื่อมต่อ SSH หมายความว่าไม่ได้ใช้งานจอแสดงผลในตัวของแล็ปท็อป เว้นว่างไว้โดยอัตโนมัติหลังจากช่วงเวลาสั้นๆ เมื่อหน้าจอว่างเปล่า อายุการใช้งานแบตเตอรี่ของแล็ปท็อปก็ยาวนานกว่าเวลาที่หน้าจอสว่างขึ้นกว่าหนึ่งชั่วโมง

หากเชื่อมต่ออะแดปเตอร์ AC ข้อมูลที่ส่งคืนโดย upower จะแตกต่างกันเล็กน้อย

 upower -i /org/freedesktop/UPower/devices/battery_BAT1 

เอาต์พุตจาก upower โดยเสียบอะแดปเตอร์ AC ไว้

ค่า "Time to Empty" ถูกแทนที่ด้วยค่า "Time to Full" ซึ่งเป็นเวลาที่เหลือก่อนที่แบตเตอรี่จะถึง 100% ค่า "ชื่อไอคอน" ได้เปลี่ยนเป็น "สัญลักษณ์การชาร์จแบตเตอรี่เต็มแล้ว" ซึ่งสะท้อนถึงการมีอยู่ของไฟหลัก

เราสามารถดูอะแดปเตอร์ AC ได้ลึกขึ้นด้วย

 upower -i /org/freedesktop/UPower/devices/line_power_ACAD 

ตรวจสอบอะแดปเตอร์ AC ด้วย upower โดยเสียบอะแดปเตอร์ไว้

ค่า "ออนไลน์" จะแสดง "ใช่" หากเสียบอะแดปเตอร์ AC และ "ไม่" หากไม่ได้เสียบปลั๊ก

ตรวจสอบอะแดปเตอร์ AC ด้วย upower โดยถอดอะแดปเตอร์ออก

ตรวจสอบเนื้อหาของ /sys/class/power_supply/

บนแล็ปท็อป ไดเร็กทอรี “/sys/class/power_supply/” มีข้อมูลที่เราสามารถนำมาใช้ให้เกิดประโยชน์ได้ ไดเร็กทอรีย่อยสองรายการ—“ACAD” และ “BAT1”—มีข้อมูลที่เราสามารถอ้างอิงเพื่อตรวจสอบความจุของแบตเตอรี่และเสียบอะแดปเตอร์ AC หรือไม่

โปรดทราบว่าไดเรกทอรีย่อยของแบตเตอรี่อาจเรียกว่า "BAT0" บนแล็ปท็อปของคุณ หากคุณมีแบตเตอรี่หลายก้อนติดตั้งอยู่ในแล็ปท็อป คุณจะมีไดเรกทอรีย่อยของแบตเตอรี่หลายรายการ

ไฟล์ชื่อ "ออนไลน์" ในไดเร็กทอรีย่อย "ACAD" จะเก็บหลักหนึ่งไว้หากเสียบอะแดปเตอร์ AC และเลขศูนย์ถ้าไม่ใช่

ไฟล์ชื่อ "ความจุ" ในไดเร็กทอรีย่อย "BAT1" จะเก็บค่าของสถานะการชาร์จแบตเตอรี่ไว้

 ls /sys/class/power_supply/
 cat /sys/class/power_supply/ACAD/online
 cat /sys/class/power_supply/BAT1/ความจุ 

ตรวจสอบไฟล์ออนไลน์และความจุด้วย cat

แล็ปท็อปเครื่องนี้เสียบอะแดปเตอร์ AC และประจุแบตเตอรี่อยู่ที่ 81%

เนื่องจากค่าทั้งสองนี้นำเสนออย่างตรงไปตรงมาและไม่มีการตกแต่ง จึงเหมาะอย่างยิ่งสำหรับใช้ในสคริปต์

สมมติว่าคุณมีสคริปต์สำรองที่คุณต้องการให้ทำงานเฉพาะเมื่อมีไฟ AC หรือประจุแบตเตอรี่มากกว่า 70% ต้นขั้วของสคริปต์นี้แสดงให้เห็นว่าคุณจะบรรลุเป้าหมายได้อย่างไร

 #!/bin/bash

charge_level="$(cat /sys/class/power_supply/BAT1/ความจุ)"

ac_adapter="$(cat /sys/class/power_supply/ACAD/online)"

ถ้า [[ ac_adapter -eq 0 ]]; 

แล้ว 

  ถ้า [[ charge_level < 70 ]]; 

  แล้ว 

    echo "แบตเตอรี่สำรองไม่เพียงพอ:" $charge_level 

  อื่น 

    echo "ประจุแบตเตอรี่เพียงพอ กำลังเริ่มสำรอง:" $charge_level 

  fi 

อื่น

  echo "เปิดไฟหลัก กำลังเริ่มสำรอง" 

fi

สคริปต์รับค่าจากสองไฟล์และเก็บไว้ในตัวแปร charge_level และ ac_adapter

หากไม่ได้เสียบอะแดปเตอร์ AC ไว้ ค่าใน ac_adapter จะเป็นศูนย์ หากเป็นกรณีนี้ สคริปต์จะตรวจสอบการชาร์จแบตเตอรี่ใน charge_level หากประจุแบตเตอรี่เกิน 70% การสำรองข้อมูลจะทำงาน

หากเสียบอะแดปเตอร์ AC ไว้ การสำรองข้อมูลจะทำงานและสคริปต์จะไม่รบกวนการตรวจสอบค่าการชาร์จแบตเตอรี่

คัดลอกสคริปต์ลงในโปรแกรมแก้ไขและบันทึกเป็น “battery.sh” ตรวจสอบให้แน่ใจว่าคุณใช้เส้นทางที่ถูกต้องไปยังไดเร็กทอรีย่อยของแบตเตอรี่ในแล็ปท็อปของคุณ

เราจำเป็นต้องทำให้สคริปต์สามารถเรียกใช้งานได้ด้วยคำสั่ง chmod :

 chmod +x แบตเตอรี่.sh 

ทำให้สคริปต์ปฏิบัติการได้

ตอนนี้เราสามารถเรียกใช้สคริปต์ได้ เสียบอะแดปเตอร์ AC แล้ว

 ./battery.sh 

เรียกใช้สคริปต์โดยเสียบอะแดปเตอร์ AC ไว้

ให้ถอดปลั๊กอะแดปเตอร์ AC แล้วเปิดใหม่อีกครั้ง

 ./battery.sh 

เรียกใช้สคริปต์โดยถอดอะแดปเตอร์ AC ออก

ตรวจพบสภาพพลังงานของแล็ปท็อปอย่างถูกต้อง และสคริปต์จะทำงานตามนั้น

การตรวจสอบแบตเตอรี่ด้วย acpi

หากคุณมีแพ็คเกจการกำหนดค่าขั้นสูงและอินเทอร์เฟซด้านพลังงานติดตั้งอยู่ คุณสามารถใช้เพื่อสอบถามสภาพแบตเตอรี่และพลังงานของแล็ปท็อปได้ หากคุณไม่ได้ติดตั้ง แสดงว่าเป็นแพ็คเกจขนาดเล็กและติดตั้งได้เร็วมาก

บน Ubuntu คุณสามารถติดตั้งได้ด้วยคำสั่งนี้

 sudo apt ติดตั้ง acpi 

การติดตั้ง acpi บน Ubuntu

บน Fedora คุณจะใช้:

 sudo dnf ติดตั้ง acpi 

การติดตั้ง acpi บน Fedora

บน Manjaro คุณควรพิมพ์:

 sudo pacman -Sy acpi 

การติดตั้ง acpi บน Manjaro

เราจะใช้คำสั่งด้วยตัวเลือก -a (อะแดปเตอร์ AC) จากนั้นอีกครั้งด้วยตัวเลือก -b (แบตเตอรี่) สุดท้าย เราจะเรียกใช้ด้วยตัวเลือก -b (แบตเตอรี่) และตัวเลือก -i (ข้อมูล) สิ่งนี้จะให้ข้อมูลเพิ่มเติมเล็กน้อยหากมี

 acpi -a
 acpi -b
 acpi-bi 

ตรวจสอบอะแดปเตอร์ AC และแบตเตอรี่ด้วย acpi

ความรู้คือพลัง

และตอนนี้คุณสามารถรับความรู้เกี่ยวกับการจ่ายไฟให้กับแล็ปท็อปของคุณ

ความสามารถในการให้สคริปต์ตรวจสอบว่ามีไฟหลักหรือพลังงานแบตเตอรี่เพียงพอที่จะทำงานที่มีภาระงานสูงหรือใช้เวลานาน เช่น อิมเมจระบบหรือการอัพเกรดนั้นมีประสิทธิภาพมากเป็นพิเศษ

ที่เกี่ยวข้อง: วิธีเพิ่มอายุการใช้งานแบตเตอรี่แล็ปท็อป Linux ของคุณให้สูงสุด