Это действительно раздражает, поскольку я должен отключить мышь после приостановки, чтобы гарантировать, что случайный удар не пробуждает систему. Я ничего не обнаружил в системных настройках, которые могли бы отключить это ни путем поиска.
Я еще не проверял BIOS, но нашел решение!
Краткое описание: В /proc/acpi/wakeup вы можете видеть, какие устройства в настоящее время разрешены для возобновления с приостановки. В этом списке показаны имена (сокращенные) так называемых «Устройства». Пример: «PWRB» означает «кнопка питания».
Если вы пишете имена устройств в этом файле, вы переключаете их между включенными / отключенными.
Я написал небольшую HowTo для отключения пробуждения -by-mouse, основанный на блоге, где я нашел эту информацию.
Благодаря всем плакатам, когда мышь пробуждает большое неудобство, и я получил ответы здесь. Я хочу добавить свой поворот к решениям, поскольку это может помочь в большем количестве случаев. Мне пришлось отключить 3 разных элемента в /proc/acpi/wakeup. Мои устройства: EHC1, EHC2, XHCI. Первые 2 - usb2 и 3-я запись usb3. Обратите внимание, что хотя приемопередатчик USB для моей мыши подключен к порту usb2, и ничего не происходит в каком-либо порту usb3, компьютер будет просыпаться на мыши, пока все 3 элемента не будут отключены.
$ cat /proc/acpi/wakeup | sort
Device S-state Status Sysfs node
EHC1 S3 *disabled pci:0000:00:1d.0
EHC2 S3 *disabled pci:0000:00:1a.0
GLAN S4 *enabled pci:0000:08:00.0
.. ,, ..
USB7 S3 *disabled
WLAN S3 *disabled pci:0000:03:00.0
XHCI S3 *disabled pci:0000:07:00.0
Чтобы иметь элементы пробуждения, отключенные при каждом запуске, вы можете добавить что-то вроде этого к /etc/rc.local ..
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
все 3
Я редактирую это, потому что мне нужно было добавить более подробную информацию, чтобы отдельный мой вопрос был закрыт как дубликат вышеизложенного на основе этого ответа; Я думаю, что это более полезно, чем опубликовать как отдельный ответ.
*** Проверьте, какие элементы необходимо отключить - как указано здесь - для каждого из элементов, которые были опубликованы как enabled в разделе cat /proc/acpi/wakeup | sort, выполнив в терминале каждую из приведенных ниже команд, а затем тестируя, если мышь пробуждает систему (без необходимости перезапуска):
sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
sudo sh -c "echo XHCI > /proc/acpi/wakeup"
(в моем случае первого было достаточно даже после тестирования с другие USB-порты)
*** Если файл /etc/rc.local не существует - согласно здесь сообщение:
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
Файл должен что-то вроде:
#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
exit 0
Перезагрузка.
Это мой пошаговый «учебник», чтобы он работал для вас:
Используйте команду cat /proc/acpi/wakeup, чтобы показать список устройств пробуждения. Используйте команду sudo sh -c "echo XXXX >/proc/acpi/wakeup" (замените «XXXX» «с кодом вашего устройства», чтобы переключить состояние устройства (включено / отключено). Идите по одному устройству за раз и попробуйте приостановить работу своего устройства и разбудить его с помощью устройства, которое вы хотите отключить, до тех пор, пока заслуженное устройство не сможет разбудить машину. Не забывайте всегда включать обратно устройства, которые вы не хотите отключать. Когда вы найдете нужное устройство, создайте в своем рабочем столе файл acpi_wakeup, содержащий следующий код: #!/bin/sh printf "XXXX" > /proc/acpi/wakeup (не забудьте заменить «XXXX» на код вашего устройства) Переместите или скопируйте файл в папку /etc/init.d/. Чтобы скопировать файл, используйте следующую команду: sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup (замените «USERNAME» на свое фактическое имя пользователя) Сделайте исполняемый файл: sudo chmod 755 /etc/init.d/acpi_wakeup Затем используйте «update-rc.d», чтобы автоматически создавать необходимые символические ссылки в других каталогах: sudo update-rc.d acpi_wakeup defaults (он показывает WARNING: ...missing LSB tags and overrides, но все в порядке. Вам не нужно беспокоиться об этом) Перезагрузите компьютер.Источники и дальнейшее чтение:
Источники и дальнейшее чтение:
Отличное объяснение. Я просто добавил к rc.local следующую команду
for d in `cat wakeup |grep enabled|grep -v PS2K|cut -b -4`; do echo $d >/proc/acpi/wakeup ; done
, чтобы отключить каждое устройство, кроме PS2K (клавиатура PS2), от пробуждения. Простой и рабочий!
Моя система Ubuntu 15.10
Я попытался использовать команду lsusb, чтобы найти какое устройство мыши. Это очень просто, вы набираете lsusb, затем отключите мышь (в моем случае, это приемник Bluetooth) и снова введите lsusb. Устройство выглядит следующим образом:
Bus 007 Device 008: ID 24ae:2000
Теперь найдите его в папке /sys/bus/usb/devices/, используя тот же путь (отключите / подключите). В моем случае я обнаружил, что они где-то в папках начинаются с 7-2*.
Теперь попробуйте прочитать idProduct и idVendor. Например: cat /sys/bus/usb/devices/7-2.3/idProduct => 2000, cat /sys/bus/usb/devices/7-2.3/idVendor => 24ae.
Наконец, я создаю скрипт в каталоге /lib/systemd/system-sleep, назову его всем, что вы хотите.
#! /bin/sh
if [ ! -r /sys/bus/usb/devices/7-2.3/power/wakeup ]; then
exit 0
fi
case "$1" in
pre )
echo disabled > /sys/bus/usb/devices/7-2.3/power/wakeup
;;
esac
Все сделано.
Может быть определен способ вашего оборудования, и в этом случае этот параметр может быть доступен через настройки BIOS вашей системы.
Доступ к вашему меню BIOS для изменения настроек также зависит от системы. Обычно вы нажимаете клавишу сразу после перезагрузки, а клавиша для нажатия часто отображается на экране.
Однако ответ пользователя138339 кажется более общим способом достижения того, что вам нужно, и вы можете сделать это из работающая система.
этот скрипт решил мою проблему. проверьте это.
#!/bin/bash
# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
echo "Script already running. Exit..."
exit
fi
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
if echo $line | grep "boolean true" &> /dev/null; then
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
xset dpms force off
else
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
fi
done )
Все, что вам нужно сделать, это, во-первых, запустить sudo xinput list, найти данное имя вашей USB-мыши и поместить его в скрипт. Затем сохраните файл как «ssmonoff.sh», сделайте его исполняемым и установите для запуска при запуске.
Я еще не проверял BIOS, но нашел решение!
Краткое описание: В /proc/acpi/wakeup вы можете видеть, какие устройства в настоящее время разрешены для возобновления с приостановки. В этом списке показаны имена (сокращенные) так называемых «Устройства». Пример: «PWRB» означает «кнопка питания».
Если вы пишете имена устройств в этом файле, вы переключаете их между включенными / отключенными.
Я написал небольшую HowTo для отключения пробуждения -by-mouse, основанный на блоге, где я нашел эту информацию.
Благодаря всем плакатам, когда мышь пробуждает серьезное неудобство, и я получил свои ответы здесь. Я хочу добавить свой поворот к решениям, поскольку это может помочь в большем количестве случаев. Мне пришлось отключить 3 разных элемента в /proc/acpi/wakeup. Мои устройства: EHC1, EHC2, XHCI. Первые 2 - usb2 и 3-я запись usb3. Обратите внимание, что хотя приемопередатчик USB для моей мыши подключен к порту usb2, и ничего не происходит в каком-либо порту usb3, компьютер будет просыпаться на мыши, пока все 3 элемента не будут отключены.
$ cat /proc/acpi/wakeup | sort
Device S-state Status Sysfs node
EHC1 S3 *disabled pci:0000:00:1d.0
EHC2 S3 *disabled pci:0000:00:1a.0
GLAN S4 *enabled pci:0000:08:00.0
.. ,, ..
USB7 S3 *disabled
WLAN S3 *disabled pci:0000:03:00.0
XHCI S3 *disabled pci:0000:07:00.0
Чтобы иметь элементы пробуждения, отключенные при каждом запуске, вы можете добавить что-то вроде этого к /etc/rc.local ..
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
все 3
Я редактирую это, потому что мне нужно было добавить более подробную информацию, чтобы отдельный мой вопрос был закрыт как дубликат вышеизложенного на основе этого ответа; Я думаю, что это более полезно, чем опубликовать как отдельный ответ.
*** Проверьте, какие элементы необходимо отключить - как указано здесь - для каждого из элементов, которые были опубликованы как enabled в разделе cat /proc/acpi/wakeup | sort, выполнив в терминале каждую из приведенных ниже команд, а затем тестируя, если мышь пробуждает систему (без необходимости перезапуска):
sudo sh -c "echo EHC1 > /proc/acpi/wakeup"
sudo sh -c "echo EHC2 > /proc/acpi/wakeup"
sudo sh -c "echo XHCI > /proc/acpi/wakeup"
(в моем случае первого было достаточно даже после тестирования с другие USB-порты)
*** Если файл /etc/rc.local не существует - согласно здесь сообщение:
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
Файл должен что-то вроде:
#!/bin/bash
echo EHC1 > /proc/acpi/wakeup
echo EHC2 > /proc/acpi/wakeup
echo XHCI > /proc/acpi/wakeup
exit 0
Перезагрузка.
Это мой пошаговый «учебник», чтобы он работал для вас:
Используйте команду cat /proc/acpi/wakeup, чтобы показать список устройств пробуждения. Используйте команду sudo sh -c "echo XXXX >/proc/acpi/wakeup" (замените «XXXX» «с кодом вашего устройства», чтобы переключить состояние устройства (включено / отключено). Идите по одному устройству за раз и попробуйте приостановить работу своего устройства и разбудить его с помощью устройства, которое вы хотите отключить, до тех пор, пока заслуженное устройство не сможет разбудить машину. Не забывайте всегда включать обратно устройства, которые вы не хотите отключать. Когда вы найдете нужное устройство, создайте в своем рабочем столе файл acpi_wakeup, содержащий следующий код: #!/bin/sh printf "XXXX" > /proc/acpi/wakeup (не забудьте заменить «XXXX» на код вашего устройства) Переместите или скопируйте файл в папку /etc/init.d/. Чтобы скопировать файл, используйте следующую команду: sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup (замените «USERNAME» на свое фактическое имя пользователя) Сделайте исполняемый файл: sudo chmod 755 /etc/init.d/acpi_wakeup Затем используйте «update-rc.d», чтобы автоматически создавать необходимые символические ссылки в других каталогах: sudo update-rc.d acpi_wakeup defaults (он показывает WARNING: ...missing LSB tags and overrides, но все в порядке. Вам не нужно беспокоиться об этом) Перезагрузите компьютер.Источники и дальнейшее чтение:
Источники и дальнейшее чтение:
Отличное объяснение. Я просто добавил к rc.local следующую команду
for d in `cat wakeup |grep enabled|grep -v PS2K|cut -b -4`; do echo $d >/proc/acpi/wakeup ; done
, чтобы отключить каждое устройство, кроме PS2K (клавиатура PS2), от пробуждения. Простой и рабочий!
Моя система Ubuntu 15.10
Я попытался использовать команду lsusb, чтобы найти какое устройство мыши. Это очень просто, вы набираете lsusb, затем отключите мышь (в моем случае, это приемник Bluetooth) и снова введите lsusb. Устройство выглядит следующим образом:
Bus 007 Device 008: ID 24ae:2000
Теперь найдите его в папке /sys/bus/usb/devices/, используя тот же путь (отключите / подключите). В моем случае я обнаружил, что они где-то в папках начинаются с 7-2*.
Теперь попробуйте прочитать idProduct и idVendor. Например: cat /sys/bus/usb/devices/7-2.3/idProduct => 2000, cat /sys/bus/usb/devices/7-2.3/idVendor => 24ae.
Наконец, я создаю скрипт в каталоге /lib/systemd/system-sleep, назову его всем, что вы хотите.
#! /bin/sh
if [ ! -r /sys/bus/usb/devices/7-2.3/power/wakeup ]; then
exit 0
fi
case "$1" in
pre )
echo disabled > /sys/bus/usb/devices/7-2.3/power/wakeup
;;
esac
Все сделано.
Может быть определен способ вашего оборудования, и в этом случае этот параметр может быть доступен через настройки BIOS вашей системы.
Доступ к вашему меню BIOS для изменения настроек также зависит от системы. Обычно вы нажимаете клавишу сразу после перезагрузки, а клавиша для нажатия часто отображается на экране.
Однако ответ пользователя138339 кажется более общим способом достижения того, что вам нужно, и вы можете сделать это из работающая система.
этот скрипт решил мою проблему. проверьте это.
#!/bin/bash
# allow only one instance
r=$(pidof -x -o $$ ssmonoff.sh)
set -- $r
if [ "${#@}" -ge 1 ]; then
echo "Script already running. Exit..."
exit
fi
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while read line; do
if echo $line | grep "boolean true" &> /dev/null; then
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "0"
xset dpms force off
else
xinput --set-prop "Dell Premium USB Optical Mouse" "Device Enabled" "1"
fi
done )
Все, что вам нужно сделать, это, во-первых, запустить sudo xinput list, найти данное имя вашей USB-мыши и поместить его в скрипт. Затем сохраните файл как «ssmonoff.sh», сделайте его исполняемым и установите для запуска при запуске.