Inilah masalah saya:
Saya memiliki laptop yang menjalankan Arch yang baru saja saya simpan di rumah. Daya tahan baterainya 4 jam, tetapi kadang-kadang putri saya bermain di dekat tempat penyimpanan dan akhirnya menarik steker. Nah, ketika saya sampai di rumah 5 jam kemudian, laptop saya mengalami shutdown yang sulit.
Selain itu, kadang-kadang saya akan membiarkannya ditangguhkan dan melupakannya selama sekitar satu hari - masalah yang sama.
Inilah usul saya:
Jadi pikiran saya adalah bahwa saya bisa membuat pekerjaan cron yang berjalan setiap 15 atau 30 menit atau sesuatu, memeriksa masa pakai baterai. Jika masa pakai baterai <N menit lagi, saya bisa hibernasi laptop. Ini akan bekerja dengan baik jika laptop saya dalam keadaan 'normal'. Tetapi jika saya diskors, jangan terlalu banyak. Jadi pertanyaan saya dua kali lipat - apakah ada cara yang lebih baik untuk melakukan ini, dan jika tidak, apakah mungkin untuk melakukan semacam pemantauan dalam mode penundaan - pada dasarnya hanya menjalankan pekerjaan cron?
Inilah yang berhasil:
Mengikuti instruksi uswsusp di Arch wiki, saya menginstal uswsusp dari AUR . Menggunakan perintah berikut:
wayne@jughead:~$ swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 530140 56744 -1
Saya menemukan /dev/sda2
adalah nama partisi swap saya. Jadi saya atur ini di/etc/suspend.conf
snapshot device = /dev/snapshot
resume device = /dev/sda2
Saya menambahkan uresume di mkinitcpio.conf saya di sini:
HOOKS="base udev autodetect pata scsi sata resume uresume filesystems usbinput fsck"
Saya membuat /etc/pm/config.d/module
dan menempatkan
SLEEP_MODULE=uswsusp
di dalamnya.
Karena laptop saya tidak dikenali ( # s2ram --test
ditampilkan Machine unknown
), saya harus menggunakan --force
opsi.
Dalam /usr/lib/pm-utils/module.d/uswsusp
saya juga mengubah semua s2ram
opsi menjadi s2both
.
rtcwake
? Jawaban ini bisa jadi inspirasional.