LINUX.ORG.RU

python. как узнать статус компуктера? спит, в гибернации, активен

 , , ,


0

1

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

debian sid, gnome 3.28


или может можно привязать действие (выполнение скрипта на питоне)

Можно. Google: power management hooks.

vvn_black ★★★★★
()

как питоном узнавать, компьютер в спящем режиме или в рабочем?

def get_machine_state():
    return "Working"

print(get_machine_state())
i-rinat ★★★★★
()
Ответ на: комментарий от sambo

а что не развернуто? нужно выполнять определенное действие при уходе в спящий режим и при пробуждении

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

milka
() автор топика
Ответ на: комментарий от milka

А ты попробуй добавить к поисковому запросу слово «linux»

MrClon ★★★★★
()
Ответ на: комментарий от milka

i-rinat тонко намекает что когда компьютер в спящем режиме, python-скрипты (и прочие программы) не выполняются. Следовательно если функция get_machine_state выполнилась, значит комп не спит

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

пробовал добавлять и linux, и python, и оба сразу

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

и в таком «спящем» режиме у меня все выполняется, включая мои самописные питоновские скрпиты

milka
() автор топика
Ответ на: комментарий от milka

Нуууу...

pm-utils или systemd-suspend.service не гуглятся?

/etc/pm/sleep.d, /usr/lib/pm-utils/sleep.d
           Programs in these directories (called hooks) are combined and executed in C sort order before
           suspend and hibernate with as argument ´suspend´ or ´hibernate´. Afterwards they are called in
           reverse order with argument ´resume´ and ´thaw´ respectively. If both directories contain a similar
           named file, the one in /etc/pm/sleep.d will get preference. It is possible to disable a hook in the
           distribution directory by putting a non-executable file in /etc/pm/sleep.d, or by adding it to the
           HOOK_BLACKLIST configuration variable.
vvn_black ★★★★★
()
Ответ на: комментарий от milka

и в таком «спящем» режиме у меня все выполняется, включая мои самописные питоновские скрпиты

Не знаю, как в гноме, а реакция на «энергосберегающий» режим настраивается обычно средствами DE, хотя, наверное, там дёргаются те же pm-utils.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от milka

это у тебя монитор в спящий режим уходит, а не комп

Harald ★★★★★
()
Ответ на: комментарий от vvn_black

говорю, не фунциклирует

я этот скрипт запустил, дождался, пока суспенд настанет, вышел из него, а вызов функций не произошел

milka
() автор топика
Ответ на: комментарий от milka

дождался, пока суспенд настанет

И, да, ты разобрался, что такое suspend, hibernate, lock screen, turn off screen и чем они отличаются? )) Может продолжается путаница?

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от vvn_black

возможно, но я описал ситуацию и мне стали писать про суспенд, я и подумал что описаная мной ситуация это суспенд. это не так?

milka
() автор топика
Ответ на: комментарий от milka

это не так?

Самое простое - прочитать, что есть что.

vvn_black ★★★★★
()
Ответ на: комментарий от milka

и в таком «спящем» режиме

Это не спящий режим, это просто хранитель экрана включается. В спящем режиме отключается питание почти от всего, только на ОЗУ подаётся. В таком состоянии, как понятно, центральный процессор вообще не запитывается, и выполнять ничего не может. Всякие management engine не в счёт, к ним всё равно у нас доступа не было и нет.

А нужно тебе отслеживать события gnome-screensaver. Вот тут есть какая-то документация, возможно устаревшая: https://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html. Внизу страницы есть примеры запуска dbus-monitor.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.