web-dev-qa-db-fra.com

Mettre en veille / suspendre en cas de niveau de batterie critique: où dois-je le configurer à partir de MATE GUI?

J'ai acheté une nouvelle batterie pour mon ordinateur portable. Il exécute Ubuntu MATE 16.04.5 LTS.

Cette nouvelle batterie a une capacité normale, charge et offre une longue vie :)

Mais j'ai un petit problème: lorsque le niveau de la batterie passe sous un certain niveau, l'ordinateur portable s'éteint immédiatement. Je me souviens que cela passait normalement à la suspension avec une vieille batterie.

Avec une nouvelle batterie, je peux suspendre manuellement et tous les tests liés à la suspension (tels que pm-is-supported --suspend, pm-is-supported --hibernate, pm-is-supported --suspend-hybrid) renvoie 0, ces actions sont donc prises en charge.

Pour des résultats plus prévisionnels, j'ai réinitialisé tous les paramètres avec

gsettings reset-recursively org.mate.power-manager

Donc, mon GSettings rapporte ce qui suit:

$ gsettings list-recursively | egrep "critical|action|low|time" | grep -i power | sort -u
org.mate.power-manager action-critical-battery 'hibernate'
org.mate.power-manager action-critical-ups 'shutdown'
org.mate.power-manager action-low-ups 'hibernate'
org.mate.power-manager action-sleep-type-ac 'suspend'
org.mate.power-manager action-sleep-type-battery 'hibernate'
org.mate.power-manager idle-dim-time 10
org.mate.power-manager info-history-time 21600
org.mate.power-manager notify-low-capacity true
org.mate.power-manager notify-low-power true
org.mate.power-manager percentage-action 2
org.mate.power-manager percentage-critical 3
org.mate.power-manager percentage-low 10
org.mate.power-manager show-actions true
org.mate.power-manager time-action 120
org.mate.power-manager time-critical 300
org.mate.power-manager time-low 1200
org.mate.power-manager use-time-for-policy true

Dans /etc/UPower/UPower.conf j'ai les valeurs par défaut:

$ cat /etc/UPower/UPower.conf | grep -v ^# | egrep "Critical|Low|Action|Time"
PercentageLow=10
PercentageCritical=3
PercentageAction=2
TimeLow=1200
TimeCritical=300
TimeAction=120
CriticalPowerAction=HybridSleep

Les MATE Préférences de gestion de l'alimentation (mate-power-preferences) ne comportent pas d'élément graphique permettant de définir le niveau de batterie critique:

mate-power-preferences

Où dois-je définir le niveau de batterie critique pour l'hibernation ou la suspension de l'interface graphique MATE?
La modification de valeur via GSettings ou Dconf change-t-elle la valeur dans UPower.conf?
Où d'autre devrais-je définir l'action au niveau de batterie critique?


Mises à jour:
1. Le modèle de portable est Asustek UX32A.
Sortie de cat /sys/class/power_supply/BAT0/uevent:

POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=481
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=7400000
POWER_SUPPLY_VOLTAGE_NOW=7400000
POWER_SUPPLY_POWER_NOW=11151000
POWER_SUPPLY_ENERGY_FULL_DESIGN=48248000
POWER_SUPPLY_ENERGY_FULL=50038000
POWER_SUPPLY_ENERGY_NOW=46346000
POWER_SUPPLY_CAPACITY=92
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=UX32-65
POWER_SUPPLY_MANUFACTURER=ASUSTeK
POWER_SUPPLY_SERIAL_NUMBER= 

et sortie de upower --dump:

Device: /org/freedesktop/UPower/devices/line_power_AC0
  native-path:          AC0
  power supply:         yes
  updated:              Sun Nov  4 12:43:52 2018 (233 seconds ago)
  has history:          no
  has statistics:       no
  line-power
    warning-level:       none
    online:              no
    icon-name:          'ac-adapter-symbolic'

