Вы путаете значения минут и часов в своих заданиях crontab. Из-за этой проблемы первые три задания могут не работать.
Например:
3 33 * * * = 3 минуты 33 часа -> Не работает!
5] 33 3 * * * = 33 минуты 3 часа -> Измените это так.Быстрый и грязный способ отключения клавиатуры может заключаться в использовании evtest, чтобы захватить его. После этого события доставляются в тестовую программу и больше не проходят через графический сервер.
$ sudo evtest --grab /dev/input/event4 >/dev/null
Вы должны оставить эту программу все время.
Более трудным способом отключения устройства является добавление для него правила udev, которые устанавливают ID_INPUT в пустые, так что libinput будет игнорировать его. Я не пробовал следующее, поэтому используйте его как руководство для исследования, а не окончательное решение.
Сначала перечислите информацию udev для устройства событий, которое является клавиатурой, например:
[ f2]Теперь вам нужно найти то, что однозначно идентифицирует ваше устройство. Обычно это идентификатор поставщика и идентификатор продукта (как в ID_SERIAL выше). Префикс E: означает, что эта переменная задана в среде udev, поэтому в правиле udev вы должны сказать, что хотите сопоставить ENV{ID_SERIAL}=="05f3_0007".
Однако для вашего ноутбука вам, вероятно, придется найти что-то еще, чтобы соответствовать. Вы можете искать выше дерево устройств, чтобы найти родителя с атрибутом, который легче сопоставить:
$ udevadm info -a /dev/input/event4
...
looking at parent device '/devices/pci0000:00/.../input/input4':
KERNELS=="input4"
SUBSYSTEMS=="input"
ATTRS{name}=="HID 05f3:0007"
...
Итак, вместо правила udev, совпадающего с ID_SERIAL, вы можете сопоставлять ATTRS{name}=="HID 05f3:0007" вместо. В вашем случае я ожидал бы что-то вроде ATTRS{name}=="AT Translated Set 2 keyboard".
После того, как вы нашли подходящее совпадение, создайте свой собственный файл /etc/udev/rules.d/99-my.rules (начните с 99, чтобы сделать свое правило последним) с вашим правилом переопределения для сброса значение ID_INPUT должно быть пустым. Строго придерживайтесь формата этого файла. Обратите внимание, что все условия сравниваются с ==, кроме последнего, который является назначением с одним =.
ACTION=="add|change", ENV{ID_SERIAL}=="05f3_0007", ENV{ID_INPUT}=""
или, более вероятно, для вас:
ACTION=="add|change", ATTRS{name}=="AT Translated Set 2 keyboard", ENV{ID_INPUT}=""
[d11 ] Обычно изменение файла должно быть замечено автоматически udev, но если не делать sudo udevadm control --reload. Затем вы можете попытаться вызвать изменение устройства: $ sudo udevadm trigger --action=change /dev/input/event4
Я не уверен, как это работает для фиксированного устройства, как обычно для USB-устройств, вы можете просто отключить его и снова подключить к нему , поэтому вам может потребоваться перезагрузка.
Вы можете контролировать, что udev делает с udevadm monitor.
Быстрый и грязный способ отключения клавиатуры может заключаться в использовании evtest, чтобы захватить его. После этого события доставляются в тестовую программу и больше не проходят через графический сервер.
$ sudo evtest --grab /dev/input/event4 >/dev/null
Вы должны оставить эту программу все время.
Более трудным способом отключения устройства является добавление для него правила udev, которые устанавливают ID_INPUT в пустые, так что libinput будет игнорировать его. Я не пробовал следующее, поэтому используйте его как руководство для исследования, а не окончательное решение.
Сначала перечислите информацию udev для устройства событий, которое является клавиатурой, например:
$ udevadm info /dev/input/event4
...
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_SERIAL=05f3_0007
Теперь вам нужно найти то, что однозначно идентифицирует ваше устройство. Обычно это идентификатор поставщика и идентификатор продукта (как в ID_SERIAL выше). Префикс E: означает, что эта переменная задана в среде udev, поэтому в правиле udev вы должны сказать, что хотите сопоставить ENV{ID_SERIAL}=="05f3_0007".
Однако для вашего ноутбука вам, вероятно, придется найти что-то еще, чтобы соответствовать. Вы можете искать выше дерево устройств, чтобы найти родителя с атрибутом, который легче сопоставить:
$ udevadm info -a /dev/input/event4
...
looking at parent device '/devices/pci0000:00/.../input/input4':
KERNELS=="input4"
SUBSYSTEMS=="input"
ATTRS{name}=="HID 05f3:0007"
...
Итак, вместо правила udev, совпадающего с ID_SERIAL, вы можете сопоставлять ATTRS{name}=="HID 05f3:0007" вместо. В вашем случае я ожидал бы что-то вроде ATTRS{name}=="AT Translated Set 2 keyboard".
После того, как вы нашли подходящее совпадение, создайте свой собственный файл /etc/udev/rules.d/99-my.rules (начните с 99, чтобы сделать свое правило последним) с вашим правилом переопределения для сброса значение ID_INPUT должно быть пустым. Строго придерживайтесь формата этого файла. Обратите внимание, что все условия сравниваются с ==, кроме последнего, который является назначением с одним =.
ACTION=="add|change", ENV{ID_SERIAL}=="05f3_0007", ENV{ID_INPUT}=""
или, более вероятно, для вас:
ACTION=="add|change", ATTRS{name}=="AT Translated Set 2 keyboard", ENV{ID_INPUT}=""
Обычно изменение файла должно быть замечено автоматически udev, но если не делать sudo udevadm control --reload. Затем вы можете попытаться вызвать изменение устройства:
$ sudo udevadm trigger --action=change /dev/input/event4
Я не уверен, как это работает для фиксированного устройства, как обычно для USB-устройств, вы можете просто отключить его и снова подключить к нему , поэтому вам может потребоваться перезагрузка.
Вы можете контролировать, что udev делает с udevadm monitor.
Быстрый и грязный способ отключения клавиатуры может заключаться в использовании evtest, чтобы захватить его. После этого события доставляются в тестовую программу и больше не проходят через графический сервер.
$ sudo evtest --grab /dev/input/event4 >/dev/null
Вы должны оставить эту программу все время.
Более трудным способом отключения устройства является добавление для него правила udev, которые устанавливают ID_INPUT в пустые, так что libinput будет игнорировать его. Я не пробовал следующее, поэтому используйте его как руководство для исследования, а не окончательное решение.
Сначала перечислите информацию udev для устройства событий, которое является клавиатурой, например:
$ udevadm info /dev/input/event4
...
E: ID_INPUT=1
E: ID_INPUT_KEY=1
E: ID_INPUT_KEYBOARD=1
E: ID_SERIAL=05f3_0007
Теперь вам нужно найти то, что однозначно идентифицирует ваше устройство. Обычно это идентификатор поставщика и идентификатор продукта (как в ID_SERIAL выше). Префикс E: означает, что эта переменная задана в среде udev, поэтому в правиле udev вы должны сказать, что хотите сопоставить ENV{ID_SERIAL}=="05f3_0007".
Однако для вашего ноутбука вам, вероятно, придется найти что-то еще, чтобы соответствовать. Вы можете искать выше дерево устройств, чтобы найти родителя с атрибутом, который легче сопоставить:
$ udevadm info -a /dev/input/event4
...
looking at parent device '/devices/pci0000:00/.../input/input4':
KERNELS=="input4"
SUBSYSTEMS=="input"
ATTRS{name}=="HID 05f3:0007"
...
Итак, вместо правила udev, совпадающего с ID_SERIAL, вы можете сопоставлять ATTRS{name}=="HID 05f3:0007" вместо. В вашем случае я ожидал бы что-то вроде ATTRS{name}=="AT Translated Set 2 keyboard".
После того, как вы нашли подходящее совпадение, создайте свой собственный файл /etc/udev/rules.d/99-my.rules (начните с 99, чтобы сделать свое правило последним) с вашим правилом переопределения для сброса значение ID_INPUT должно быть пустым. Строго придерживайтесь формата этого файла. Обратите внимание, что все условия сравниваются с ==, кроме последнего, который является назначением с одним =.
ACTION=="add|change", ENV{ID_SERIAL}=="05f3_0007", ENV{ID_INPUT}=""
или, более вероятно, для вас:
ACTION=="add|change", ATTRS{name}=="AT Translated Set 2 keyboard", ENV{ID_INPUT}=""
Обычно изменение файла должно быть замечено автоматически udev, но если не делать sudo udevadm control --reload. Затем вы можете попытаться вызвать изменение устройства:
$ sudo udevadm trigger --action=change /dev/input/event4
Я не уверен, как это работает для фиксированного устройства, как обычно для USB-устройств, вы можете просто отключить его и снова подключить к нему , поэтому вам может потребоваться перезагрузка.
Вы можете контролировать, что udev делает с udevadm monitor.