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:
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 .
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
appelleacpi
pour connaître le niveau actuel de la batterie. Il définira la sortie de la commandeacpi
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 à et 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).
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
Faites preuve de prudence et ajustez à votre guise le contenu ????
$ 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
critical-battery-action
$ gsettings set org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'
Lorsque vous utilisez Linux Mate, vous devez remplacer org.gnome
par org.mate
et éventuellement modifier vos clés. De ArchWiki :
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.
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