Device: /org/freedesktop/UPower/devices/battery_BAT0
  native-path:          BAT0
  vendor:               ASUSTeK
  model:                UX32-65
  power supply:         yes
  updated:              Sun Nov  4 12:45:52 2018 (113 seconds ago)
  has history:          yes
  has statistics:       yes
  battery
    present:             yes
    rechargeable:        yes
    state:               discharging
    warning-level:       none
    energy:              46.509 Wh
    energy-empty:        0 Wh
    energy-full:         46.916 Wh
    energy-full-design:  48.248 Wh
    energy-rate:         11.514 W
    voltage:             7.4 V
    time to empty:       4.0 hours
    percentage:          92%
    capacity:            81.4562%
    technology:          lithium-ion
    icon-name:          'battery-full-symbolic'
  History (charge):
    1541324752  92.000  discharging
  History (rate):
    1541324752  11.514  discharging

Device: /org/freedesktop/UPower/devices/DisplayDevice
  power supply:         yes
  updated:              Sun Nov  4 12:45:52 2018 (113 seconds ago)
  has history:          no
  has statistics:       no
  battery
    present:             yes
    state:               discharging
    warning-level:       none
    energy:              46.509 Wh
    energy-full:         46.916 Wh
    energy-rate:         11.514 W
    time to empty:       4.0 hours
    percentage:          92%
    icon-name:          'battery-full-symbolic'

Daemon:
  daemon-version:  0.99.4
  on-battery:      yes
  lid-is-closed:   no
  lid-is-present:  yes
  critical-action: HybridSleep

2. TLP n'est pas installé sur mon système.
3. J'ai réinitialisé tous les paramètres sans succès. Tout ce que j'ai demandé question sur Ubuntu-MATE.community .

3
N0rbert

Je ne trouve toujours pas de solution graphique pour mon problème. Je suis donc passé à la solution semi-graphique.

J'ai résolu ce problème en utilisant un autre indicateur de niveau de batterie - il s'appelle fdpowermon:

Description-fr: simple moniteur de charge de batterie pour ordinateurs portables avec ACPI

fdpowermon est un simple script Perl qui installe une icône dans une barre d'état système compatible avec la spécification freedesktop.org.
Toutes les trois secondes, fdpowermon appelle acpi pour connaître le niveau actuel de la batterie. Il définira la sortie de la commande acpi sous forme d’info-bulle et mettra à jour l’icône utilisée, le cas échéant.
De plus, fdpowermon peut éventuellement appeler des sous-programmes Perl lorsque la puissance atteint un niveau donné. Aucune de ces sous-routines n'est toutefois fournie ou activée par défaut.

Alors je l'ai installé

Sudo apt-get install fdpowermon

et créé un dossier de configuration pour cette application avec:

mkdir -p ~/.config/fdpowermon/

et placé ici deux fichiers:

1. fichier avec mon thème modifié (dans discharging tableau, notez le 3ème élément 20:battery-low.png, il sera utilisé pour suspendre le script Perl):

cat << \EOF > ~/.config/fdpowermon/theme.cfg 
[mytheme]
steps = 8
dir = /usr/share/icons/oxygen/22x22/status
# The below line makes fdpowermon not show an icon when the power is
# connected and the battery is completely full. This is by design,
# because that's how the author likes to use the software, and he is of
# the opinion that it's easier to ship software configured just the way
# he likes it rather than to have to reconfigure things.
#
# Requests are often made to change this default. This will not happen,
# but it's an easy change: just change the last entry in this "charging"
# configuration so that it says "100:battery-charging.png" rather than
# "99:battery-charging.png", and you're done!
charging = 0:battery-charging-low.png, 10:battery-charging-low.png, 20:battery-charging-caution.png, 30:battery-charging-caution.png, 50:battery-charging-040.png, 70:battery-charging-060.png, 90:battery-charging-080.png,100:battery-charging.png
discharging = 2:battery-missing.png:battery-low.png,10:battery-low.png, 20:battery-low.png,30:battery-caution.png,50:battery-040.png,70:battery-060.png,90:battery-080.png,100:battery-100.png
EOF

