랩탑 배터리가 완전히 충전되면 어떻게 알림을받을 수 있습니까?


12

충전이 완료된 후에도 충전기가 노트북에 연결되어있는 경우가 있습니다.

충전으로 인해 배터리가 가득 찼을 때 팝업 메시지 / 알림을 받거나 기능을 제공 할 수있는 소프트웨어 / 패키지가 있습니까?

답변:


7

acpi패키지를 설치하십시오 . 이제 이것을 넣고 return0whencharging.sh실행 가능하게 만드십시오.

#!/bin/sh
acpi -V
if cat /proc/acpi/battery/BAT1/state | grep "charging state" | grep -vE ":[\t ]*charging$"; then
    exit 1
else
    exit 0
fi

경우 echo -e "\a"소리를 만드는 당신은 배터리 상태를보고 할 때,이를 시작합니다 :

watch --beep return0whencharging.sh

소리가 나지 않거나 시계가 제공 할 수있는 것보다 알림과 더 나은 알람을 원한다면 이것을 설치 libnotify-bin하고 mpv대신 사용하십시오.

while return0whencharging.sh; do sleep 1; done; notify-send "Finished charging" && mpv -loop /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga

설명 :

grep 에 대한 매뉴얼 페이지를 보면 -v일치하는 내용 과 그에 따른 반환 / 상태 코드 를 반대로 볼 수 있습니다 . -E정규 표현식임을 의미합니다. [\t ]정규식 (정규 표현식)에 "는 탭이나 공백"을 의미한다. 다음 별은 "탭 또는 공백 0 번 이상"을 의미합니다. 후행 "$"는 줄 끝과 일치해야 함을 의미합니다. 마지막 grep은 ":"로 끝나지 않는 줄, 여러 개의 탭 또는 공백, "충전"및 줄 끝이 grep상태 코드 0으로 종료 해야 함을 의미합니다. 이는 grep컴퓨터가있는 한 1을 반환 한다는 의미 입니다. 충전. 는 if상태 코드가 0 일 때, 그것의 첫 번째 분기를 실행합니다grepexit 1grep이 0을 종료하고 grep이 0 exit 0이 아닌 경우


이 명령들을 설명하고 싶다면 저에게 물어보세요
Janus Troelsen

이 grep -vE ": [\ t] * charging $"이 무엇을하는지 잘 모르겠습니다. 명령을 설명해 주시겠습니까? 감사합니다
Ankit

추가 설명
야누스 Troelsen

return0whencharging.sh파일 은 어디에 있습니까? 또는 내가 만들면 저장해야 할 특정 장소가 있습니까?
Parto

@AvatarParto : 위치는 중요하지 않습니다. 이름은 사방을 변경할만큼, 하나 중요하지 않습니다
야누스 Troelsen

7

나는 그것을 할 작은 스크립트를 작성했다.

스크린 샷


스크립트:

#!/usr/bin/env bash
while true
do
    export DISPLAY=:0.0
    battery_percent=$(acpi -b | grep -P -o '[0-9]+(?=%)')
    if on_ac_power; then
        if [ "$battery_percent" -gt 95 ]; then
            notify-send -i "$PWD/batteryfull.png" "Battery full." "Level: ${battery_percent}% "
        fi
    fi
    sleep 300 # (5 minutes)
done

설치:

운영:

sudo apt-get install acpi
git clone https://github.com/hg8/battery-full-notification.git
cd battery-full-notification/
chmod +x batteryfull.sh

스크립트를 ~/bin폴더에 복사하십시오 ( 왜 ~ / bin 폴더입니까? ).

cp batteryfull.* ~/bin

또는 /usr/local/bin컴퓨터의 모든 사용자가 사용할 수 있도록하려면 복사하십시오 .

cp batteryfull.* /usr/local/bin

그런 다음 다음 batteryfull.sh을 수행하여 스크립트를 시작 응용 프로그램으로 추가하십시오 .

  • 대쉬 열기
  • 시작 응용 프로그램 검색
  • 아이콘을 두 번 클릭하십시오
  • 클릭 Add하여 다음과 같이 채우십시오.

    시작 응용 프로그램 배터리


0

여기 내가 사용하는 Crontab이 있습니다.

  1. 배터리가 꽉 찼을 경우 알림 (100 %)

    */1 * * * * if [ $(cat /sys/class/power_supply/BAT0/capacity) -eq 100 ]; then XDG_RUNTIME_DIR=/run/user/$(id -u) notify-send Hey "Battery Full"; fi
    
  2. 배터리가 부족한 경우 알림 (10 % 이하)

    */1 * * * * if [ $(cat /sys/class/power_supply/BAT0/capacity) -le 10 ]; then XDG_RUNTIME_DIR=/run/user/$(id -u) notify-send Hey "Battery Low"; fi
    

알림 이미지 예 :

알림 이미지 예

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.