Я хотел бы создать скрипт для моего компьютера, который позволит мне сделать его непригодным для использования в течение нескольких минут. Я бы хотел, чтобы у меня был скрипт, который при запуске убьет всех моих драйверов клавиатуры и мыши, чтобы я не мог его использовать.
Кроме того, я хотел бы, чтобы он игнорировал все, что я подключаю, чтобы я не может просто отключить и подключить клавиатуру и мышь или что-нибудь еще.
Если у вас есть идея о том, как я мог бы реализовать такую вещь.
Сначала запустите xinput -list, чтобы получить идентификатор вашей мыши и клавиатуры. Результат должен выглядеть так:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ HID 413c:3010 id=8 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
В моем случае идентификатор моей клавиатуры - 10, а идентификатор моей мыши - 8
. Затем вы можете запустить этот , заменив 8 и 10 на ваши идентификаторы клавиатуры и мыши. Время, в течение которого они будут отключены в секундах, - это число после sleep
xinput set-prop 8 'Device Enabled' 0 ; xinput set-prop 10 'Device Enabled' 0 ; sleep 5 ; xinput set-prop 8 'Device Enabled' 1 ; xinput set-prop 10 'Device Enabled' 1
EDIT:
Чтобы предотвратить другую мышь или клавиатура, подключенная к другому порту USB от работы, лучшее решение, которое у меня есть, - это выгрузить модуль ядра USB HID.
sudo -i
rmmod usbhid ; sleep 5 ; modprobe usbhid
(Опять же, замените 5 желаемым нерабочим временем в секундах)
Сначала запустите xinput -list, чтобы получить идентификатор вашей мыши и клавиатуры. Результат должен выглядеть так:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ HID 413c:3010 id=8 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
В моем случае идентификатор моей клавиатуры - 10, а идентификатор моей мыши - 8
. Затем вы можете запустить этот , заменив 8 и 10 на ваши идентификаторы клавиатуры и мыши. Время, в течение которого они будут отключены в секундах, - это число после sleep
xinput set-prop 8 'Device Enabled' 0 ; xinput set-prop 10 'Device Enabled' 0 ; sleep 5 ; xinput set-prop 8 'Device Enabled' 1 ; xinput set-prop 10 'Device Enabled' 1
EDIT:
Чтобы предотвратить другую мышь или клавиатура, подключенная к другому порту USB от работы, лучшее решение, которое у меня есть, - это выгрузить модуль ядра USB HID.
sudo -i
rmmod usbhid ; sleep 5 ; modprobe usbhid
(Опять же, замените 5 желаемым нерабочим временем в секундах)