Как запустить скрипт / команду на приостановке?

Я использую Ubuntu 10.04 и апплет gnome-do docky. По какой-то причине время от времени (иногда после одного, иногда после нескольких приостановок), когда я просыпаюсь от ожидания (я на ноутбуке, поэтому каждый раз, когда я закрываю экран между занятиями), gnome-do начинает пожирать ЦПУ. Попытка использовать кнопку выхода на gnome-do не работает, я должен убить -1 процесс.

Очевидно, это было проблемой для нескольких человек, так как есть по крайней мере один отчет об ошибке . Согласно сообщению об ошибке, это было исправлено, но релиз не был добавлен в PPA. Так что моя идея заключалась в том, чтобы сценарий приостановки автоматически убивал gnome-do, а затем мне просто нужно было запустить его снова, когда я проснусь (или установить это в сценарии пробуждения). К сожалению, мое Google-фу, кажется, подводит меня - я нашел много информации о выключении и выходе из системы, но ничего о приостановке.

Есть указатели? Спасибо!

0
задан 1 December 2010 в 18:59

4 ответа

Я полагаю, что вы можете поместить сценарий оболочки в /etc/pm/sleep.d/, который будет запускаться в режиме suspend / hibernate / resume / thaw. См. Справочную страницу pm-suspend для получения дополнительной информации.

Я также рекомендовал бы попробовать gnome-do из транка (bzr branch lp:do) и посмотреть, исправит ли это это. Если это так, мы можем посмотреть на получение целевого исправления как SRU.

0
ответ дан 1 December 2010 в 18:59

Вы можете kill -s STOP <pid> до и kill -s CONT <pid> после. Это приостановит, а затем возобновит процесс, не давая абсолютно никаких циклов ЦП, пока компьютер начинает переходить в спящий режим и когда он просыпается. Это немного натянуто, но, возможно, это сработает.

Объедините его с идеей Иэйна Лейна /etc/pm/sleep.d/, и вы получите полностью автоматизированное решение.

0
ответ дан 1 December 2010 в 18:59

Ключ заключается в запуске док-процесса в фоновом режиме с помощью & amp; команда. В противном случае возникают другие проблемы.

Вы можете найти полное решение этой страницы: http://www.linux-compatible.com/tutorial/docky-closes-after-waking-suspend-ubuntu

0
ответ дан 1 December 2010 в 18:59

Поместите сценарий в /etc/pm/sleep.d/. Имя файла должно начинаться с порядкового номера, 00-49 для пользовательских сценариев, и вы можете различать между приостановкой и пробуждением по аргументу, который будет передан в сценарий (более подробно об обоих см. man pm-suspend). ]

Убивая его, я предлагаю сделать

(killall -1 gnome-do; exit 0)

в сценарии. В противном случае, если вы попытаетесь приостановить работу, а процесс gnome-do не будет запущен, killall завершится с кодом выхода 1, который отменит всю приостановку. Выше будет работать killall в под-оболочке, которая будет выходить с 0.

Если у вас возникли проблемы, установите флажок /var/log/pm-suspend.log, в котором будет зарегистрирована попытка запустить скрипт и возможные проблемы.

0
ответ дан 1 December 2010 в 18:59

Другие вопросы по тегам:

Похожие вопросы: