Программно (на Java) не дать OS X уснуть - PullRequest
1 голос
/ 11 ноября 2011

OS X Lion по-прежнему засыпает, даже если программные мыши периодически извлекаются из Java-робота (это стандартный подход для предотвращения перехода компьютеров в спящий режим и задокументирован в другом месте в stackoverflow, и он работал дляя до OS X Lion).

Может кто-нибудь предложить альтернативный подход, который не требует повышения разрешений, для поддержания бодрствования машины из приложения Java?

((Резервное решениеочевидно, чтобы изменить настройки энергосбережения, чтобы машина никогда не спала, но мы бы хотели быть умнее этого, потому что требование, чтобы машина не спала, было скорее исключением, чем правилом)).

Ответы [ 2 ]

1 голос
/ 11 ноября 2011

Вам нужно запретить отображение сна или системного сна?В последнем случае вы можете предотвратить спящий режим системы из-за активности диска - например, чтение из файла или запись в файл.

Активность жесткого диска не мешает отображению в спящем режиме, но предотвращает спящий режим системы.Дисплей нередко спит до того, как система перейдет в спящий режим, если оба типа сна будут установлены после одинаковой продолжительности бездействия.http://support.apple.com/kb/ht1776

Этот ответ указывает на код Objective-C, который можно использовать для предотвращения сна с помощью вызова UpdateSystemActivity.Не могли бы вы создать для этого простую оболочку JNI, которую вы могли бы вызывать как собственный метод из своего Java-кода?

Также представляется возможным отключить и снова включить режим сна с помощью appleScript.Не могли бы вы вызвать такой скрипт, используя Runtime.exec () из вашего кода Java?

0 голосов
/ 29 мая 2012

Оказывается, что это невозможно сделать с помощью хаков на чистом Java, и нужно прибегнуть к реализации прослушивателя ввода-вывода JNI, код которого будет содержать что-то вроде

http://developer.apple.com/library/mac/#qa/qa1340/_index.html

Альтернативой, если вы можете допустить вызов инструмента командной строки, является вызов pmset noidle в потоке демона.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...