簡潔且可自定義的腳本將通知發送到您的GNU/Linux桌面,如果筆記本電腦的電池電平達到一定的最小或最大閾值水平。
在使用和測試Debian僅運行GNOME,但應在其他發行版和桌面環境中使用。該腳本將檢查其必需品,並在執行初始手動運行時讓您知道缺少的內容(請參見下面的說明)。

這個腳本是什麼?
我寧願每年通過拔下不需要插入的東西來節省幾分便利!同樣,我的筆記本電腦製造商還提出了一個20/80的充電習慣,以使電池保持最佳水平。
我已經嘗試了部分充電與全額充電,而20/80似乎可以使我的電池擁有最佳的壽命。
我目前使用的桌面環境似乎沒有電池警報閾值功能,而我的筆記本電腦型號則沒有SYSF中的開始/停止閾值。
大多數現有的解決方案都帶有我不需要的功能(或缺乏最大/自定義功能)。我只是想提醒提醒,當電池充電處於我的首選級別時,即可插入或卸下電源,而不必不斷查看GUI中的符號圖標。
克隆倉庫到您的PC上的目錄,該腳本可以在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 )
就是這樣!設置一個cron以自動進行檢查。
這將觸發腳本以在您設置的預定義間隔中檢查您的電池狀態
crontab -e如果您希望腳本每分鐘運行(替換/storage/battery-max/用於系統上的本地路徑):
* * * * * /storage/battery-max/check-battery請注意,如果您選擇每一分鐘運行此操作,則可能需要考慮從/var/log/syslog中阻止cron,否則您會看到這樣的垃圾郵件。
12月28日01:50:01 Debian Cron [28999] :(安吉拉)
如果您想簡單地將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中,那麼如果您在IBM或ThinkPad筆記本電腦上,此腳本對您無濟於事,並且使用TLP的閾值功能可能更適合。
此外,您可以修改/etc/UPower/UPower.conf並調整將發送系統通知的值( PercentageLow是發送關鍵通知的速率):
PercentageLow=10
PercentageCritical=3
PercentageAction=2沒有通知?
在與您的GUI相互作用的crontab -e中的CRON之前添加以下內容,以設置您的顯示環境,而Cron無法本地訪問:
DISPLAY= " :0.0 "
XAUTHORITY= " /home/your_username/.Xauthority "
XDG_RUNTIME_DIR= " /run/user/1000 "(所有3個變量可能/您的發行版可能不需要/不需要 - 此配方對我有用。)
我沒有將其添加到腳本中,因為我還有其他自定義實用程序將通知發送到我的桌面,因此沒有必要在多個位置添加它。