Script Linux para avisar de los ciclos de carga de la batería

Las baterías de todos los portátiles, son el elemento más maleable del que están compuestos, por ello queremos ayudarte a conservarla. Si quieres saber más sobre las baterías te recomendamos la lectura de este pequeño análisis: Las baterías de Li-Ion: breve análisis y conclusiones

A continuación, vamos a dejar un script funcional para ArchLinux y nuestra modificación para Ubuntu. El script se encarga de avisarnos cuando la batería está suficientemente cargada, para que podamos desconectar el cargador. En nuestro caso lo hemos puesto al 80%, y volver a avisarnos cuando la batería se ha descargado al 30%.

Antes de ponernos manos a la obra, queremos destacar la gran labor de la comunidad Linux, en su búsqueda de mejoras colaborativas. Como la de Ernesto Acosta (@elavdeveloper) que desarrolló hace unos días la primera versión de este script.

Script ArchLinux:

#!/bin/bash
#
# -*- ENCODING: UTF-8 -*-
# Este programa es software libre. Puede redistribuirlo y/o
# modificarlo bajo los términos de la Licencia Pública General
# de GNU según es publicada por la Free Software Foundation,
# bien de la versión 2 de dicha Licencia o bien (según su
# elección) de cualquier versión posterior.
#
# Si usted hace alguna modificación en esta aplicación,
# deberá siempre mencionar al autor original de la misma.
#
# DesdeLinux.net CC-BY-SA 2015
# Autor: ELAV  
BATLVL=$(cat /sys/class/power_supply/BAT1/capacity)
if [ $BATLVL -ge 80 ]; then
    if [ ! -a /tmp/batwarn ]; then
        notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Desconecta el cargador por favor" ;
        touch /tmp/batwarn ;
    elif [ $BATLVL -le 30 ]; then
        if [ ! -a /tmp/batwarn ]; then
            notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Conecta el cargador por favor"
            touch /tmp/batwarn ;
        fi
    else
        if [ -a /tmp/batwarn ]; then
            rm -f /tmp/batwarn ;
        fi
   fi     
fi

Script para Ubuntu:

#!/bin/bash
#
# -*- ENCODING: UTF-8 -*-
# Este programa es software libre. Puede redistribuirlo y/o
# modificarlo bajo los términos de la Licencia Pública General
# de GNU según es publicada por la Free Software Foundation,
# bien de la versión 2 de dicha Licencia o bien (según su
# elección) de cualquier versión posterior.
#
# Si usted hace alguna modificación en esta aplicación,
# deberá siempre mencionar al autor/es original/es de la misma.
# DesdeLinux.net CC-BY-SA 2015
# Autor: ELAV  
# Apatado a Ubuntu por Alejandro de www.SLIMBOOK.es el ultrabook linux :)
BATLVL=$(cat /sys/class/power_supply/BAT0/capacity) if [ $BATLVL -ge 80 ]; then if [ ! -f /tmp/batwarn ]; then notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Desconecta el cargador por favor" ; touch /tmp/batwarn ; elif [ $BATLVL -le 30 ]; then if [ ! -f /tmp/batwarn ]; then notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Conecta el cargador por favor" touch /tmp/batwarn ; fi else if [ -f /tmp/batwarn ]; then rm -f /tmp/batwarn ; fi fi fi

Copia el script que corresponda (según tu sistema operativo) en un fichero, que en este caso se ha llamado bat_notificacion.sh y se ha ubicado en nuestra carpeta del usuario. A continuación dale permisos de ejecución:

chmod a+x ~/bat_notificacion.sh

Luego crea un tarea cron entrando en:

crontab -e

y pegando esta línea al final, para que se ejecute cada 5 minutos:

*/5 * * * *   sh ~/bat_notificacion.sh

Guardas, sales y fin :)

Corrección y actualización para Ubuntu 15.10: (muchas gracias al usuario Pedro por su aporte!)

#!/bin/bash
#
# -*- ENCODING: UTF-8 -*-
# Este programa es software libre. Puede redistribuirlo y/o
# modificarlo bajo los términos de la Licencia Pública General
# de GNU según es publicada por la Free Software Foundation,
# bien de la versión 2 de dicha Licencia o bien (según su
# elección) de cualquier versión posterior.
#
# Si usted hace alguna modificación en esta aplicación,
# deberá siempre mencionar al autor/es original/es de la misma.
# DesdeLinux.net CC-BY-SA 2015
# Autor: ELAV  
# Apatado a Ubuntu por Alejandro de www.SLIMBOOK.es el ultrabook linux :)
BATLVL=$(cat /sys/class/power_supply/BAT1/capacity)
if [ $BATLVL -ge 80 ]; then if [ ! -e /tmp/batwarn ]; then notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Desconecta el cargador por favor" ; touch /tmp/batwarn ; fi elif [ $BATLVL -le 30 ]; then if [ ! -e /tmp/batwarn ]; then notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Conecta el cargador por favor" touch /tmp/batwarn ; fi else if [ -e /tmp/batwarn ]; then rm -f /tmp/batwarn ; fi fi

Script Linux para avisar de los ciclos de carga de la batería
Eusebio Giner Slimbook
30 agosto, 2015
Compartir
Categorías
Editar
ArchivO