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%?

  • Eugenia@lemmy.mlOP
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    2 months ago

    Ok, I managed it by myself after a bit of tinkering. This is the bash script:

    #!/bin/bash
    while true
        do 
            battery_level=`cat /sys/class/power_supply/BAT0/capacity`
            battery_status=`cat /sys/class/power_supply/BAT0/status`
            if [ $battery_status = "Discharging" ] && [ $battery_level -lt 21 ];
            then
                /usr/bin/aplay  /home/eugenia/Music/alarm.wav
            fi
           sleep 120
        done
    

    Obviously change the path the .wav audio file to suit yours (I downloaded mine from the internet). Then, save the file (in my case, I named it battery.sh), make the script file executable ( chmod +x battery.sh via the terminal, or via the file manager).

    Then add it to the Startup Applications settings panel on your distro (usually gnome and cinnamon have one). The alarm will sound if the battery reaches below 21%.

    • Deckweiss@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      2 months ago

      Since you say

      change the path the .wav audio file

      fyi, the sys BAT paths are also different per laptop. Just in case it doesn’t work for somebody else or for you on a different laptop.