Проснитесь от приостановки с помощью беспроводной USB-клавиатуры или мыши (для любого Linux Distro)

Я искал часы, может быть, больше, для решения, и я только что нашел его. Я хочу поделиться им со всеми. Таким образом, будет легче искать эту проблему, чтобы быстрее найти решение. Итак, как говорится в названии, ниже это решение.

1
задан 20 December 2017 в 16:17

2 ответа

В дополнение к моему руководству выше я хочу добавить эту информацию, потому что недавно я обнаружил, что некоторые беспроводные устройства 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 для выхода и перезагрузки.

3
ответ дан 23 May 2018 в 04:16
  • 1
    Лучше включить это в свой первый ответ. – ntc2 12 December 2017 в 21:59
  • 2
    это две разные вещи. 1-й - это ответ на проблему пробуждения. второй вариант больше похож на «Как создать правило для запуска без загрузки». и это просто «лишний». так как не все знают, как это сделать, и для этого нет простого руководства для любителей. – Pavlos Theodorou 14 April 2018 в 13:34

Ответ Павлоса Теодору очень полезен. Я хотел бы добавить, что вы можете найти устройство 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 работает каждый раз.

1
ответ дан 23 May 2018 в 04:16

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

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