जवाबों:
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 ]
regex (नियमित अभिव्यक्ति) में "टैब या अंतरिक्ष" का अर्थ है। निम्न स्टार का अर्थ है "टैब या स्पेस 0 या अधिक बार"। अनुगामी "$" का अर्थ है कि यह रेखा के अंत से मेल खाना चाहिए। अंतिम का grep
अर्थ है कि ":" में समाप्त होने वाली रेखाएं, किसी भी संख्या में टैब या रिक्त स्थान और फिर "चार्जिंग" और पंक्ति के अंत को grep
स्थिति कोड से बाहर निकलना चाहिए । 0. इसका मतलब है कि grep
1 तब तक वापस आ जाएगा जब तक कंप्यूटर है चार्ज। if
जब स्थिति कोड 0 है यह की पहली शाखा निष्पादित करेगा,grep
exit 1
जब grep 0 से बाहर निकलता है और exit 0
जब grep गैर-शून्य होता है।
return0whencharging.sh
फाइल कहां है ? या अगर मैं इसे बनाता हूं, तो क्या मुझे इसे बचाने के लिए एक विशिष्ट स्थान है?
मैंने एक छोटी सी स्क्रिप्ट लिखी है जो ऐसा करेगी:
स्क्रिप्ट:
#!/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
स्थापना:
Daud:
sudo apt-get install acpi
git clone https://github.com/hg8/battery-full-notification.git
cd battery-full-notification/
chmod +x batteryfull.sh
स्क्रिप्ट को ~/bin
फ़ोल्डर में कॉपी करें ( क्यों ~ / बिन फ़ोल्डर? ):
cp batteryfull.* ~/bin
या इसे कॉपी करें /usr/local/bin
यदि आप चाहते हैं कि यह आपके कंप्यूटर पर सभी उपयोगकर्ताओं के लिए उपलब्ध हो:
cp batteryfull.* /usr/local/bin
फिर batteryfull.sh
स्क्रिप्ट को स्टार्टअप एप्लिकेशन के रूप में जोड़ें :
यहाँ Crontab है कि मैं का उपयोग करें
यदि बैटरी पूर्ण है (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
सूचित करें कि बैटरी कम है (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
उदाहरण अधिसूचना छवि: