I have installed Linux Mint 22 in a DELL laptop with a buggy ACPI implementation (the kernel complains about it during boot). The laptop hangs if it goes to sleep (I tried various Linux distros/kernel-versions, the result is the same).

Because of that, I have disabled SLEEP in the firmware (latest version for that laptop btw). So basically, when you close the lid, nothing happens (it just locks the screen).

However, sometimes you might be in a hurry and you close the lid to do something else, and then you forget about it. The result would be for the battery to run dry, which eventually destroys the battery.

My question is: what would be the best way to setup an audible alarm if the battery reaches 20%?

You are viewing a single thread.
View all comments
5 points

Systemd timer to poll upower when running on battery power, when battery is at 20%, use either system beep or set system volume and play a sound?

permalink
report
reply
3 points

I’m sure is possible, but I’m actually asking for the exact steps/script, not the general idea. :)

permalink
report
parent
reply
9 points

Remove the loop and sleep from the script you created so it just runs and exits.

Then create a file at /etc/systemd/system/battery-alarm.service with the following:

[Unit]
Description="Sound alarm when battery is low"

[Service]
ExecStart=/usr/local/bin/battery-alarm.sh # point this to your script

Then create a file at /etc/systemd/system/battery-alarm.timer with the following:

[Unit]
Description="Run battery-alarm.service every 2 mins"

[Timer]
OnUnitActiveSec=2m
Unit=battery-alarm.service

[Install]
WantedBy=multi-user.target

Then sudo systemctl enable --now helloworld.timer to start and enable the timer on boot.

This will be a little more robust then your current script. It works without the user needing to log in. And there is nothing to get killed so will always trigger. The current script will just silently stop working if it ever gets killed or crashes.

permalink
report
parent
reply
3 points

thanks, I’ll try that!

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 7.7K

    Monthly active users

  • 6.5K

    Posts

  • 179K

    Comments