Я искал часы, может быть, больше, для решения, и я только что нашел его. Я хочу поделиться им со всеми. Таким образом, будет легче искать эту проблему, чтобы быстрее найти решение. Итак, как говорится в названии, ниже это решение.
В дополнение к моему руководству выше я хочу добавить эту информацию, потому что недавно я обнаружил, что некоторые беспроводные устройства USB после пробуждения от сна вернулись к отключению. Повторяю, только некоторые устройства USB делают это, не все. Вот почему я не добавил этот маленький указатель в свой путеводитель.
Итак, вы сделали, как я инструктировал выше, и ваш компьютер успешно просыпается, но позже днем он снова не проснется.
Решение:
Откройте терминал и выполните:
lsusb
. На идентификационной информации вашего устройства на клавиатуре 4 первых цифры являются идентификатором продавца и 4 следующего цифры - идентификатор продукта (см. снимок экрана)
Далее выполните:
sudo nano /etc/udev/rules.d/10-wakeup.rules
Где «пробуждение» введите желаемое имя сценария. Номер 10 является приоритетом в случае, если у вас есть много других правил udev, тем ниже будет число «правило» перед другими.
Скопируйте это вставить и замените идентификатор продавца и идентификатор продукта на свой собственный идентификатор беспроводной клавиатуры и идентификатор продукта.
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"
* usb8 для меня - это моя беспроводная клавиатура (вы также можете увидеть, что на скриншоте (Bus 008)) замените ее на свой. [!d10 ]
Ctrl + O для сохранения, Ctrl + X для выхода и перезагрузки.
Ответ Павлоса Теодору очень полезен. Я хотел бы добавить, что вы можете найти устройство USB, к которому подключена ваша мышь / клавиатура, при загрузке через ddsg через grep пару раз, затем egrep один раз и, наконец, используя хвост, чтобы убедиться, что он был последним запись.
Используя этот метод, вы dmesg должны активировать wake на всех USB-портах.
Я поместил следующее в файл /etc/rc.local и он находит мой приемник Logitech каждый раз, даже если он перемещается из одного порта USB в другой. Просто замените имя ALL клавиатурой или мышью на dmesg вместо «Logitech K270»
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
Это работает при загрузке, но, похоже, не работает после suspend, поэтому мне пришлось поместить файл сценария в / lib / systemd / system-sleep /. Создайте его, установите его как глобально исполняемый и дайте ему имя, которое начинается с двузначного числа от 00 до 99. Мой сценарий выглядит следующим образом, снова подменю ваш клавиатурный / мышечный указатель из dmesg:
#!/bin/sh
# Action script to enable wake after suspend by keyboard or mouse
if [ $1 = post ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
if [ $1 = pre ]
then
KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi
[d14 ] По какой-то причине я не могу объяснить, что «пост», если оператор работает только с каждым пробуждением ... но инструкция «pre» sleep grep работает каждый раз.