(ubuntu 16.04) .rules arquivo /etc/udev/rules.d/ não parece fazer trabalho

3

O que pretendo alcançar:

Estou tentando executar um script automaticamente quando um determinado cartão SD é inserido.

FATOS:

a. O script que eu pretendo executar está em /home/vivek/Desktop/Message.sh e tem o seguinte script nele. Suas permissões são definidas como sendo um arquivo executável:

#!/bin/sh
echo "Card is now inserted"

b. Em /etc/udev/rules.d, meu arquivo de regras é chamado 10-local.rules e possui a seguinte regra:

ENV{ID_FS_UUID}=="C097-C12A", ACTION == "add", RUN+="/bin/sh /home/vivek/Desktop/Message.sh"

c. O ENV {ID_FS_UUID} do meu cartão SD é detectado pelo udevadm da seguinte forma:

d.Meuarquivoderegrasem/etc/udev/rules.d/estásendoprocessadoconformeencontradopelo'udevadmtest'mostradoabaixo:

PROBLEMA: Quando eu insiro o meu cartão SD, ele monta bem. Mas meu SCRIPT NUNCA É EXECUTADO! Qualquer ajuda é apreciada.

Felicidades

    
por Vivek 07.10.2016 / 23:13

1 resposta

1

Eu acho que o problema pode ser que o seu arquivo de regras 10-local.rules é muito cedo na lista de execução. Se você renomear 95-local.rules e recarregar as regras com sudo udevadm control --reload (se necessário em seu sistema), poderá ter mais sucesso. Note que nunca há saída do udev, portanto, um echo em seu script precisa estar em um arquivo.

Os valores mostrados por udevadm info que iniciam E: são ENV{} de propriedades que podem ser definidas por regras anteriores, portanto, você deve colocar suas regras o mais tarde possível.

    
por 08.10.2016 / 19:01