В течение нескольких дней мой настольный компьютер Ubuntu 12.04 таинственно просыпался сразу после перехода в режим ожидания.
С момента установки мой портативный компьютер Ubuntu 12.10 также возобновлял работу сразу после приостановки и спящего режима.
Как это предотвратить?
Эта проблема, вероятно, была вызвана странными сигналами USB. gedit / proc / acpi / wakeup
показал мне, что пробуждение было включено для USB0 и USB2.
sudo -s
echo USB0 > /proc/acpi/wakeup
echo USB2 > /proc/acpi/wakeup
переключил их на отключенные (проверено gedit / proc / acpi / wakeup
] снова или обновляя представление файла) , после чего компьютер остается в приостановленном состоянии, как и должен. : -)
Сделать исправление постоянным
(я собираю решения, предоставленные Bazon, Ilikerobots и Pavlos Theodorou - вместе они решают мою конкретную проблему)
Чтобы исправить проблему навсегда, будь то USB-порт, пробуждающий систему, или что-то еще:
gedit / proc / acpi / wakeup
Вы можете получить эти или похожие строки:
EHC1 S3 * включен pci: 0000: 00: xx.x
EHC2 S3 * включен pci: 0000: 00: xx.x
XHC S3 * включен pci: 0000: 00: xx.x
Затем откройте:
sudo gedit /etc/rc.local[12224 visible и добавьте эти строки (или аналогичные, в зависимости от результатов выше) перед
exit 0
echo EHC1> / proc / acpi / wakeup
echo EHC2> / proc / acpi / wakeup
echo XHC> / proc / acpi / wakeup
Недавно у меня был такой же симптом на Asus Zenbook Pro UX501 на Ubuntu 15.04. Точное исправление Базона не сработало, а вот вариация Владимира Руцкого - да. Конкретно:
Если запуск из терминала cat /proc/acpi/wakeup
показывает следующие строки
EHC1 S3 *enabled pci:0000:00:xx.x
EHC2 S3 *enabled pci:0000:00:xx.x
XHC S3 *enabled pci:0000:00:xx.x
(адреса pci могут быть разными)
то переключите эти три для отключения, выпустив следующие команды:
sudo -s
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHC > /proc/acpi/wakeup
Если вы знаете, какое устройство выводит компьютер из спящего режима, перейдите к первому шагу и следуйте инструкциям. В противном случае откройте терминал и выполните:
cat /var/log/syslog
И найдите, какое устройство выводит ваш компьютер из спящего режима.
Итак:
попал в терминал:
grep. / система / шина / USB / устройства / * / питание / пробуждение
Чтобы перечислить все порты USB, которые пробуждают наш компьютер.
sudo su
теперь у нас есть привилегии root.
2. У меня 8 портов USB, и в этом примере скажем, что я хочу отключить usb8, поэтому:
echo disabled > /sys/bus/usb/devices/usb8/power/wakeup
Идите и проверьте это. Теперь это конкретное устройство в USB-порту 8 не выводит компьютер из спящего режима.
Следующий шаг, чтобы сделать изменение постоянным после каждой загрузки:
3.
sudo nano /etc/rc.local
И мы вставляем команду из шага 2. Туда (до выхода 0, конечно)
Вот и все.
необязательный Только если после процесса сна / пробуждения устройство USB 8, в моем примере, вернется к включенному состоянию.
udev
для выполнения команды после каждой загрузки,спи, проснись. Откройте терминал и выполните:
lsusb
В информации об идентификаторе устройства с клавиатуры 4 первые цифры - идентификатор поставщика, а 4 следующие цифры - идентификатор продукта.
Далее выполните:
sudo nano /etc/udev/rules.d/10-wakeup.rules
Где "wakeup" введите желаемое имя сценария. Число 10 является приоритетом в случае, если у вас есть много других правил udev, чем ниже номер, то «правило» будет выполняться перед другими.
Скопируйте, вставьте это и замените идентификатор поставщика и идентификатор продукта на идентификатор поставщика вашей беспроводной клавиатуры. и идентификатор продукта.
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo disabled > /sys/bus/usb/devices/usb8/power/wakeup'"
* usb8 для меня это моя беспроводная клавиатура (вы также можете видеть это на скриншоте (Bus 008)), замените ее своей собственной.
Ctrl + O для сохранения, Ctrl + X для выхода и перезагрузки.
Это то, что у меня сработало на моем Mac Book Pro 2015
. Я добавил следующее в / lib / systemd / system-sleep / wakeup_disable
#!/bin/sh
# /lib/systemd/system-sleep/wakeup_disable
#
# Avoids that system wakes up immediately after suspend or hibernate
#
# Tested on MacBookPro 2015
case $1 in
pre)
if grep -qE '^XHC1.*enabled' /proc/acpi/wakeup; then
echo XHC1 > /proc/acpi/wakeup
fi
if grep -qE '^LID0.*enabled' /proc/acpi/wakeup; then
echo LID0 > /proc/acpi/wakeup
fi
;;
esac
Примечание это предотвратит пробуждение через открытие крышки и через клавиатуру / мышь / USB-устройство, вы должны нажать кнопку питания.
Ссылки: