Respondendo a minha própria pergunta depois de muita pesquisa.
A nova "filosofia" do udev
Aparentemente, a nova maneira "correta" de usar udev
não é incorrer em processos de execução longa.
Via link :
RUN ... Iniciar daemons ou outros processos de execução longa não é apropriado para o udev; os processos bifurcados, separados ou não, serão incondicionalmente morto após o término do tratamento do evento.
Note como isso está em contradição com a citação de página do homem no OP.
Meu melhor palpite é que uma mudança recente de udev
(~ 2012 em algum momento) força todos os processos incluindo seus bifurcados a terminar antes de permitir que a execução continue como um mecanismo de aplicação dessa nova filosofia.
Portanto, todas as documentações e respostas facilmente acessíveis na web que fornecem o padrão no OP como solução estão quebradas.
A nova filosofia de padrão de longa duração é compreensível na instância quando se fala de algum daemon que está sempre em execução quando o dispositivo está conectado. No entanto, elimina o efetivo defer
use-case junto com ele.
Solução alternativa
No entanto, também descobri uma solução alternativa:
/lib/udev/rules.d/98-mouse-config.rules/
SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="008c", ACTION=="add|remove", ENV{ID_TYPE}!="hid", RUN+="/home/mikeknoop/scripts/udev-receiver.sh"
udev-receiver.sh
#!/bin/bash
echo /home/mikeknoop/scripts/mouse.sh | at now
mouse.sh
#!/bin/bash
sleep 3;
export DISPLAY=":0.0"
export XAUTHORITY="/home/mikeknoop/.Xauthority"
/usr/bin/xinput --set-prop 'pointer:Microsoft Microsoft Wireless Optical Mouse® 1.0A' 'Device Accel Constant Deceleration' 2.00000
... more xinput rules here
Nota Isto foi testado e funciona no Ubuntu 13.04
Observação Você precisará instalar o at
, que é um pacote de tarefas assíncronas via sudo apt-get install at
Eu reuni a solução alternativa de link