Вот моя проблема:
У меня есть ноутбук с Arch, который я просто держу дома. У него хорошее 4-часовое время автономной работы, но иногда моя дочь играет рядом с тем местом, где ее держат, и заканчивает тем, что вытягивает вилку. Что ж, когда я вернулся домой через 5 часов, у моего ноутбука был жесткий выключатель.
Кроме того, иногда я оставляю это приостановленным и забываю об этом приблизительно один день - та же самая проблема.
Вот мое предложение:
Поэтому я подумал, что смогу сделать работу cron, которая будет запускаться каждые 15 или 30 минут или около того, проверяя срок службы батареи. Если время автономной работы осталось <N минут, я могу просто перевести ноутбук в спящий режим. Это будет работать нормально, если мой ноутбук работает нормально. Но если меня отстранят, не так уж и много. Итак, у меня вопрос в два раза - есть ли лучший способ сделать это, и если нет, возможно ли сделать какой-то мониторинг в режиме ожидания - в основном просто запустить эту работу cron?
Вот что сработало:
Следуя инструкциям uswsusp на Arch wiki, я установил uswsusp из AUR . Используя следующую команду:
wayne@jughead:~$ swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 530140 56744 -1
Я обнаружил, /dev/sda2
было имя моего раздела подкачки. Так что я установил это в моем/etc/suspend.conf
snapshot device = /dev/snapshot
resume device = /dev/sda2
Я добавил uresume в свой mkinitcpio.conf здесь:
HOOKS="base udev autodetect pata scsi sata resume uresume filesystems usbinput fsck"
Я создал /etc/pm/config.d/module
и положил
SLEEP_MODULE=uswsusp
в этом.
Так как мой ноутбук не был распознан ( # s2ram --test
отображен Machine unknown
), мне пришлось воспользоваться этой --force
опцией.
В /usr/lib/pm-utils/module.d/uswsusp
Я также изменил все s2ram
параметры на s2both
.
rtcwake
? Этот ответ может быть вдохновляющим.