Це дійсно дратує, оскільки мені потрібно відключити підключення миші після призупинення, щоб гарантувати, що випадковий удар не прокине систему. Я не знайшов нічого в налаштуваннях системи, що могло б відключити це, ні гуглившись.
Це дійсно дратує, оскільки мені потрібно відключити підключення миші після призупинення, щоб гарантувати, що випадковий удар не прокине систему. Я не знайшов нічого в налаштуваннях системи, що могло б відключити це, ні гуглившись.
Відповіді:
Я ще не перевірив 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 для зміни налаштувань також є специфічним для системи. Зазвичай ви натискаєте клавішу відразу після перезавантаження, а клавіша для натискання часто відображається на екрані.
Однак відповідь user138339 здається більш загальним способом досягти того, що вам потрібно, і ви можете це зробити з запущеної системи.
Це мій покроковий "підручник", щоб він працював для вас:
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
(замініть "USERNAME" власним іменем користувача)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