Я установил «приостановить, когда неактивен» через 30 минут.
Как он определяет, является ли он неактивным? Это просто пользовательский ввод с клавиатуры / мыши?
Если я оставлю программу без работы - скажем, обработка видео, которая занимает много времени, приостановится ли она через 30 минут и остановит ли эту программу? Тот же вопрос для долгих загрузок, приостановится ли он на полпути.
wake up calls
.Ответы:
Хороший вопрос. Давай выясним!
Начиная с изучения опции «Приостановить, когда неактивен для»,
мы можем узнать, что он устанавливает ключ GSettings под названием
sleep-inactive-ac-timeout
:Документация для этого ключа содержит описание кратко:
но все еще не объясняет, что означает «неактивный».
Поиск по
sleep-inactive-ac-timeout
приводит нас к GNOME Настройки Daemon ,который периодически проверяет свойство GNOME Session, называемое
Presence.status
:Если он обнаруживает, что статус неактивен , он переводит систему в спящий режим :
Итак, нам нужно узнать, как GNOME Session решает, является ли система «бездействующей».
Следуя назад, откуда GNOME Session обновляет значение
Presence.status
,мы можем видеть , что он использует в
IDLETIME
счетчик от Xorg:В
IDLETIME
поведение счетчика резюмируется в блоге по автору GNOME Power Manager:Это говорит нам о том, что Ubuntu определяет бездействие, измеряя количество времени, прошедшее с момента последнего нажатия клавиши или движения мыши. Загрузка процессора и сетевая активность не учитываются.
источник