Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Можно ли прикрепить событие к переходу в спящий режим?  (Прочитано 325 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Барабашка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Суть такая.
Я хочу написать простенькое GUI малой кровью для консольного приложения. Для функционирования мне достаточно фоном слать строчки в терминал. Но само приложение падает намертво после выхода из спящего режима по прошествии некоторого времени.
Т.е. мне надо послать строку при переходе в этот режим, до отключения, получить ответ и уснуть.
Можно ли это сделать? И если можно, то как?

Выход из спящего режима также интересует. Чтобы ненужный цикл не лепить.
« Последнее редактирование: 06 Декабрь 2018, 09:26:20 от Барабашка »

Оффлайн aSmile

  • Активист
  • *
  • Сообщений: 729
    • Просмотр профиля
Я так понимаю, тебе надо воспользоваться dbus, а именно интерфейсом org.freedesktop.login1.Manager и его сигналом PrepareForSleep
А так же Inhibit чтобы залочить засыпание, пока не получил ответ.

Пример на питоне (без лока)
https://askubuntu.com/a/553705

Оффлайн Барабашка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Спрасибо, будем разбираться.

П.С.: думал что все много проще, что я смогу скрипт положить в нужно место, который исполнится до гибернации.

Тему пока оставляю открытой.

Оффлайн archuser

  • Активист
  • *
  • Сообщений: 496
    • Просмотр профиля
А зачем так все сложно, когда есть systemd sleep hook?

Оффлайн Барабашка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
archuser,
И вам спасибо.

Для убунты тоже актуально? Что-то прямых упоминаний не вижу в поисковой выдаче.

Пользователь добавил сообщение 06 Декабрь 2018, 13:10:58:
http://manpages.ubuntu.com/manpages/xenial/man8/pm-action.8.html#files
Это оно? Тему можно закрывать?
« Последнее редактирование: 06 Декабрь 2018, 13:10:58 от Барабашка »

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3157
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Барабашка, если порыскать на форуме, то уже есть готовые решения. кое какие даже я писал (мне надо было при suspend2ram, hibernate, shutdown производить манипуляции с портами USB. сейчас найду пример и дам =)

Код: INI
  1. [Unit]                                                                                                                                                                                                                                                                      
  2. Description=Halt USB Power
  3. Before=suspend.target
  4. DefaultDependencies=no
  5.  
  6. [Service]
  7. ExecStart=/bin/sh -c 'for i in /sys/bus/usb/devices/*/power/level;do /bin/echo suspend | tee $i;done'
  8. Type=simple
  9.  
  10. [Install]
  11. WantedBy=suspend.target
  12.  
Fujitsu UH552: Intel Core i3-3217U, 16GB DDR3 1600MHz, Intel HD4000, Intel 535 120GB/Ubuntu 16.04 Mate
HP 625: AMD Athlon P320, 4GB DDR3 1333MHz, AMD HD4250, Seagate Momentus/Ubuntu 14.04 Mate

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3609
    • Просмотр профиля
EvangelionDeath, я как раз ищу такое решение.. У меня при выходе с гибернации рандомно отваливается клавиатура. Если передернуть модули- то все работает. Но передернуть нельзя, т.к. набирать не на чем)
Использую suspend-then-hibernate.
Сам попытался написать, но чет не работает

Оффлайн Барабашка

  • Автор темы
  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
EvangelionDeath,
Большое спасибо, но я пока, если честно, не понимаю что Вы за табличку мне в пример привели).
Я этого не делал ни разу.

По факту, мне надо при засыпании, как минимум:
    отправить строку для консольной утилиты
как максимум:
    вызвать функцию в уже загруженном gtk-gui, которая что-то выполнит и отправит эту же самую строку.

Хочу монтирование SSH вылечить.
« Последнее редактирование: 07 Декабрь 2018, 11:15:03 от Барабашка »

Оффлайн Morisson

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 3609
    • Просмотр профиля
Барабашка, это sleep хуки называется.
https://wiki.archlinux.org/index.php/Power_Management#Sleep_hooks

 

Страница сгенерирована за 0.061 секунд. Запросов: 24.