regra udev ao conectar qualquer dispositivo USB (Ubuntu 16.04)

0

Estou tentando fazer com que minha regra do udev funcione por algumas horas e isso não está funcionando. A regra deve lançar um novo terminal e executar meu script. Eu tentei executar um script da regra do udev para abrir um novo terminal primeiro, mas também para executar o novo terminal diretamente da regra do udev. Nem está funcionando. Estranhamente, correr o mkdir funciona usando as mesmas regras que me levam a acreditar que estou fazendo algo errado em outro lugar.

Esta é a regra do meu udev:

ACTION=="add", SUBSYSTEM=="usb", DRIVER=="usb", RUN+="/usr/bin/gnome-terminal -x /home/[user]/Desktop/script.sh"

Rodar tail -f / var / log / syslog mostra o script falhando com o código de saída 1, o que realmente não ajuda. Qualquer sugestão seria muito apreciada.

    
por fugalism 11.10.2016 / 09:43

1 resposta

0

Você não está vendo nada porque udev é executado em um contexto que não tem o conjunto de variáveis $DISPLAY , que é obrigatório para algo como gnome-terminal saber como entrar em contato com o servidor X. Você pode adicionar --display=:0 à linha de comando na regra ou escrever um script de wrapper que defina DISPLAY e, em seguida, chama gnome-terminal .

    
por Erik Walthinsen 01.02.2017 / 00:26