저는 Linux 프로그래밍(특히 lubuntu)이 처음이고 오래되고 버려진 노트북을 제가 원하는 방식으로 작동시키기 위한 프로젝트를 진행하고 있습니다. acpi와 acpid가 설치되어 있고 acpi 명령을 실행하면 랩톱이 연결되어 있는지(충전 중) 또는 분리되어 있는지(방전 중) 알 수 있습니다.
이제 노트북이 방전되면 자동으로 절전 모드로 전환되기를 원합니다. 내 첫 번째 아이디어는 30초마다 acpi를 폴링한 다음 "discharge"라는 단어에 응답할 때마다 절전 명령을 실행하는 스크립트를 작성하는 것이었습니다. 그러나 나는 acpid가 이벤트 중심적이기 때문에 사용하기에 더 나은 도구라는 것을 알고 있습니다. 플러그를 뽑은 후 노트북을 최대 절전 모드로 만드는 방법에 대한 자료를 찾을 수 없는 것 같습니다. 어떤 제안이 있습니까?
답변1
데몬은 acpid
ACPI 하위 시스템을 통해 배터리 이벤트를 수신해야 합니다. 노트북을 분리/연결하면 관련 배터리 이벤트가 나타납니다. 이러한 이벤트는 시스템 종료/일시 중지/최대 절전 모드와 같은 작업과 연관될 수 있습니다.
/var/log/messages
먼저 노트북을 분리한 상태에서 관련 로그 파일을 관찰하거나 관련 로그 파일을 확인하여 확인해 보세요. 다음과 같은 것이 있어야합니다
... ACPI action undefined: ...
아무것도 없으면 acpi_listen
acpid에 연결하고 이벤트를 수신하는 명령을 시도할 수 있습니다.
/etc/acpi/events
그런 다음 배터리 이벤트 디렉터리 아래에 일반 이벤트 핸들러를 구성할 수 있습니다. 예를 들어 battery.conf
다음 내용 으로 파일을 만듭니다 .
event=battery.*
action=/etc/acpi/actions/battery.sh
이는 모든 배터리 이벤트가 스크립트에 의해 처리되어야 함을 나타냅니다 battery.sh
. 이 스크립트에서는 파일에서 사용 가능한 배터리 상태를 모니터링합니다 /proc/acpi/battery/*/state
. 특히 라인을 확인해보세요"충전 중"로 변경해야합니다"해고하다"노트북을 뽑을 때나"충전 중/충전됨"다시 꽂으면.
이 정보를 기반으로 이벤트 핸들러에서 최대 절전 모드 명령을 실행할 수 있습니다 battery.sh
. 또한 다음과 같은 다른 유용한 예를 찾을 수 있습니다.깃허브.