배터리가 있는지 어떻게 감지하나요?

배터리가 있는지 어떻게 감지하나요?

자동화하려고 해요데스크탑 설정, 이것의 일부로 배터리 모니터 패키지를 설치하고 싶습니다현재 기계에 배터리가 연결되어 있는 경우에만 해당(UPS 및 기타 외부 배터리는 관련이 없습니다). 이것을 어떻게 감지할 수 있나요?

내 노트북에는 디렉터리가 있고 /sys/class/power_supply/BAT1데스크톱 디렉터리에는 아무 것도 없습니다 /sys/class/power_supply. 이것이 시스템의 견고한 측정 기준입니까?시스템 파일 시스템? 이것인용하다디렉토리 에 대한 언급이 없습니다 BATn. 공급업체별 기능일 수 있습니까?

답변1

배터리 정보의 존재는 /sys/class/power_supply시스템의 배터리 지원을 나타내는 신뢰할 수 있는 지표이며 표준 Linux 기능이지만 항상 같은 의미로 호출되는 것은 아닙니다. 귀하의 항목은 입니다 BAT1. battery또한 모든 항목이 /sys/class/power_supply배터리인 것은 아닙니다.

이 패턴과 일치하는 모든 파일을 찾습니다 /sys/class/power/supply/*/type. 그 중 적어도 하나에 works 가 포함되어 있으면 Battery배터리가 있는 것입니다. 다른 가능한 값은 type다음 MainsUSB같습니다.

또 다른 가능한 점은 시스템이 배터리를 수용하지만 배터리가 물리적으로 제거되었다는 것입니다. 이 경우에도 Battery전원이 계속 나타납니다. 이를 감지하는 방법가능한시스템에 따라 다르지만, 읽 capacity거나 다른 작업을 수행해 보고 읽기 오류가 발생하는지 확인하세요. 이는 배터리가 제거되었음을 나타낼 수 있습니다.

세부 사항:문서/power/power_supply_class.txt

관련 정보