আমার ল্যাপটপের ব্যাটারি পুরোপুরি চার্জ হয়ে গেলে আমি কীভাবে বিজ্ঞপ্তি পেতে পারি?


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

ব্যাখ্যা :

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


আপনি যদি এই আদেশগুলি ব্যাখ্যা করতে চান তবে কেবল আমাকে জিজ্ঞাসা করুন
জানুস ট্রয়লসন

আমি নিশ্চিত না এই গ্রেপ -vE ": [\ t] * চার্জিং $" কী করবে। আপনি দয়া করে আদেশগুলি ব্যাখ্যা করতে পারেন? ধন্যবাদ
অঙ্কিত

যোগ করা ব্যাখ্যা
জানুস ট্রয়লসেন

এবং এই return0whencharging.shফাইলটি কোথায়? বা যদি আমি এটি তৈরি করি তবে এটি সংরক্ষণ করার জন্য আমার কোনও নির্দিষ্ট জায়গা আছে?
পার্টো

@ অবতারপাটারো: কোথায় নেই তাতে কিছু যায় আসে না। নামটি কোনও বিষয় নয়, যতক্ষণ আপনি এটিকে সর্বত্র পরিবর্তন করেন
জানুস ট্রয়লসেন

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ফোল্ডারে অনুলিপি করুন ( ~ / বিন ফোল্ডারটি কেন? ):

cp batteryfull.* ~/bin

বা /usr/local/binযদি আপনি এটি আপনার কম্পিউটারে সমস্ত ব্যবহারকারীর জন্য উপলব্ধ হতে চান তবে এটি অনুলিপি করুন:

cp batteryfull.* /usr/local/bin

তারপরে batteryfull.shএকটি স্টার্টআপ অ্যাপ্লিকেশন হিসাবে স্ক্রিপ্ট যুক্ত করুন :

  • ওপেন ড্যাশ
  • প্রারম্ভিক অ্যাপ্লিকেশনগুলির জন্য অনুসন্ধান করুন
  • আইকনটিতে ডাবল ক্লিক করুন
  • Addনিম্নলিখিত হিসাবে ক্লিক করুন এবং পূরণ করুন :

    স্টার্টআপ অ্যাপ্লিকেশন ব্যাটারিফুল


0

আমি যে ক্রন্টবটি ব্যবহার করি তা এখানে

  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.