2. Fichier de script Perl avec action de suspension dbus:

cat << \EOF > ~/.config/fdpowermon/theme.pl
# Copy this file to ~/.config/fdpowermon/theme.pl.
#
# If you don't like the 'default' theme, define a new one by copying
# /etc/fdpowermon/theme.cfg to ~/.config/fdpowermon/theme.cfg and
# renaming/adjusting the 'default' theme there to something new.
# Don't forget to replace "default" below with your new theme name.
#
# See the manpage fdpowermon(1) for full details on what you can do
# here.

# define a suspend action
sub suspend {
    system("dbus-send --print-reply --system --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend boolean:true");
}

# initialize our theme, from /etc/fdpowermon/theme.cfg or
# ~/.config/fdpowermon/theme.cfg
my $theme = fdpowermon::theme::get_theme("mytheme");

# on the discharge event for the lowest element in the list of steps (0 = first
# in the index, "d" for discharge), call the "suspend" sub defined above
$theme->set_event( 2, \&suspend, 'd' );
EOF

(La commande DBus suspend vient de cette bonne réponse ).

Et finalement, j’ai désactivé MATE le voyant de la batterie de Power Manager avec

gsettings set org.mate.power-manager icon-policy 'never'

et créé le fichier de bureau à démarrage automatique pour que fdpowermon apparaisse dans le tiroir:

mkdir -p ~/.config/autostart

cat << EOF > ~/.config/autostart/fdpowermon.desktop 
[Desktop Entry]
Type=Application
Exec=fdpowermon
Hidden=false
X-MATE-Autostart-enabled=true
Name[en_US]=fdpowermon
Name=fdpowermon
Comment[en_US]=
Comment=
EOF

En conséquence, j'ai une jolie icône de batterie dans le bac de battery-charging à battery-caution et battery-low et le système suspend automatiquement le niveau de charge de la batterie à 20% (le niveau est configurable, mais ma nouvelle batterie semble afficher des valeurs faibles de manière incorrecte).

1
N0rbert

Méthode graphique

De: Modifier le niveau de batterie critique et l'action dans Linux Mint 18 Cinnamon vous pouvez installer dconf-editor à l'aide de:

$ Sudo apt-get install dconf-editor

Ensuite, allez à org -> cannelle -> settings-daemon -> plugins -> power

mate gsettings power.png

  • Les paramètres par défaut sont (en%):
  • Action critique de la batterie: veille prolongée
  • Critique: 2
  • Action: 2
  • Faible: 10

Faites preuve de prudence et ajustez à votre guise le contenu ????


Réponse originale et modifications ci-dessous

Vérifiez vos paramètres actuels avec:

$ gsettings list-recursively | grep critical
org.gnome.settings-daemon.plugins.power critical-battery-action 'shutdown'
org.gnome.settings-daemon.plugins.power percentage-critical 3
org.gnome.settings-daemon.plugins.power time-critical 300

Changer votre critical-battery-action

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

Différences Linux Mate

Lorsque vous utilisez Linux Mate, vous devez remplacer org.gnome par org.mate et éventuellement modifier vos clés. De ArchWiki :

Décharge de la batterie

Pour désactiver la notification de décharge de la batterie, exécutez:

$ gsettings set org.mate.power-manager.notify-discharging false

Cependant, dans Ubuntu, il n'y a pas d'équivalent.

Trouver tous les paramètres d'alimentation de Mate

Pour trouver tous les paramètres d'alimentation Mate, utilisez:

$ gsettings list-recursively | grep power-manager

Dans Ubuntu, vous utiliseriez:

$ gsettings list-recursively | grep plugins.power
2
WinEunuuchs2Unix