Eu não entendo porque sua regra é tão complexa? Especialmente esta seção
ENV{ID_MODEL}=="USB_Mouse",\
ENV{DISPLAY}=":0",\
ENV{XAUTHORITY}="/home/nikitautiu/.Xauthority",\
ENV{REMOVE_CMD}="/usr/bin/synclient TouchpadOff=0"
Na primeira linha, você corresponde a variável de ambiente ID_MODEL
, que só é vista por udev
em relação a USB_Mouse
. Nas três linhas seguintes, você atribui valores a variáveis de ambiente. Novamente visto apenas por udev
e o comando executado synclient
se a regra for aplicada.
Tenho certeza de que essa regra nunca é aplicada (você pode verificar isso analisando o arquivo de log de udev
), pois é provável que não haja nenhuma variável ID_MODEL
com conteúdo USB_Mouse
acessível, a menos que você defina ID_MODEL
no ambiente udev
anteriormente.
Sugiro que você compare a ação, o ID do fornecedor e o ID do produto do mouse, o que será suficiente na maioria dos casos. Então sua regra parece com
ACTION=="add", ATTRS{idVendor}=="<idVendor>", ATTRS{idProduct}=="<idProduct>", RUN+="/usr/bin/synclient TouchpadOff=1"
Você pode obter <idVendor>
e <idProduct>
analisando a saída de
lsusb -v
Não lembro se os valores hexadecimados são permitidos na forma clássica 0xffff
. Eu sempre levo apenas a parte atrás de 0x
em minhas regras.