O udev precisa de sudo em execução?

1

Eu tenho uma regra udev que está correspondendo corretamente, mas não está executando o comando RUN+="/usr/bin/synclient TouchpadOff=1" corretamente. Se eu mudar isso para ser algum tipo de script de teste, então funciona bem.

Se eu executar synclient TouchpadOff=1 da linha de comando, não receberei retorno e não funcionará. No entanto, adicionar sudo a essa linha desativa o touchpad como pretendido.

O udev não está executando este comando com permissões de superusuário?

Ubuntu 15.04

    
por armadadrive 10.09.2015 / 03:01

1 resposta

2

synclient depende do servidor X para funcionar. Veja man synclient . Portanto, você precisa definir as variáveis de ambiente DISPLAY e XAUTHORITY do servidor em execução atual.

Se você estiver usando apenas uma conta de usuário com configuração simples de servidor, tente isto:

RUN+="/bin/sh -c 'DISPLAY=:0 XAUTHORITY=/home/<username>/.Xauthority synclient TouchpadOff=1'"

Altere <username> para seu nome de usuário.

    
por user.dz 10.09.2015 / 11:51