Я использую Ubuntu 10.04 и апплет gnome-do docky. По какой-то причине время от времени (иногда после одного, иногда после нескольких приостановок), когда я просыпаюсь от ожидания (я на ноутбуке, поэтому каждый раз, когда я закрываю экран между занятиями), gnome-do начинает пожирать ЦПУ. Попытка использовать кнопку выхода на gnome-do не работает, я должен убить -1 процесс.
Очевидно, это было проблемой для нескольких человек, так как есть по крайней мере один отчет об ошибке . Согласно сообщению об ошибке, это было исправлено, но релиз не был добавлен в PPA. Так что моя идея заключалась в том, чтобы сценарий приостановки автоматически убивал gnome-do, а затем мне просто нужно было запустить его снова, когда я проснусь (или установить это в сценарии пробуждения). К сожалению, мое Google-фу, кажется, подводит меня - я нашел много информации о выключении и выходе из системы, но ничего о приостановке.
Есть указатели? Спасибо!
Я полагаю, что вы можете поместить сценарий оболочки в /etc/pm/sleep.d/
, который будет запускаться в режиме suspend / hibernate / resume / thaw. См. Справочную страницу pm-suspend
для получения дополнительной информации.
Я также рекомендовал бы попробовать gnome-do из транка (bzr branch lp:do
) и посмотреть, исправит ли это это. Если это так, мы можем посмотреть на получение целевого исправления как SRU.
Вы можете kill -s STOP <pid>
до и kill -s CONT <pid>
после. Это приостановит, а затем возобновит процесс, не давая абсолютно никаких циклов ЦП, пока компьютер начинает переходить в спящий режим и когда он просыпается. Это немного натянуто, но, возможно, это сработает.
Объедините его с идеей Иэйна Лейна /etc/pm/sleep.d/
, и вы получите полностью автоматизированное решение.
Ключ заключается в запуске док-процесса в фоновом режиме с помощью & amp; команда. В противном случае возникают другие проблемы.
Вы можете найти полное решение этой страницы: http://www.linux-compatible.com/tutorial/docky-closes-after-waking-suspend-ubuntu
Поместите сценарий в /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
, в котором будет зарегистрирована попытка запустить скрипт и возможные проблемы.