Comment configurer l'ordinateur pour suspendre lorsque la batterie est extrêmement faible?

21

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

Satchit Bhogle
la source
Quelle version d'Ubuntu utilisez-vous?
Anderson Green

Réponses:

7

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

Vous ne pouvez pas suspendre lorsque la puissance est critique, pour suspendre, vous avez besoin d'énergie pour enregistrer la session dans la RAM vous permettant de reprendre plus rapidement, si vous perdez de l'énergie, vous perdez l'état de suspension actuel.

Hibernate copie l'état actuel sur le disque dur, il est plus lent mais vous pouvez couper l'alimentation.

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

Mark Rooney
la source
7
Dans un monde idéal, peut-être. Je l'adorerais si je pouvais configurer ma machine pour suspendre lorsqu'elle tombe en dessous, par exemple 15% de la batterie (assez facilement pendant plusieurs heures en suspension) car en l'état, je ne peux que la configurer pour l'arrêt (ce qui garantit que vous perdez données) ou hibernation (qui est complètement cassé sur ma machine). Voici donc les contraintes inutiles ...
Tomislav Nakic-Alfirevic
2
Je fais face au même problème. Il se suspendait lorsque la batterie est extrêmement faible. Mais comme dans la question, j'ai accidentellement cliqué sur l'option "Lorsque l'alimentation est extrêmement faible" sous Paramètres système> Alimentation. L'entrée d'origine était vide mais maintenant je ne peux que sélectionner «Éteindre». Par conséquent, mon ordinateur s'arrête lorsque la batterie est extrêmement faible. Je voudrais le faire suspendre dans ce cas. Je ne sais pas comment revenir à l'état d'origine où il était suspendu.
Mukesh Chapagain
1
Dans Ubuntu 12.04, l'option "mise en veille prolongée" est désactivée et l'ordinateur redémarre au lieu de se suspendre lorsque la batterie est extrêmement faible.
Anderson Green
1
@chapagain Je suis confronté exactement au même problème. Quelle version d'Ubuntu utilisez-vous?
Anderson Green
1
@AndersonGreen J'utilise Ubuntu 12.04
Mukesh Chapagain
20

Pour redéfinir ce paramètre sur suspend, utilisez dconf-editor. Accédez à org.gnome.settings-daemon.plugins.power et modifiez l'action de batterie critique à suspendre.

Alternativement, dans une session de terminal, utilisez la commande:

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

La gsettingscommande est résidente par défaut et dconf-editornécessite une installation via:

sudo apt-get install dconf-tools
AtomHeartFather
la source
Existe-t-il un bug sur Launchpad pour ce comportement de suspension en blanc?
NoBugs
Ne fonctionne plus depuis GNOME 3.28.2 . Quelqu'un a-t-il une solution alternative?
orschiro
9

Je n'ai pas suffisamment de représentant pour éditer ou commenter, donc si quelqu'un le souhaite, c'est un commentaire / éditer pour la réponse d'AtomHeartFather.

Vous pouvez également modifier les valeurs du pourcentage considéré comme batterie faible / critique à l'aide de dconf-tools. Dans la même section d'alimentation, modifiez les valeurs suivantes aux pourcentages souhaités.

percentage-action

percentage-critical

percentage-low

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

RayfenWindspear
la source
à des pourcentages de changement, selon cette réponse, l' use-time-for-policyentrée doit également être changé (décochée, ou réglé sur « faux »): gsettings set org.gnome.settings-daemon.plugins.power use-time-for-policy false. Mais cela ne pas semble fonctionner pour que tous les systèmes / machines.
1

J'ai eu ce problème.

J'étais extrêmement frustré chaque fois que mon ordinateur s'éteignait pendant que je faisais un travail sérieux.

J'ai écrit un script pour vérifier l'état de l'alimentation A / C toutes les deux minutes et hiberner lorsque l'alimentation est coupée. Veuillez modifier en fonction de l'état de santé de votre batterie. Ma batterie pourrait ne fonctionner que 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

J'ai mis le script dans un fichier appelé powerMon.shet mis en place comme un cron jobqui s'exécute toutes les deux minutes.

nyxee
la source
1

Le 12.04, j'avais l'habitude sleepdde suspendre la machine lorsque la batterie était faible ou que la machine était inactive.

Bien que sleepd ne soit pas conditionné pour Ubuntu 14.04, et soit même devenu orphelin par son développeur, il est possible de le compiler et de l'installer vous-même.

Installation sur Ubuntu 12.04:

sudo apt-get install sleepd

Modifiez le fichier /etc/default/sleepdet définissez les éléments 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"

Redémarrez ensuite le démon:

sudo service sleepd restart

Il a également des options pour rester éveillé en cas d'activité réseau, mais ceux-ci ont cessé de fonctionner pour moi.

Sur ma machine, apparemment ACPI ne signalait pas toujours la température correctement, j'ai donc dû ajouter -Hpour dire à sleepd de lire les températures de upower au lieu d'ACPI. J'ai découvert les lectures incorrectes, après quelques syspends inattendus, en ajoutant -vet en regardant le fichier journal avec tail -f /var/log/*log | grep --line-buffered sleepd.

(J'ai eu un bug étrange sur un ordinateur portable avec 12.04 que la machine se réveillait immédiatement après la suspension, mais uniquement si sleepd était suspendu en raison d'une batterie faible, pas en raison d'une période 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.)

joeytwiddle
la source
0

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

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

(au cas où il afficherait un niveau extrêmement bas, même à 100%)

Rápli András
la source
0

J'ai écrit un simple script bash qui le fera sur n'importe quel linux ... il suffit d'ajouter ce script au démarrage ... toutes les deux minutes, le script vérifie l'état de la batterie et suspend 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
Pankaj Kumar
la source