🚀 Automatiser les Limites de Charge de Batterie sur Arch Linux (KDE Plasma)
- Jean-Christophe Miler
- Linux
- 19 décembre 2025
Table of Contents
Si vous utilisez un ordinateur portable avec Linux, vous savez probablement que garder votre batterie Ă 100% tout en Ă©tant connectĂ© Ă l’alimentation secteur toute la journĂ©e est une recette pour une dĂ©gradation prĂ©maturĂ©e de la batterie. La plupart des ordinateurs portables modernes supportent un “Seuil de Batterie” ou “Mode Conservation”, gĂ©nĂ©ralement plafonnĂ© Ă 80%.
Cependant, parfois les paramètres natifs KDE Plasma (powerdevil) refusent simplement d’appliquer ces limites au matĂ©riel. Dans ce guide, nous allons contourner l’interface graphique et utiliser des UnitĂ©s Systemd pour forcer une limite de charge de 80% chaque fois que vous branchez votre chargeur.
Le Problème
Dans KDE Plasma, vous pourriez voir un paramètre pour “Limite de Charge” dans le menu Gestion de l’Énergie. En arrière-plan, cela Ă©crit dans powerdevilrc. Mais si votre kernel ne communique pas parfaitement avec Plasma, ce paramètre reste une suggestion plutĂ´t qu’une règle.
Nous voulons une solution robuste, au niveau du système, qui :
DĂ©tecte quand l’Adaptateur Secteur est branchĂ©.
Écrit immĂ©diatement la limite de 80% dans l’interface
sysfsdu kernel.Opère avec des privilèges root automatiquement.
Étape 1 : Découvrir Vos Noms de Matériel
Linux mappe le matériel aux fichiers dans /sys/class/power_supply/. Ces noms varient selon le fabricant (par exemple, Lenovo, Dell, ASUS).
Exécutez cette commande :
ls /sys/class/power_supply/
Notez les résultats :
L’Adaptateur Secteur : GĂ©nĂ©ralement nommĂ©
AC,ACAD,ADP1ouAC0.La Batterie : Généralement nommée
BAT0ouBAT1.
Pour ce guide, nous supposerons que votre adaptateur secteur est ACAD et votre batterie est BAT1. Remplacez ces noms dans les scripts ci-dessous par vos noms réels.
Étape 2 : Créer le Service Systemd
Ce service effectue le travail rĂ©el d’Ă©crire la valeur “80” dans le fichier de seuil de la batterie.
Créez le fichier :
sudo nano /etc/systemd/system/battery-limit-ac.service
Collez ce qui suit :
[Unit]
Description=Définir la Limite de Charge de Batterie à 80%% sur Secteur
After=multi-user.target
[Service]
Type=oneshot
# S'assurer que le fichier de seuil de batterie existe avant l'exécution
ConditionPathExists=/sys/class/power_supply/BAT1/charge_control_end_threshold
# 1. Vérifier si le secteur est réellement en ligne (1 = branché)
ExecStartPre=/bin/bash -c 'grep -q "1" /sys/class/power_supply/ACAD/online'
# 2. Si branché, définir la limite à 80
ExecStart=/bin/sh -c 'echo "80" > /sys/class/power_supply/BAT1/charge_control_end_threshold'
[Install]
WantedBy=multi-user.target
Étape 3 : CrĂ©er l’UnitĂ© Path Systemd
Un “Service” s’exĂ©cute une fois. Une “UnitĂ© Path” surveille un fichier pour les changements. Nous voulons surveiller le statut online de votre adaptateur secteur afin que le service se dĂ©clenche chaque fois que vous le branchez.
Créez le fichier :
sudo nano /etc/systemd/system/battery-limit-ac.path
Collez ce qui suit :
[Unit]
Description=Surveiller le Statut Secteur pour Déclencher la Limite de Batterie
[Path]
# Surveiller le fichier de statut AC pour les changements (branchement/débranchement)
PathModified=/sys/class/power_supply/ACAD/online
[Install]
WantedBy=multi-user.target
Étape 4 : Activer et Tester
Maintenant, dites au système de commencer Ă surveiller ces Ă©vĂ©nements d’alimentation.
# Recharger systemd pour voir les nouveaux fichiers
sudo systemctl daemon-reload
# Activer l'unité path (cela reste actif en arrière-plan)
sudo systemctl enable --now battery-limit-ac.path
# Démarrer manuellement le service une fois pour vérifier que ça fonctionne maintenant
sudo systemctl start battery-limit-ac.service
Vérification
Pour confirmer que la limite est active, vérifiez la valeur directement depuis le kernel :
cat /sys/class/power_supply/BAT1/charge_control_end_threshold
Si elle retourne 80, vous avez réussi !
Dépannage
Permission RefusĂ©e : Si vous essayez d’exĂ©cuter la commande
echomanuellement en tant qu’utilisateur, cela Ă©chouera. C’est pourquoi nous utilisons Systemd—il exĂ©cute la commande en tant queroot.Fichier Non TrouvĂ© : Si
charge_control_end_thresholdn’existe pas, votre ordinateur portable peut utiliser un nom diffĂ©rent commecharge_stop_threshold. VĂ©rifiezls /sys/class/power_supply/BAT1/pour voir les fichiers disponibles.Nom AC : Si le service Ă©choue avec “No such file” pour l’adaptateur secteur, vĂ©rifiez doublement l’Étape 1. Votre chargeur pourrait ĂŞtre nommĂ©
AC0ouADP1au lieu deACAD.
Conclusion
En utilisant une unitĂ© Path Systemd au lieu d’un script KDE standard, nous avons créé une solution “configurer et oublier”. Votre batterie s’arrĂŞtera maintenant de se charger Ă 80% chaque fois que vous la branchez, prolongeant considĂ©rablement sa durĂ©e de vie.

