উত্তর:
আমি আমার নিজের crontab -e
কাজটি কনফিগার করার জন্য এই পৃষ্ঠায় পরামর্শটি ব্যবহার করেছি বলে আমি কেবল উত্তর দিতে চেয়েছিলাম ।
আমি লুবুন্টু (বিশ্বস্ত) চালাচ্ছি এবং উপরেরটি আমার পক্ষে কাজ করে না, তবে কিছুটা টুইট করে তা সফল হয়েছিল। আমার অভিজ্ঞতার স্তরটি হল আমি মৌলিক স্ক্রিপ্টগুলি এবং কমান্ডগুলি পড়তে তুলনামূলকভাবে সক্ষম কিন্তু লিনাক্স ডিস্টোতে স্ক্র্যাচ থেকে এগুলি লিখতে কম সক্ষম। আমি উল্লেখ করেছি কারণ যদি আমি একটি ওয়ার্কিং ব্যাটারি অ্যালার্ম একসাথে বাঁধতে পারি তবে আপনার বেশিরভাগ এটি পড়ার পাশাপাশি সক্ষম হতে হবে!
তাই .... স্ক্রিপ্ট এবং একটি প্রাথমিক ব্যাখ্যা ....
গ্লুটানিমেট এবং স্কট গুডগ্যামের উপরের পোস্টগুলি অনুসারে (ধন্যবাদ বন্ধুরা!), আমি মূলত নিম্নলিখিতটি করলাম:
এমপিজি 123 পেতে এবং অডিও খেলতে সক্ষম হতে:
sudo apt-get install acpi mpg123
কমান্ডটি লিখতে ফাইল খুলুন:
crontab -e
ফাইলের শেষে প্রবেশের আদেশ:
*/1 * * * * if [ `acpi -b | awk ' { print ( $(NF-2)-0)}'` -lt "15" ] ; then mpg123 /home/andy/Alarm.mp3 ; fi
শুরুতে তারকাচিহ্নগুলি
পাঁচটি তারকাচিহ্ন কমান্ডগুলি চালনার জন্য ফ্রিকোয়েন্সি উপস্থাপন করে।
*/1 * * * *
মানে 'প্রতি মিনিটে এটি চালান'
যদি / তারপর / এফ আই:
IF [ stuff inside these brackets ] ; THEN do something ; FI
আপনারা, বেশিরভাগই আমি কল্পনা করি, আমি যদি / তাদের বিবৃতিগুলির সাথে খুব পরিচিত। এফআই শেষে আইএফ এর বিবৃতি শেষ করে
অডিও বাজানো হচ্ছে:
mpg123 /home/andy/Alarm.mp3
এটি কেবল আমার হোম ডিরেক্টরিতে অবস্থিত mpg123
একটি ফাইল প্লে করতে ব্যবহার করে ।Alarm.mp3
/home/andy/
আউটপুট ব্যাটারি তথ্য:
acpi -b
এটি কেবল ব্যাটারির স্থিতি ছাড়িয়ে যায়। আমার ল্যাপটপে এটি ফলাফল দেয় যেমন:
Battery 0: Discharging, 74%, 02:35:18 remaining
পাইপ টু অ্যাওয়ার্ক কমান্ড
| awk ' { print ( $(NF-2)-0)}'` -lt "15"
ঠিক আছে, সুতরাং আমরা উপরের ব্যাটারির স্থিতির আউটপুট পাইপ করছি এবং দ্বিতীয়টি প্রান্ত-এর শেষে মান (এনএফ -2) প্রিন্ট করছি যা উপরের উদাহরণে '74% '। তবে আমাদের 'শতাংশ' -0 অপসারণ করতে হবে । আমরা বর্তমান মানকে 15 -lt "15" মানের সাথে তুলনা করতে চাই । সুতরাং এটি সরল ইংরেজিতে সংক্ষেপে বলা যায়,
যদি ব্যাটারির মান কম হয় তবে 15% ততক্ষণ আপনি একটি অডিও ফাইল খেলেন
আমি প্রশংসা করি যে আমি এটিকে কিছুটা কমিয়ে দিয়েছি এবং সম্ভবত আমার ব্যাখ্যাটি আরও উন্নত হতে পারে তবে আশা করি এটি অন্য কাউকে ব্যাটারির জন্য কীভাবে একটি অ্যালার্ম যুক্ত করতে এবং তাদের ল্যাপটপগুলি হঠাৎ করে বিদ্যুত বন্ধ করা থেকে রক্ষা করতে সহায়তা করবে!
শুভকামনা!
ঠিক আছে ... সুতরাং দেখা যাচ্ছে যে যখন আমার ল্যাপটপটি চার্জ করা হচ্ছে তখন আউটপুট
acpi -b
হল:
Battery 0: Charging, 35%, 01:04:08 until charged
ব্যাটারি হয় যখন
Battery 0: Discharging, 36%, 01:22:36 remaining
প্রাথমিকভাবে উল্লিখিত প্যারামিটার ব্যবহার করে
print ( $(NF-2)-0)
বিভিন্ন ফলাফল আউটপুট দেয়, কারণ মনে রাখবেন, এনএফ- মান বিট প্রদর্শন করে আউটপুটের শেষে থেকে কতগুলি আইটেম পিছন দিকে যায়, তাই এর ব্যাটারির আউটপুট সহ
Battery 0: Discharging, 36%, 01:22:36 remaining
$(NF-2)
চার্জ থাকা ল্যাপটপের সাথে '36% 'আউটপুট দেয়
Battery 0: Charging, 35%, 01:04:08 until charged
$(NF-2)
আউটপুট '00: 50: 12 ', অর্থাত্ চার্জ হওয়া অবধি সময়ের পরিমাণ।
-0
পরে $(NF-2)
minuses মান থেকে শূন্য, তাই যখন মান একটি শতাংশ -0
36 '' থেকে ''36% ভালো কিছু থেকে এটা পরিবর্তন। যখন আউটপুট মানটিকে অ-সংখ্যাসূচক হিসাবে ধরা হয়, যেমন উপরের সময় '01: 04: 08 'এর সময় আউটপুট, তখন মানটি -0
' 0 'হয়। সুতরাং আপনি আমার সমস্যাটি দেখতে পারেন - আমার ল্যাপটপটি যখন চার্জ হয় তখন আউটপুট মান সর্বদা '0' থাকে। যেহেতু আউটপুট মান 15 এর কম হলে আমি একটি অ্যালার্ম বাজাতে চাই তাই এটি ব্যাটারি অ্যালার্মে অনুবাদ করে যা চার্জ নেওয়ার সময় প্রতি মিনিটে চলে যায়!
awk
কমান্ডের আউটপুট সম্পর্কে আমি আরও কিছুটা পড়ি এবং এটি দেখা যাচ্ছে যে শেষ থেকে দ্বিতীয় মানটি পড়ার দরকার নেই, আউটপুটের শুরু থেকে শুরু করে এগিয়ে যেতে পারি। এটি আমার ব্যাটারির স্থিতি একই হিসাবে শুরু হয় যেমন পরামিতিগুলির সংখ্যার দিক থেকে চার্জযুক্ত বা ব্যাটারিতে শুরু হয়, যেমন শুরু থেকে চতুর্থ প্যারামিটারটি সর্বদা শতাংশে চার্জের মান।
সুতরাং ... এটি চতুর্থ মান পড়ার জন্য, কমান্ডটি পরিবর্তিত হয়
awk ' { print ($(NF-2)-0)}'
প্রতি
awk ' { print ($4)-0}'
বা তার সম্পূর্ণ গৌরব:
*/1 * * * * if [ `acpi -b | awk ' { print ($4)-0}'` -lt "15" ] ; then mpg123 /home/andy/Alarm.mp3 ; fi
আবার আমি আশা করি যে কাউকে সাহায্য করে! শুভকামনা এবং পড়ার জন্য ধন্যবাদ!
ঠিক আছে, কিছুটা বাড়তি হাঁসফোঁস এবং অ্যালার্ম বাজানোর আগে কীভাবে ভলিউমটি 100% এ সেট করা যায় এবং কীভাবে শব্দটি সশব্দ করা যায় তা আমিও কাজ করেছিলাম - কারণ এটির মুখোমুখি হোন, আপনি যদি এটি শুনতে না পান তবে ব্যাটারি অ্যালার্মের কী দরকার? কারণ আপনি ' ভলিউমটি কমতে নির্ধারণ করেছে বা এটি নিঃশব্দ করেছে ?!
যাইহোক, আপনার যে আদেশটি প্রয়োজন তা হ'ল:
*/1 * * * * if [ `acpi -b | awk ' { print ($4)-0}'` -lt "15" ] ; then pactl set-sink-volume 0 100% && pactl set-sink-mute 0 0 && mpg123 /home/andy/Alarm.mp3 ; fi
যেমন আপনি দেখতে পাচ্ছেন, আমি সমস্ত কিছু কমান্ড স্ট্রিং .োকানো হয়েছে
pactl set-sink-volume 0 100% && pactl set-sink-mute 0 0 &&
( &&
কেবলমাত্র একাধিক কমান্ড একসাথে আবদ্ধ করুন)
আবার সবাইকে শুভকামনা!
ঠিক আছে, সুতরাং ... একটি চূড়ান্ত (আশাবাদী!) সম্পাদনা ... স্পষ্টতই, ক্রোন কাজগুলি চালানোর সময় শতাংশের চিহ্নটি একটি বিশেষ চিহ্ন। সুতরাং, আপনাকে প্রতিটিের \
সামনে একটি ব্যাকস্ল্যাশ ( ) রেখে শতকরা চিহ্নটি 'পালাতে' হবে %
যাতে শেল দ্বারা এটি ব্যাখ্যা করা (ভুল) হয় না।
সুতরাং মূলত প্রতিস্থাপন
100%
সঙ্গে
100\%
অতএব, আপনি যে আদেশটি সত্যই প্রয়োজন তা হ'ল:
*/1 * * * * if [ `acpi -b | awk ' { print ($4)-0}'` -lt "15" ] ; then pactl set-sink-volume 0 100\% && pactl set-sink-mute 0 0 && mpg123 /home/andy/Alarm.mp3 ; fi
ভাই আশা করি এটি আপনার জন্য যেমন সাজিয়ে তোলে ঠিক তেমনই আমার জন্যও !! (অবশেষে!)
আপনি একটি ক্রোন জব সেট আপ করতে পারেন যা প্রতি 5-10 মিনিটের পরে ব্যাটারির স্থিতি পরীক্ষা করে এবং তারপরে ব্যাটারির শতাংশের উপর নির্ভর করে এটি কিছুটা শব্দ বাজবে।
শব্দটি খেলতে আপনি ব্যবহার করতে পারেন
mpg123
filename.mp3
এটি ইনস্টল করতে
sudo apt-get install mpg123
কমান্ড লাইন থেকে ব্যাটারি স্থিতি পেতে আপনি এই আদেশটি ব্যবহার করতে পারেন
upower -i /org/freedesktop/UPower/devices/battery_BAT0
grep
নীচের হিসাবে আপনি সঠিক তথ্য বের করতে পারেন ব্যবহার করে
upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"
এখন আপনি এই সমস্ত জিনিস শেল স্ক্রিপ্টে রাখতে পারেন (এবং if
ব্যাটারির অবস্থা 10% এর চেয়ে কম কিনা তা পরীক্ষা করার শর্তও) এবং ক্রোন জবটিতে কেবল এই শেল স্ক্রিপ্টের পথ দিতে পারেন।
সুতরাং প্রতি 5 মিনিটের পরে (আপনি এই ব্যবধানটি পরিবর্তন করতে পারেন) আপনার ব্যাটারির স্থিতি পরীক্ষা করা হবে এবং যদি ব্যাটারি 10% এর চেয়ে কম হয় তবে আপনার সরবরাহিত সাউন্ড ফাইলটি চালানো হবে!
আশাকরি এটা সাহায্য করবে!
এটি করার একটি সহজ উপায় হ'ল আপনার ক্রন্টবায় একটি সাধারণ চেক যোগ করা (ক্রোন হ'ল ব্যাকগ্রাউন্ডে নিয়মিত, ব্যবহারকারী-সংজ্ঞায়িত ভিত্তিতে জিনিস চালানোর ব্যবস্থা system
প্রথমে আপনাকে কমান্ড লাইন এমপি 3 প্লেয়ার এবং এসপিআই ইনস্টল করতে হবে যাতে ব্যাটারি স্থিতি পড়তে সক্ষম হয়।
টার্মিনাল থেকে প্যাকেজ ইনস্টল করতে নিম্নলিখিতটি চালান।
sudo apt-get install acpi mpg123
এরপরে, টার্মিনালে থাকা অবস্থায়, টাইপ crontab -e
করে ফাইলটির শেষে নীচে প্রবেশ করুন। আপনার বাড়ির ডিরেক্টরিতে কেবল আপনার ব্যবহারকারীর নাম এবং .mp3 আপনার ফাইলের নাম পরিবর্তন করুন।
*5 * * * * if [ `acpi |awk '{print substr($NF, 0, length($NF)-1)}'` -lt "10" ] ; then mpg123 /home/user/SuperCoolSound.mp3 ;fi
সংরক্ষণ করতে কন্ট্রোল-ও (চিঠি) এবং এন্টার চাপুন। প্রস্থান করতে নিয়ন্ত্রণ-এক্স চাপুন
অতিরিক্ত জিনিস আপনি পড়তে চাইতে পারেন ...
acpi |awk '{print substr($NF, 0, length($NF)-1)}'
-lt "10"]; তারপরে aplay / home/feliplalli/ Music /siren.wav; fi [: পূর্ণসংখ্যার অভিব্যক্তি প্রত্যাশিত: অবশেষ ➜ ~ acpi ব্যাটারি 0: ডিসচার্জিং, 9%, 00:17:56 বাকি
আসলে আমি অ্যান্ডি পাইয়ের উত্তরটি ব্যবহার করেছি তবে এটি আমার পক্ষে কার্যকর হয়নি। ক্রোন কোডটি কার্যকর করে, তবে এটি শব্দটি প্লে করে না। অবশেষে আমি সমাধানটি খুঁজে পেয়েছি এবং এটি এখানে ভাগ করে নিচ্ছি:
পদক্ষেপ 1: এমপিজি 3 ইনস্টল করুন
sudo apt-get install acpi mpg123
পদক্ষেপ 2:
নিম্নলিখিত কমান্ডটি সংরক্ষণ করুন~/bin/battery_alert
#!/bin/bash
PATH=/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
if [ `acpi -b | awk ' { print ($3)}'` == "Discharging," ] ; then
# Discharging
# Monitor for low battery
if [ `acpi -b | awk ' { print ($4)-0}'` -le "15" ] ; then
pactl set-sink-volume 0 75\% && pactl set-sink-mute 0 0 && mpg123 /home/user/battery_low.mp3 ;
fi
else
# Charging
if [ `acpi -b | awk ' { print ($4)-0}'` -eq "100" ] ; then
# Fully charged
pactl set-sink-volume 0 75\% && pactl set-sink-mute 0 0 && mpg123 /home/user/battery_full.mp3 ;
fi
fi
এই স্ক্রিপ্টটি ব্যাটারি_লো.এমপি 3 বাজায় যদি ল্যাপটপটি ডিসচার্জ হয় এবং চার্জ 15% এর চেয়ে কম বা সমান হয়। (যদি এসি শক্তি সংযুক্ত থাকে তবে এটি আপনাকে সতর্ক করবে না)। চার্জটি 100% হলে এই কোডটি আপনাকেও সতর্ক করে। আপনি যদি পুরোপুরি চার্জ হওয়া রাষ্ট্রের জন্য সতর্কতা না চান, অন্য কোডটি এই কোড থেকে সরিয়ে দিন।
পদক্ষেপ 3: নিম্নলিখিত কমান্ডটি ব্যবহার করে ফাইলটিকে সম্পাদনযোগ্য করে তুলুন।
chmod +x ~/bin/battery_alert
পদক্ষেপ 4: কমান্ড ব্যবহার করে এই ফাইলটি ক্রমান ব্যবহার করে নিম্নলিখিত কমান্ডটি ফাইলের শেষে খুলুন crontrab -e
কমান্ড দ্বারা খুলুন ।
*/5 * * * * /home/user/bin/battery_alert
(এই আদেশের পরে খালি লাইন রাখতে ভুলবেন না)