Это действительно раздражает, так как я должен отключить мышь после приостановки, чтобы избежать случайного удара системы. Я не нашел ничего в системных настройках, которое могло бы отключить это, ни гуглить.
Это действительно раздражает, так как я должен отключить мышь после приостановки, чтобы избежать случайного удара системы. Я не нашел ничего в системных настройках, которое могло бы отключить это, ни гуглить.
Ответы:
Я еще не проверил BIOS, но я нашел решение!
Краткое резюме: В /proc/acpi/wakeup
, вы можете увидеть, какие устройства в настоящее время включены, чтобы возобновить из режима ожидания. Этот список показывает имена (сокращенно) так называемых «устройств». Пример «PWRB» означает «кнопка питания».
Если вы пишете имена устройств в этот файл, вы переключаете их между включенным / выключенным.
Я написал небольшой HowTo для отключения пробуждения мышью , основанный на блоге, где я нашел эту информацию.
sudo
не будет работать: sudo su
сначала нужно сделать , а затем повторить /proc/acpi/wakeup
. Однако мне интересно, нашел ли кто-нибудь способ просто отключить мышь? У меня есть оба на моем рабочем столе, подключенном через (беспроводной) USB, и это также отключит пробуждение от клавиатуры
Спасибо всем постерам, так как пробуждение мышью является большим неудобством, и я получил свои ответы здесь. Я хочу добавить свой поворот к решениям, поскольку это может помочь в большем количестве случаев. Я должен был отключить 3 разных предметов в /proc/acpi/wakeup
. Мои устройства: EHC1, EHC2, XHCI
. Первые 2 - это usb2, а третья - запись 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
редактировать с помощью cipricus:
Я редактирую это, потому что мне нужно было добавить больше деталей, чтобы отдельный вопрос был закрыт как дубликат вышеупомянутого на основе этого ответа; Я думаю, что это более полезно, чем размещать в качестве отдельного ответа.
*** Проверьте, какие элементы необходимо отключить - как указано здесь - для каждого из элементов, которые были опубликованы, как показано 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
Перезагружать.
Если это по-прежнему не работает, возможно, файл /etc/systemd/system/rc-local.service
отсутствует или неправильно настроен.
Тест с
sudo /etc/init.d/rc.local start
а также
sudo systemctl status rc-local
После Как включить /etc/rc.local с Systemd :
Создайте файл:
sudo nano /etc/systemd/system/rc-local.service
Затем добавьте следующий контент к нему.
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
Сохраните и закройте файл. Чтобы сохранить файл в текстовом редакторе Nano, нажмите Ctrl + O, затем нажмите Enter для подтверждения. Чтобы выйти из файла, нажмите Ctrl + X.
Проверьте все хорошо без ошибок с:
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
Перезагрузитесь, чтобы увидеть изменения.
Моя система 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
Все сделано.
этот скрипт решил мою проблему. проверить это.
#!/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 вашей системы.
Доступ к меню BIOS для изменения настроек также зависит от системы. Обычно вы нажимаете клавишу сразу после перезагрузки, и клавиша для нажатия часто отображается на экране.
Однако ответ пользователя 138339 кажется более общим способом достижения того, что вам нужно, и вы можете сделать это из работающей системы.
Это мой пошаговый «учебник», который поможет вам:
cat /proc/acpi/wakeup
чтобы показать список устройств пробужденияsudo sh -c "echo XXXX >/proc/acpi/wakeup"
(замените «XXXX» на код вашего устройства), чтобы переключить состояние устройства (включено / отключено). Перейдите по одному устройству за раз и попробуйте приостановить работу своего устройства и включить его с помощью устройства, которое вы хотите отключить, пока заслуженное устройство не сможет разбудить устройство. Не забывайте всегда включать устройства, которые вы не хотите отключать.#!/bin/sh
printf "XXXX" > /proc/acpi/wakeup
(не забудьте заменить «XXXX» на код вашего устройства)/etc/init.d/
. Чтобы скопировать файл, используйте следующую команду:
sudo cp /home/USERNAME/Desktop/acpi_wakeup /etc/init.d/acpi_wakeup
(замените «ИМЯ ПОЛЬЗОВАТЕЛЯ» реальным именем пользователя)sudo chmod 755 /etc/init.d/acpi_wakeup
sudo update-rc.d acpi_wakeup defaults
(он показывает, WARNING: ...missing LSB tags and overrides
но все в порядке. Вам не нужно об этом беспокоиться)Источники и дальнейшее чтение:
http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=1985 http://ubuntuforums.org/showthread.php?t=814939&page=3