Помимо использования xinput
, другой вариант — создать свой собственный xorg.conf
файл (обычно /etc/X11/xorg.conf
, но Mint может предпочесть где-то еще ). Это заставит X-сервер игнорировать его сразу после запуска X-сервера, никаких дополнительных действий не требуется. Это должно выглядеть примерно так:
Section "InputClass"
Identifier "disable broken device"
MatchIsKeyboard "on"
MatchProduct "full product name from 'xinput list'"
Option "Ignore" "on"
EndSection
См. также, например,. этот вопрос. Более подробную информацию о доступных опциях можно найти в man xorg.conf
.
Я вижу, вы уже нашли ответ, но поскольку я работал над этим, я оставлю его здесь для потомков:
Если вы столкнулись с подобным отказом в selinux, вы можете использовать инструмент audit2allow
для создания обновленной политики selinux, которая разрешает это действие. Во-первых, вы, вероятно, захотите перевести selinux в разрешающий режим :
setenforce 0
Теперь войдите в систему и убедитесь, что ваша конфигурация PAM работает должным образом. Мы делаем это потому, что существует большая вероятность дополнительных отказов selinux после первого, и работа в разрешительном режиме гарантирует, что все они будут зарегистрированы.
Теперь вы можете снова перевести selinux в принудительный режим:
setenforce 1
Выполнить audit2allow -a
. Это создаст что-то вроде следующего:
#============= sshd_t ==============
#!!!! This avc can be allowed using one of the these booleans:
# authlogin_yubikey, nis_enabled
allow sshd_t http_port_t:tcp_socket name_connect;
Я говорю «что-то вроде», потому что (a )как я уже говорил ранее, могут быть дополнительные отказы, связанные с вашей текущей конфигурацией PAM и (b )эта команда просматривает все записи в журнале аудита., так что вы получите результаты для предыдущих отказов, которые на самом деле не связаны с вашей текущей проблемой.
В этом случаемы видим, что можем разрешить действие, которое было отклонено, установив существующее логическое значение selinux. Это будет выглядеть примерно так:
setsebool nis_enabled=1
Это может быть все, что вам нужно. Кроме того, вы можете сгенерировать обновление для своей политики selinux следующим образом:
audit2allow -a -M local
Будет создан новый файл политики local.pp
. Вы можете активировать это, запустив:
semodule -i local.pp
Здесь есть полезная информация о работе с selinux , включая гораздо более подробный обзор использования audit2allow
.
Хорошо, это заняло некоторое время, но мне удалось это исправить. Моя проблема в том, что я не знал, как проверить правила selinux, после прочтения отличного учебника Gentoo SELinux я узнал, как запрашивать правила, используяsesearch
:
# sesearch --allow -s sshd_t -t unreserved_port_t -c tcp_socket -p name_connect
В этом случае я переключил свой сценарий уведомления с известного порта на случайный порт, поэтому я выполняю поиск unresolved_port_t
в качестве целевого типа вместо цели http_port_t
, о которой я сообщил в журнале аудита.
В списке есть это правило:
allow sshd_t unreserved_port_t:tcp_socket name_connect; [ nis_enabled ]:True
Это разрешено, но с учетом логического значения nis_enabled
, которое фактически было отключено в моей системе (, проверено черезgetsebool -a | grep nis_enable
).
Я использовал setsebool nis_enabled on
, чтобы включить это правило, и теперь оно работает безупречно.