Le export DISPLAY=:0 est-il inclus dans le script xinput | ... ?
Idem pour export XAUTHORITY=/home/prn/.Xauthority si nécessaire.
Au-delà de ça, via la règle udev, si whoami retourne root, c'est que le changement d'utilisateur n'est pas opéré correctement. Il faut peut-être tenter de décomposer en deux scripts :
le premier, lancé par udev de la façon la plus simple qui soit possible, lance le second script par l'une des méthodes de changement d'utilisateur (su ou autre)
le second script effectue les logs de vérification (whoami, etc), fait les export puis lance xinput | ...
Si le second script n'est toujours pas lancé en tant que prn, il y a un problème qui m'échappe.
En complément, il faudrait peut-être utiliser les commandes set et/ou env, redirigées dans des logs à comparer avec les mêmes commandes lancées à la main dans une session normale. Il y aura peut-être d'autres différences significatives, en plus de DISPLAY et XAUTHORITY.
[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par pseudonymous . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 1.
Le
export DISPLAY=:0est-il inclus dans le scriptxinput | ...?Idem pour
export XAUTHORITY=/home/prn/.Xauthoritysi nécessaire.Au-delà de ça, via la règle
udev, siwhoamiretourneroot, c'est que le changement d'utilisateur n'est pas opéré correctement. Il faut peut-être tenter de décomposer en deux scripts :udevde la façon la plus simple qui soit possible, lance le second script par l'une des méthodes de changement d'utilisateur (suou autre)whoami, etc), fait lesexportpuis lancexinput | ...Si le second script n'est toujours pas lancé en tant que
prn, il y a un problème qui m'échappe.En complément, il faudrait peut-être utiliser les commandes
setet/ouenv, redirigées dans des logs à comparer avec les mêmes commandes lancées à la main dans une session normale. Il y aura peut-être d'autres différences significatives, en plus deDISPLAYetXAUTHORITY.