Voici mon problème:
J'ai un ordinateur portable exécutant Arch que je garde à la maison. Il a une bonne autonomie de 4 heures, mais parfois ma fille joue près de l'endroit où elle se trouve et finit par retirer la prise. Eh bien, quand je rentre à la maison 5 heures plus tard, mon ordinateur portable a eu un arrêt dur.
De plus, parfois je le laisse suspendu et l'oublie pendant un jour ou deux - même problème.
Voici ma proposition:
Donc, je pensais que je pouvais faire un travail cron qui s'exécute toutes les 15 ou 30 minutes ou quelque chose, en vérifiant la durée de vie de la batterie. Si la durée de vie de la batterie est <N minutes restantes, je pourrais simplement mettre en veille prolongée l'ordinateur portable. Cela fonctionnerait bien si mon ordinateur portable est en mode «marche» normal. Mais si je suis suspendu, pas tant que ça. Ma question est donc double - y a-t-il une meilleure façon de le faire, et sinon, est-il possible de faire une sorte de surveillance en mode suspension - simplement exécuter ce travail cron?
Voici ce qui a fonctionné:
En suivant les instructions uswsusp sur le wiki Arch, j'ai installé uswsusp depuis l' AUR . En utilisant la commande suivante:
wayne@jughead:~$ swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 530140 56744 -1
J'ai découvert que /dev/sda2
c'était le nom de ma partition de swap. J'ai donc mis cela dans mon/etc/suspend.conf
snapshot device = /dev/snapshot
resume device = /dev/sda2
J'ai ajouté uresume dans mon mkinitcpio.conf ici:
HOOKS="base udev autodetect pata scsi sata resume uresume filesystems usbinput fsck"
J'ai créé /etc/pm/config.d/module
et mis
SLEEP_MODULE=uswsusp
en elle.
Comme mon ordinateur portable n'était pas reconnu ( # s2ram --test
affiché Machine unknown
), j'ai dû utiliser l' --force
option.
Dans /usr/lib/pm-utils/module.d/uswsusp
j'ai également changé toutes les s2ram
options en s2both
.
rtcwake
? Cette réponse pourrait être inspirante.