Есть ли способ предотвратить временную приостановку / спящий режим из сценария?
Я хочу, чтобы экран при необходимости переходил в режим энергосбережения, но компьютер не останавливается. Caffeine
не позволяет этого: отключает все или ничего.
Почему я хочу это сделать? Потому что иногда я загружаю огромное количество файлов с сервера через FTP. Эти загрузки могут занять несколько часов.
Чтобы предотвратить гибернацию, создайте /var/run/do-not-hibernate
:
sudo touch /var/run/do-not-hibernate
Файл /usr/lib/pm-utils/sleep.d/000kernel-change
выполняет эту работу. Если вам нужно отключить приостановку, создайте для этого новый файл, скажем /etc/pm/sleep.d/000_prevent_suspend_hibernate
:
#!/bin/sh
# Prevents the machine from suspending or hibernating when
# the file /var/run/do-not-hibernate-or-suspend exist
case "$1" in
suspend|hibernate)
[ -f /var/run/do-not-hibernate-or-suspend ] && exit 1
;;
esac
Сделайте его исполняемым:
sudo chmod +x /etc/pm/sleep.d/000_prevent_suspend_hibernate
В случае, если вам нужно запретить машине Приостановка или спящий режим, создайте файл:
sudo touch /var/run/do-not-hibernate-or-suspend
После перезагрузки или удаления этого файла, приостановка и спящий режим снова работает.
Просто добавьте файл к /etc/pm/sleep.d
В этом файле делают Вы проверяете, приостанавливают ли, должен быть позволен. Если не просто выходят с exit 1
.
Например:
tmp_start=...
tmp_stop=...
if [ $((tmp_stop)) -gt $((current_date)) -a $((tmp_start)) -lt $((current_date)) ]; then
logger $0: Currently RECORDING. No Suspend!
exit 1;
fi