Est-il possible de sortir automatiquement de la suspension?

8

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/sda2c'é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/moduleet mis

SLEEP_MODULE=uswsusp

en elle.

Comme mon ordinateur portable n'était pas reconnu ( # s2ram --testaffiché Machine unknown), j'ai dû utiliser l' --forceoption.

Dans /usr/lib/pm-utils/module.d/uswsuspj'ai également changé toutes les s2ramoptions en s2both.

Wayne Werner
la source
5
Tu sais rtcwake? Cette réponse pourrait être inspirante.
sr_
2
Voir aussi askubuntu.com/questions/12383/…
derobert
Excellentes solutions, si s2both ne fonctionne pas!
Wayne Werner

Réponses:

7

On dirait que vous voulez une suspension suspendue aux deux / hybride qui devrait faire toutes les étapes de l'hibernation, y compris l'écriture de la RAM sur le disque, mais pas réellement éteindre la machine; à la place, il ira en S3 (veille). Si vous réveillez la machine avant que la batterie ne meure, ce sera assez rapide; si la batterie meurt, ce sera comme si vous l'aviez mise en veille prolongée.

derobert
la source
Cela semble très prometteur - je vérifierai cela ce soir!
Wayne Werner
Marche parfaitement! Je l'ai installé et tiré sur la batterie et ma session est revenue en ligne.
Wayne Werner