Ecco il mio problema:
Ho un laptop con Arch che tengo a casa. Ha una buona autonomia della batteria di 4 ore, ma a volte mia figlia gioca vicino a dove è tenuta e finisce per staccare la spina. Bene, quando torno a casa 5 ore dopo, il mio laptop ha avuto un arresto improvviso.
Inoltre, a volte lo lascerò sospeso e me ne dimenticherò per circa un giorno - stesso problema.
Ecco la mia proposta:
Quindi il mio pensiero era che potevo fare un lavoro cron che funziona ogni 15 o 30 minuti o qualcosa del genere, controllando la durata della batteria. Se la durata della batteria è <N minuti rimanenti, potrei semplicemente ibernare il laptop. Funzionerebbe perfettamente se il mio laptop è normalmente acceso. Ma se sono sospeso, non così tanto. Quindi la mia domanda è duplice: esiste un modo migliore per farlo e, in caso contrario, è possibile fare una sorta di monitoraggio in modalità di sospensione, in pratica basta eseguire quel cron job?
Ecco cosa ha funzionato:
Seguendo le uswsusp istruzioni sul wiki Arch, ho installato uswsusp dal AUR . Utilizzando il seguente comando:
wayne@jughead:~$ swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 530140 56744 -1
Ho scoperto che /dev/sda2
era il nome della mia partizione di swap. Quindi ho impostato questo nel mio/etc/suspend.conf
snapshot device = /dev/snapshot
resume device = /dev/sda2
Ho aggiunto uresume nel mio mkinitcpio.conf qui:
HOOKS="base udev autodetect pata scsi sata resume uresume filesystems usbinput fsck"
Ho creato /etc/pm/config.d/module
e messo
SLEEP_MODULE=uswsusp
dentro.
Dato che il mio laptop non è stato riconosciuto ( # s2ram --test
visualizzato Machine unknown
) ho dovuto usare l' --force
opzione.
In /usr/lib/pm-utils/module.d/uswsusp
ho anche cambiato tutte le s2ram
opzioni in s2both
.
rtcwake
? Questa risposta potrebbe essere d'ispirazione.