어떤 이유로 전원 공급 장치를 연결하거나 연결 해제 할 때 랩톱의 화면 밝기가 업데이트되지 않습니다. 나는 그 문제에 대한 몇 가지 해결책을 살펴 봤지만 어느 것도 잘 작동하지 않는 것 같았다. 그래서 절망하고 포기하는 대신 이것을 학습 경험으로 바꾸고 나를 위해 스크립트를 작성할 수 없는지 확인하기로 결정했습니다.
물론 인터넷의 도움을 받아 직접 알아 내려고했지만 bash 스크립팅과 일반적으로 Ubuntu를 처음 접했기 때문에 멀리 가지 못했습니다.
제가 알아 낸 것은 배터리 상태를 확인할 수 있다는 것 입니다.
$ upower -i /org/freedesktop/UPower/devices/battery_BAT1 | grep -E "state"
state: charging/discharging
AC 어댑터가 꽂혀 있는지 여부에 따라 다릅니다. 그게 유용할지 모르겠지만 약간 멋있고 사용 방법도 몰랐 grep
습니다. 그래서 도대체 무엇을 배우는 것이 즐겁습니다.
어쨌든, 이것을 수행하는 다소 깨끗한 방법이 있습니까? "깨끗한 방법"이란 bash 스크립트 경험이 제한된 사람이 이해할 수있는 방법을 의미합니다.
좋은 대답이있는 비슷한 질문 중 하나 는 다음과 같은 질문입니다.
AC 어댑터를 꽂거나 뽑으면의 스크립트
/etc/pm/power.d
가> 인수 : "true"(배터리로 실행하는 경우) 또는 "false"(전원> 어댑터로 실행하는 경우)로 호출됩니다.
문제는 스크립트 내에서 해당 인수에 액세스하는 방법을 모른다는 것입니다. 그래서 나는 모든 것이 매우 간단한 문제로 귀결되는 것 같지만, 사람들이 더 나은 해결책을 가지고 있다면 어쨌든 질문을 게시 할 것이라고 생각했습니다.
on_ac_power
전원 공급 장치를 켜거나 끌 때 스크립트를 실행하는 데 사용할 수 있습니다 .
터미널에서 다음을 시도하십시오.
$ on_ac_power
$ echo $?
0 ## Laptop on ac power
$ on_ac_power
$ echo $?
1 ## Laptop on battery (not on ac power)
이를 바탕으로 스크립트를 다음과 같이 만들 수 있습니다.
#!/bin/bash
while true
do
if on_ac_power; then
do_something ## Laptop on power
else
do_something_else ## Laptop on battery
fi
sleep 10 ## wait 10 sec before repeating
done
편집하다:
cron job
무한 루프를 사용하는 대신 정기적으로 스크립트를 실행하는 것이 더 나은 아이디어입니다.
스크립트를 다른 이름으로 저장 myscript.sh
하고 다음 내용을 넣으십시오.
#!/bin/bash
if on_ac_power; then
do_something
else
do_something_else
fi
터미널에서 스크립트를 실행 가능하게 만듭니다 chmod +x /path/to/myscript.sh
.. 개인 정보 crontab
를 열고 EDITOR=gedit crontab -e
다음 줄을 추가하여 매분 스크립트를 실행하십시오.
* * * * * /path/to/myscript.sh
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다