Предотвратить временную приостановку / спящий режим из сценария?

Есть ли способ предотвратить временную приостановку / спящий режим из сценария?

Я хочу, чтобы экран при необходимости переходил в режим энергосбережения, но компьютер не останавливается. Caffeine не позволяет этого: отключает все или ничего.

Почему я хочу это сделать? Потому что иногда я загружаю огромное количество файлов с сервера через FTP. Эти загрузки могут занять несколько часов.

7
задан 9 October 2011 в 15:09

2 ответа

Чтобы предотвратить гибернацию, создайте /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

После перезагрузки или удаления этого файла, приостановка и спящий режим снова работает.

0
ответ дан 9 October 2011 в 15:09

Просто добавьте файл к /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
0
ответ дан 9 October 2011 в 15:09

Другие вопросы по тегам:

Похожие вопросы: