web-dev-qa-db-fra.com

Comment configurer l'ordinateur pour qu'il suspende lorsque la batterie est extrêmement faible?

J'ai accidentellement cliqué sur l'option "Lorsque l'alimentation est extrêmement basse" sous Paramètres système> Alimentation. L'entrée d'origine était vide, mais les deux seules options après avoir cliqué sont Hibernate et Shutdown. Je veux le remettre en suspension.

21
Satchit Bhogle

Il n'y a pas d'option de suspension disponible.

Vous ne pouvez pas suspendre lorsque le niveau de puissance est extrêmement bas. Pour suspendre, vous avez besoin de pouvoir pour enregistrer la session sur RAM, ce qui vous permet de reprendre plus rapidement. Si vous perdez le pouvoir, vous perdez l'état de suspension actuel.

Hibernate copie l’état actuel sur le disque dur, il est plus lent, mais vous pouvez le mettre hors tension.

L'arrêt est évident - vous perdrez toutes les données de la session active et vous aurez une nouvelle session au redémarrage.

7
Mark Rooney

Pour rétablir ce paramètre en suspension, utilisez dconf-editor. Accédez à org.gnome.settings-daemon.plugins.power et modifiez l’action critical-battery en suspension.

Vous pouvez également utiliser la commande suivante dans une session de terminal:

gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'

La commande gsettings est résident par défaut alors que dconf-editor nécessite une installation via:

Sudo apt-get install dconf-tools
20
AtomHeartFather

Je n'ai pas assez de représentants pour éditer ou commenter, donc si quelqu'un veut bien, il s'agit d'un commentaire/éditer pour la réponse d'AtomHeartFather.

Vous pouvez également modifier les valeurs pour lesquelles le pourcentage est considéré batterie faible/critique à l'aide de dconf-tools. Dans la même section d'alimentation, modifiez les valeurs suivantes en fonction des pourcentages souhaités.

percentage-action

percentage-critical

percentage-low

Remarque: Une attention particulière est accordée au paramètre percentage-action qui déclenchera le paramètre critical-battery-action.

9
RayfenWindspear

Le 12.04, j’ai utilisé sleepd pour suspendre la machine lorsque la batterie était faible ou que la machine était inactive.

Bien que sleepd ne soit pas empaqueté pour Ubuntu 14.04 et ait même été orphelin par son développeur, il est possible de le compiler et l’installer .

Installation sur Ubuntu 12.04:

Sudo apt-get install sleepd

Editez le fichier /etc/default/sleepd et définissez les paramètres suivants:

# -E       Do not poll events (since they weren't working for me).
# -c 60    Poll every 60 seconds.
# -u 900   Sleep after 15 minutes idle time when on battery,
# -U 3600  or 60 minutes when on AC power,
# -b 3     or when battery power drops below 3%.
# -H       (optional) Use upower instead of ACPI.

PARAMS="-E -c 60 -u 900 -U 3600 -b 3"

Puis redémarrez le démon:

Sudo service sleepd restart

Il existe également des options pour rester éveillé s'il y a une activité réseau, mais celles-ci ont cessé de fonctionner pour moi.

Sur ma machine, apparemment, ACPI ne signalait pas toujours correctement la température. Je devais donc ajouter -H pour indiquer à sleepd de lire les températures à partir de la source au lieu de ACPI. J'ai découvert les lectures incorrectes, après des dépenses inattendues, en ajoutant -v et en observant le fichier journal avec tail -f /var/log/*log | grep --line-buffered sleepd.

(J'avais un étrange bug sur un ordinateur portable avec 12.04 que la machine se réveillerait immédiatement après la suspension, mais seulement si sleepd était suspendue à cause d'une batterie faible, pas à cause d'un temps d'inactivité. J'espère que vous n'aurez pas cette expérience aussi! Le problème ne s'est jamais produit sous 14.04.)

1
joeytwiddle

J'ai eu ce problème.

J'étais extrêmement frustré chaque fois que mon ordinateur était en panne d'électricité, alors que je travaillais sérieusement.

J'ai écrit un script pour vérifier l'état de l'alimentation du climatiseur toutes les deux minutes et passer en veille prolongée lorsque l'appareil est mis hors tension. Veuillez modifier en fonction de l'état de votre batterie. Ma batterie peut encore fonctionner pendant deux minutes après une panne de courant.

#!/bin/bash

if [[ $(cat /sys/class/power_supply/AC0/online) == *0* ]] ; then

    echo 'On battery power'
    #pmi action suspend

    dbus-send --system --print-reply \
    --dest="org.freedesktop.UPower" \
    /org/freedesktop/UPower \
    org.freedesktop.UPower.Suspend

#else
#    echo 'On Ac Power'
fi

Je mets le script dans un fichier nommé powerMon.sh et le configure comme un cron job qui s'exécute toutes les deux minutes.

1
nyxee

J'ai écrit un script bash simple qui le fera sur n'importe quel linux ... Ajoutez juste ce script au démarrage ... toutes les deux minutes, le script vérifie l'état de la batterie et suspend sa mise en veille si la batterie est inférieure à 11% ...

#!/bin/sh
flag=0
while [ 1 ]; do
  var=$(upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "percentage"| grep -o '[0-9]*')
  if [ $var -lt 11 ] && [ $flag -eq 0 ]; then
    systemctl suspend
    flag=1
  Elif [ $var -gt 11 ] && [ $flag -eq 1 ]; then
    flag=0
  fi
  sleep 120
done
0
Pankaj Kumar

Il existe un moyen de désactiver complètement la suspension/mise hors tension.

gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'false'

(au cas où il serait très bas même à 100%)

0
Rápli András