উত্তর:
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
ব্যাখ্যা :
আপনি যদি গ্রেপের জন্য ম্যান পৃষ্ঠাটি দেখেন তবে দেখতে পাবেন যে -v
মিলটি উল্টে যায় এবং সেইজন্য রিটার্ন / স্থিতি কোড। -E
এর অর্থ এটি একটি নিয়মিত প্রকাশ। [\t ]
Regex (রেগুলার এক্সপ্রেশন) -এ "ট্যাব বা স্থান" মানে। নিম্নলিখিত তারকাটির অর্থ এটি "ট্যাব বা স্পেস 0 বা তার বেশি বার" করে। "$" এর পিছনে পিছনের অর্থ এটি লাইনের শেষের সাথে মিলে যায়। চূড়ান্ত grep
অর্থ লাইনগুলি একটি ":" এ শেষ না হওয়া, কোনও সংখ্যক ট্যাব বা স্পেস এবং তারপরে "চার্জিং" এবং লাইনটির শেষের grep
সাথে স্থিতি কোড 0 দিয়ে প্রস্থান করা উচিত This এর অর্থ grep
এটি কম্পিউটারের যতক্ষণ না 1 থাকবে চার্জিং. if
যখন স্থিতি কোড 0 এটা প্রথম শাখা চালানো হবে,grep
exit 1
যখন গ্রেপ 0 থেকে প্রস্থান করে এবং exit 0
যখন গ্রেপ অ-শূন্যের উপস্থিত থাকে।
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
স্থাপন:
চালান:
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
একটি স্টার্টআপ অ্যাপ্লিকেশন হিসাবে স্ক্রিপ্ট যুক্ত করুন :
আমি যে ক্রন্টবটি ব্যবহার করি তা এখানে
ব্যাটারি পূর্ণ কিনা তা জানান (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
উদাহরণ বিজ্ঞপ্তি চিত্র: