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


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

Автор Тема: Есть ли возможность автоматического запуска скрипта при выходе компа из сна?  (Прочитано 1817 раз)

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

Оффлайн Stanyslav Kovalsky

  • Автор темы
  • Активист
  • *
  • Сообщений: 266
  • Сувениры Ковальского
    • Просмотр профиля
    • Светильники-подарки
Собственно сабж)
Требуется, чтобы комп при пробуждении запускал скрипт.
Возможно?)

Оффлайн Meow Ex

  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
Создаешь файл /etc/systemd/system/script.service со следующим текстом
(Нажмите, чтобы показать/скрыть)
,где
Requires - указывает цель, после которой необходимо запустить твой скрипт
After - цель, которая должна быть полностью запущена к моменту старта твоего скрипта
/some/script - путь до скрипта

На всякий случай сделай
systemctl enable script.service

Оффлайн Stanyslav Kovalsky

  • Автор темы
  • Активист
  • *
  • Сообщений: 266
  • Сувениры Ковальского
    • Просмотр профиля
    • Светильники-подарки
Не совсем понял, "Requires=network.target" будет запускать скрип при выходе компа из сна?

Оффлайн Meow Ex

  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
При выходе из сна будет загружать script.service в котором будет прописан путь до твоего скрипта. network.target это набор юнитов (сетевых), после полной загрузки которых будет выполнятся твой скрипт. Можешь поменять, на то, что тебе нужно

Оффлайн Stanyslav Kovalsky

  • Автор темы
  • Активист
  • *
  • Сообщений: 266
  • Сувениры Ковальского
    • Просмотр профиля
    • Светильники-подарки
systemctl enable script.service
"sudo: systemctl: command not found" :(

И скрипт, соответственно, не запускает.

Ubuntu 14.04
« Последнее редактирование: 06 Август 2016, 22:10:49 от Stanyslav Kovalsky »

Оффлайн Meow Ex

  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
Отбой. 14.04 не умеет systemd. Копай в сторону /etc/pm/sleep.d
Я с 14.04 дел не имел, подсказать не могу

Оффлайн superguest

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
neponi, класс, спасибо, а как такое сделать перед выключением компа, чтобы запускался скрипт?

Оффлайн Stanyslav Kovalsky

  • Автор темы
  • Активист
  • *
  • Сообщений: 266
  • Сувениры Ковальского
    • Просмотр профиля
    • Светильники-подарки
neponi, "копай", это не про меня) Знаний не хватает)
Но спасибо)

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3095
  • Ubuntu Mate 16.04 х64
    • Просмотр профиля
Stanyslav Kovalsky, откройте любой скрипт в /etc/pm/sleep.d и посмотрите на команды. Они аналогичны до /etc/init.d
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

Оффлайн Stanyslav Kovalsky

  • Автор темы
  • Активист
  • *
  • Сообщений: 266
  • Сувениры Ковальского
    • Просмотр профиля
    • Светильники-подарки
Открыл.

#!/bin/sh

# Tell grub that resume was successful

case "$1" in
<------>thaw)
<------><------>[ -s /boot/grub/grubenv ] || rm -f /boot/grub/grubenv
<------><------>mkdir -p /boot/grub
<------><------>grub-editenv /boot/grub/grubenv unset recordfail
<------><------>;;
esac

Оффлайн Meow Ex

  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
как такое сделать перед выключением компа, чтобы запускался скрипт?
Создаешь /etc/systemd/system/shutdown.target.wants/script.service
(Нажмите, чтобы показать/скрыть)

если используешь спящий/ждущий режим помести этот юнит в /etc/systemd/system/suspend.target.wants/ и /etc/systemd/system/hibernate.target.wants/



Пользователь добавил сообщение 07 Август 2016, 11:38:16:
"копай", это не про меня) Знаний не хватает)
Но спасибо)
Беглый поиск подсказал, что тебе просто нужно закинуть скрипт в /etc/pm/sleep.d/ и дать ему права на выполнение
« Последнее редактирование: 07 Август 2016, 11:38:16 от neponi »

Оффлайн superguest

  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Создаешь /etc/systemd/system/shutdown.target.wants/script.service
(Нажмите, чтобы показать/скрыть)

отлично работает, спасибо.
единственно что, script.service создал в /etc/systemd/system/ , а при systemctl enabled script.service он уже автоматом закинулся /etc/systemd/system/shutdown.target.wants/
« Последнее редактирование: 07 Август 2016, 12:13:19 от superguest »

Оффлайн Stanyslav Kovalsky

  • Автор темы
  • Активист
  • *
  • Сообщений: 266
  • Сувениры Ковальского
    • Просмотр профиля
    • Светильники-подарки
Беглый поиск подсказал, что тебе просто нужно закинуть скрипт в /etc/pm/sleep.d/ и дать ему права на выполнение

К сожалению не запускается(

Оффлайн Meow Ex

  • Любитель
  • *
  • Сообщений: 64
    • Просмотр профиля
Скорее всего не хватает строчки
#!/bin/bash

case "$1" in
    resume)
для того, чтобы дать понять системе, что скрипт должен выполняться при выходе из спящего режима, т.к. /etc/pm/sleep.d/ подразумевает выполнение скриптов как при переходе в спящий режим, так и при выходе из него

Оффлайн Stanyslav Kovalsky

  • Автор темы
  • Активист
  • *
  • Сообщений: 266
  • Сувениры Ковальского
    • Просмотр профиля
    • Светильники-подарки
А мои команды вписать до или после этих?

 

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