溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中怎么在電池充滿或低電量時獲得電池狀態(tài)通知

發(fā)布時間:2021-10-22 15:14:20 來源:億速云 閱讀:354 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹了Linux中怎么在電池充滿或低電量時獲得電池狀態(tài)通知,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

對于類 Unix 用戶來說,Linux 筆記本是不錯的選擇,但它經(jīng)常會耗盡電池。我試過很多 Linux 操作系統(tǒng),但沒有像 Windows 那樣電池壽命長。

充電時間長了會對電池造成損害,所以在電池 100% 充滿時要拔掉電源線。電池充電或放電時沒有默認(rèn)的應(yīng)用程序來通知,需要安裝第三方應(yīng)用來通知你。

為此,我通常會安裝 Battery Monitor,但它已經(jīng)被廢棄,所以我創(chuàng)建了一個 shell 腳本來獲取通知。

筆記本電池充放電狀態(tài)可以通過以下兩個命令來識別。

使用 acpi 命令。

$ acpi -bBattery 0: Discharging, 71%, 00:58:39 remaining

使用 upower 命令。

$ upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep -w 'state|percentage' | awk '{print $2}'discharging64%

方法 1:當(dāng)電池電量高于 95% 或低于 20% 時,用 Shell 腳本發(fā)送警報

這個腳本在啟動時在后臺運(yùn)行,每分鐘檢查一次電池狀態(tài),然后在電池電量超過 95% 或放電時電量低于 20% 時發(fā)送通知。

警報會直到你的電池電量超過 20% 或低于 95% 時才會停止。

$ sudo vi /opt/scripts/battery-status.sh
#!/bin/bashwhile truedo  battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'`   if [ $battery_level -ge 95 ]; then      notify-send "Battery Full" "Level: ${battery_level}%"      paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga    elif [ $battery_level -le 20 ]; then      notify-send --urgency=CRITICAL "Battery Low" "Level: ${battery_level}%"      paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga  fi sleep 60done

腳本完成后,設(shè)置可執(zhí)行權(quán)限:

$ sudo chmod +x /opt/scripts/battery-status.sh

最后,將該腳本添加到用戶配置文件的底部。對于全局范圍來說,你需要在 /etc/profile 文件中添加該腳本。

$ vi /home/magi/.profile /opt/scripts/battery-status.sh &

重啟你的 Linux 系統(tǒng)來檢查這點。

$ sudo reboot

方法 2:當(dāng)電池充電(高于 95%)或放電(低于 20%)時發(fā)送通知的 Shell 腳本

這個腳本與上面的腳本類似,但它是由交流適配器負(fù)責(zé)。

如果你插上了交流適配器,而且電池的電量超過 95%,它就會發(fā)出一個帶有聲音的通知,但是這個通知不會停止,直到你拔掉交流適配器。

Linux中怎么在電池充滿或低電量時獲得電池狀態(tài)通知

如果你拔掉交流適配器,你將永遠(yuǎn)不會再看到通知,直到你的電池電量下降到 20%。

Linux中怎么在電池充滿或低電量時獲得電池狀態(tài)通知

$ sudo vi /opt/scripts/battery-status-1.sh
#!/bin/bash   while true    do       export DISPLAY=:0.0       battery_level=`acpi -b | grep -P -o '[0-9]+(?=%)'`       if on_ac_power; then           if [ $battery_level -ge 95 ]; then              notify-send "Battery Full" "Level: ${battery_level}% "              paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga           fi       else           if [ $battery_level -le 20 ]; then              notify-send --urgency=CRITICAL "Battery Low" "Level: ${battery_level}%"              paplay /usr/share/sounds/freedesktop/stereo/suspend-error.oga           fi       fi     sleep 60done

腳本完成后,設(shè)置執(zhí)行權(quán)限:

$ sudo chmod +x /opt/scripts/battery-status-1.sh

最后將腳本添加到用戶配置文件的底部。對于全局范圍來說,你需要在 /etc/profile 文件中添加該腳本。

$ vi /home/magi/.profile /opt/scripts/battery-status-1.sh &

重啟系統(tǒng)來檢查:

$ sudo reboot

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Linux中怎么在電池充滿或低電量時獲得電池狀態(tài)通知”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI