البرنامج النصي الموجز والقابل للتخصيص لإرسال إشعارات إلى سطح مكتب GNU/Linux إذا وصل مستوى بطارية الكمبيوتر المحمول إلى الحد الأدنى أو الحد الأقصى للمستوى العتبة.
قيد الاستخدام والاختبار على Debian Running Gnome فقط ، ولكن يجب أن تعمل في بيئات التوزيعات الأخرى وسطح المكتب. سيقوم البرنامج النصي بالتحقق من ضروراته وإعلامك بما هو مفقود ، عند القيام بتشغيل يدوي أولي (انظر التعليمات أدناه.)

ما الذي يحقق هذا النص؟
أفضل حفظ بضع بنسات سنويًا عن طريق فصل الأشياء التي لا تحتاج إلى توصيلها! وبالمثل ، تقترح الشركة المصنعة للكمبيوتر المحمول أيضًا عادة شحن 20/80 للحفاظ على البطارية بمستويات مثالية.
لقد جربت الشحن الجزئي مقابل الشحن الكامل ويبدو أن 20/80 يمنح بطاريتي أفضل عمر.
لا يبدو أن بيئة سطح المكتب التي أستخدمها حاليًا لديها قدرة على عتبة تنبيه البطارية ، ولا يحتوي طراز الكمبيوتر المحمول الخاص بي على عتبات البدء/الإيقاف في SYSFS.
يتم تضخيم معظم الحلول الحالية بالميزات التي لا أحتاجها (أو تفتقر إلى القدرة على الحد الأقصى/التخصيصات). أردت ببساطة تذكير الإخطار إما بتوصيل أو إزالة الطاقة عندما تكون شحنة البطارية في مستوياتي المفضلة دون الحاجة إلى النظر بشكل مستمر إلى الرموز الرمزية في واجهة المستخدم الرسومية.
استنساخ الريبو إلى دليل على جهاز الكمبيوتر الخاص بك حيث يمكن أن يظل البرنامج النصي متاحًا في Userland (ليس هناك حاجة إلى Root/Sudo)
git clone https://github.com/angela-d/battery-max.gitبعد ذلك ، قم بتشغيل يدوي ، للتأكد من عمله (سيتحقق من ضمان أن يكون مسار الخفافيش هو المكان الذي يتم فيه تثبيت التبعيات المتوقعة والتبعيات - سوف يطالبك عبر المحطة إذا كان هناك شيء غير صحيح).
ما عليك سوى تشغيل المسار الكامل إلى check-battery :
/storage/battery-max/check-battery (استبدل /storage/battery-max للمسار المحلي على نظامك ، حيث سيتم الاحتفاظ check-battery )
هذا كل شيء! قم بإعداد كرون لأتمتة الشيكات.
سيؤدي هذا إلى قيام البرنامج النصي للتحقق من حالة البطارية في الفاصل الزمني المحدد مسبقًا الذي قمت بتعيينه
crontab -e إذا كنت تريد تشغيل البرنامج النصي كل دقيقة (استبدال /storage/battery-max/ للمسار المحلي على نظامك):
* * * * * /storage/battery-max/check-batteryلاحظ أنه إذا اخترت تشغيل هذا كل دقيقة ، فقد ترغب في التفكير في منع cron من/var/log/syslog ، وإلا سترى مثل هذا الرسائل غير المرغوب فيها:
28 ديسمبر 01:50:01 Debian Cron [28999]: (Angela) CMD (/تخزين/بطارية/ضابط فحص
إذا كنت ترغب ببساطة في توجيه رسائل cron إلى سجلها الخاص وعدم حذفها بالكامل (وهو ما سيفعله مثالي أدناه) ، حدد ذلك في /etc/rsyslog.conf
لشراء هذا التسجيل غير المجدي ، يمكنك تشغيل (اختياري) :
pico /etc/rsyslog.confابحث عن الخط:
* . * ; auth,authpriv.none -/var/log/syslog إلحاق cron ، مثل ذلك:
* . * ; cron,auth,authpriv.none -/var/log/syslogإعادة تشغيل rsyslog:
service rsyslog restart افتح check-battery وسترى عددًا من المتغيرات التي يمكنك ضبطها لتناسب احتياجاتك:
# modify the following to suit
BAT_PATH=/sys/class/power_supply/BAT0/
AVAIL= $( cat $BAT_PATH " capacity " )
MIN=70
MAX=80
NOTIFY_TITLE= " Battery Level Threshold Met "
NOTIFY_MSG= " Battery level is at "
ICON= " battery "
FREQ=15شرح المتغيرات:
/usr/share/icons/[current theme name] أو ~/.local/share/icons/[current theme name]إذا كنت تفضل ترك البطارية الموصولة في 24/7 ، فإن هذا البرنامج النصي لا فائدة لك واستخدام إمكانيات TLP العتبة بشكل أفضل ، إذا كنت على جهاز كمبيوتر محمول IBM أو ThinkPad.
بالإضافة إلى ذلك ، يمكنك تعديل /etc/UPower/UPower.conf وتعديل القيم التي سترسل إشعارًا للنظام ، أيضًا ( PercentageLow هو المعدل الذي يتم فيه إرسال إشعار نقدي):
PercentageLow=10
PercentageCritical=3
PercentageAction=2لا إشعارات؟
أضف ما يلي قبل crons التي تتفاعل مع واجهة المستخدم الرسومية الخاصة بك في crontab -e لتعيين بيئة العرض الخاصة بك ، والتي لا يمكن لـ CRON الوصول إليها:
DISPLAY= " :0.0 "
XAUTHORITY= " /home/your_username/.Xauthority "
XDG_RUNTIME_DIR= " /run/user/1000 "(جميع المتغيرات الثلاثة أعلاه قد لا تكون مطلوبة/قد لا تكون مطلوبة من قبل التوزيع - هذه الصيغة هي ما نجح بالنسبة لي.)
لم أضف هذا إلى البرنامج النصي ، حيث لدي أدوات مساعدة مخصصة أخرى ترسل إشعارات إلى سطح المكتب الخاص بي ولا أشعر أنه من الضروري إضافة ذلك في مواقع متعددة.