Page 1 sur 1
Cinnamon: arrêt auto quand la batterie est vide
Posté : mer. 11 déc. 2024 15:00
par Williame
Bonjour à tous,
Je cherche un moyen simple d’éteindre l’ordi automatiquement (Cinnamon) quand la batterie atteint 10 ou 15% de charge.
La fonction est présente sur XFCE mais je ne veux plus qu’un seul OS sur les deux ordis ( le mien et celui de ma fille) pour des raisons pratiques.
J’ai installé l’Applet BAM (?) mais elle ne fait que prévenir sans éteindre l’ordinateur et l’applet disparaît avec VLC en plein écran.
Je cherche depuis 2 jours mais je ne trouve pas et j’ai du mal à croire qu’une fonction si basique ne soit pas prévue sur Cinnamon.
Merci pour votre aide
Re: Cinnamon: arrêt auto quand la batterie est vide
Posté : mer. 11 déc. 2024 17:06
par tioker
Bonjour,
J'ai pas le courage de chercher une applet, mais un crontab devrait faire l'affaire.
Je teste la commande et je reviens...
Code : Tout sélectionner
if [[ $(cat /sys/class/power_supply/BAT0/capacity) -lt 100 ]]; then shutdown now ; fi
À TESTER
Cdlt
Re: Cinnamon: arrêt auto quand la batterie est vide
Posté : mer. 11 déc. 2024 19:55
par Williame
Williame a écrit : mer. 11 déc. 2024 15:00
Bonjour à tous,
Je cherche un moyen
simple ...
Merci les amis mais je ne comprends absolument rien à ce que vous me dites !
Cronrab, règle udev, paquet acpi, cron ...
Bon, je regarde tout ca demain
Merci

Re: Cinnamon: arrêt auto quand la batterie est vide
Posté : mer. 11 déc. 2024 22:37
par tioker
Re: Cinnamon: arrêt auto quand la batterie est vide
Posté : jeu. 12 déc. 2024 08:36
par tioker
Williame a écrit : mer. 11 déc. 2024 19:55
Cronrab, règle udev, paquet acpi, cron ...
Si tu veux faire du crontab, regarde sur internet, c'est bien mieux expliqué que ce que je pourrais dire.
Sinon, en crontab sur root (sudo crontab -e), le bash suivant fonctionne bien.
Code : Tout sélectionner
#!/bin/bash
if [[ $(cat /sys/class/power_supply/BAT0/capacity) -lt 10 ]]
then
/usr/sbin/shutdown -h now
fi
Dis nous si t'as besoin de détails.
Cdlt
Re: Cinnamon: arrêt auto quand la batterie est vide
Posté : jeu. 12 déc. 2024 11:38
par Williame
Bonjour,
Merci pour vos réponses, j'ai tout regardé mais c'est trop chaud pour moi,
je me rabats donc sur l'applet BAMS en espérant que cela suffise .
merci à vous.
PS:
J'ai demandé à Open IA machin truc de m'écrire un script correspondant à mes besoins mais même ça, je ne sais pas comment faire !
Code : Tout sélectionner
Bonjour ! Voici un script simple en Bash qui arrête l'ordinateur lorsque le niveau de batterie atteint un certain seuil. Ce script peut être configuré pour s'exécuter à chaque démarrage.
Script Bash
Créer le script :
Ouvrez un terminal et créez un nouveau fichier de script. Par exemple, vous pouvez l'appeler battery_shutdown.sh :
bash
Copier le code
nano ~/battery_shutdown.sh
Ajouter le code suivant :
bash
Copier le code
#!/bin/bash
# Seuil de décharge de la batterie (en pourcentage)
SEUIL=20
# Obtenir le niveau de batterie actuel
NIVEAU=$(cat /sys/class/power_supply/BAT0/capacity)
# Vérifier si le niveau de batterie est inférieur ou égal au seuil
if [ "$NIVEAU" -le "$SEUIL" ]; then
echo "Niveau de batterie critique ($NIVEAU%). Arrêt de l'ordinateur."
shutdown now
fi
Rendre le script exécutable :
Après avoir enregistré le fichier, vous devez le rendre exécutable :
bash
Copier le code
chmod +x ~/battery_shutdown.sh
Configuration pour l'exécution au démarrage
Pour que ce script s'exécute à chaque démarrage, vous pouvez l'ajouter à votre crontab ou à un service systemd.
Option 1 : Utiliser crontab
Ouvrez la crontab pour l'utilisateur courant :
bash
Copier le code
crontab -e
Ajoutez la ligne suivante à la fin du fichier :
bash
Copier le code
@reboot /bin/bash /home/votre_nom_utilisateur/battery_shutdown.sh
Remplacez votre_nom_utilisateur par votre nom d'utilisateur.
Option 2 : Utiliser un service systemd
Créez un fichier de service :
bash
Copier le code
sudo nano /etc/systemd/system/battery_shutdown.service
Ajoutez le contenu suivant :
ini
Copier le code
[Unit]
Description=Arrêter l'ordinateur lorsque la batterie est faible
[Service]
Type=oneshot
ExecStart=/bin/bash /home/votre_nom_utilisateur/battery_shutdown.sh
[Install]
WantedBy=multi-user.target
Activez le service pour qu'il s'exécute au démarrage :
bash
Copier le code
sudo systemctl enable battery_shutdown.service
Remarques
Assurez-vous que le chemin vers le fichier de script est correct dans les deux options.
Vous pouvez ajuster la variable SEUIL dans le script pour définir le niveau de décharge de la batterie qui déclenchera l'arrêt.
Testez le script manuellement pour vous assurer qu'il fonctionne comme prévu avant de le configurer pour qu'il s'exécute au démarrage.
Voilà, vous avez maintenant un script qui arrête votre ordinateur lorsque la batterie atteint un certain niveau de décharge, et il est configuré pour s'exécuter à chaque démarrage.