Just yesterday I migrated from Ubuntu 18.04 to Ubuntu 20.04. In 18.04 there was a software called "Battery Monitor" that monitors your battery percentage and notifies you when your battery percentage as reached low level.

I tried to install it in 20.04 but it seems it was not made compatible for it or maybe I am doing something wrong...

Can anyone please help me with this or find me an alternative?

My most important need is to be notified when my battery percentage goes below a certain number.

Thank you


I have Ubuntu Budgie 20.04 and this worked for me:

cd /etc/UPower
sudo nano UPower.conf

If you set UsePercentageForPolicy=true then edit the percentage lines to your liking, such as:

If you prefer a time based approach then set UsePercentageForPolicy to false and set the time notification options to your liking, such as: TimeLow=1200 TimeCritical=300

Hit ctrl+X to save the UPower.conf file and close out of nano editor.
Reboot computer or sudo systemctl restart upower for changes to take effect.

By doing this I was able to get the low and critical battery notifications. The pop-up notification only displays for about 2 seconds. Here is what it looks like: enter image description here


I came to this workaround:

Works in ubuntu 20


sudo apt install gir1.2-appindicator3-0.1
sudo apt install acpi
sudo apt install libappindicator3-1
sudo apt install libnotify4
sudo apt install libgirepository1.0-dev
sudo apt install libcairo2

python3 -m pip install pycairo 

1. Download source

cd ~/Downloads/
wget https://github.com/maateen/battery-monitor/archive/master.zip
unzip master.zip
cd battery-monitor-master/

2. Modification of Makefile

nano Makefile (3 changes)

# 1. change sh in first line to bash

# 2. change from:
PREFIX ?= /usr
# to:
PREFIX ?= /home/USERNAME/.local

# 3 change python version (two lines to modify!)

# from: 
python setup.py 
# to:
python3 setup.py 

3. Install as root

sudo su
export PYTHONPATH=/home/USERNAME/.local/lib/python3.8/site-packages/
make install

4. Run as non-root

nohup battery-monitor &

5. A fix in Notification.py for the proper working of upper warning

I know it is odd but, I had to fix this:
#                                     ↓↓↓ your python version of install             ↓↓↓ your python version
sudo nano /home/USERNAME/.local/lib/python3.8/site-packages/battery_monitor-0.0.0-py3.8.egg/battery_monitor/Notification.py
# change the old lines with the new ones
         elif state == 'charging':
NEW            if (percentage >= self.upper_threshold_warning and
OLD            if (percentage != self.last_percentage and
                 remaining != "discharging at zero rate - will never fully discharge" and
                 self.last_notification != "upper_threshold_warning"):
                     self.last_percentage = percentage
NEW                  self.last_notification = "upper_threshold_warning"
OLD                  self.last_notification!="upper_threshold_warning"

Related: https://www.linuxquestions.org/questions/slackware-14/help-to-build-libindicator-libappindicator-for-battery-monitor-4175668385/


Could be very related as i ended up looking into how to restore battery indicator

$ sudo systemctl restart upower

Job for upower.service failed because a fatal signal was delivered to the control process. See "systemctl status upower.service" and "journalctl -xe" for details.

$ systemctl --failed

● upower.service loaded failed failed Daemon for power management

so i had to install

$ sudo apt install systemd:amd64 systemd-timesyncd:amd64

and now service started and battery indicator is back

$ sudo systemctl start upower

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.