J'ai fait un script pour faire pivoter ma tablette Wacom Bamboo de 180 degrés. Cela fonctionne bien lorsque je l'exécute en tant que moi-même (utilisateur) ou root, mais lorsqu'il est démarré à partir de udev
(c'est-à-dire lorsque vous branchez la tablette sur un usb
port), cela ne fonctionnera pas.
Règles Udev :
SUBSYSTEMS=="usb", ATTRS{idVendor}=="056a", ATTRS{idProduct}=="00d1", ATTRS{manufacturer}=="Wacom Co.,Ltd.", RUN+="/usr/local/bin/red-wacom-bamboo.sh"
Script Wacom /usr/local/bin/red-wacom-bamboo.sh :
#!/usr/bin/env bash
exec > /tmp/red-wacom.log
exec 2>&1
# I had to do this otherwise xsetwacom would say:
# "Failed to open Display ."
# Is there a way to do this without using my username?
export XAUTHORITY=/home/redsandro/.Xauthority
export DISPLAY=:0
/usr/bin/xsetwacom set "Wacom Bamboo 2FG 4x5 Pen stylus" Rotate half
/usr/bin/xsetwacom set "Wacom Bamboo 2FG 4x5 Finger touch" Rotate half
Résultat dans /tmp/red-wacom.log :
Cannot find device 'Wacom Bamboo 2FG 4x5 Pen stylus'.
Cannot find device 'Wacom Bamboo 2FG 4x5 Finger touch'.
(Notez que l'erreur dans le journal signifie que la règle udev elle-même n'est pas le problème.)
J'ai essayé de mettre un sleep
dans le script, peut-être qu'il a besoin de quelques ms. Mais ça n'aide pas.
- Pourquoi ce script ne fonctionne-t-il pas lorsqu'il est appelé directement depuis
udev
?- Comment puis-je réparer ça?
- Puis-je appeler un script à partir
udev
d'un utilisateur spécifique? (par exemple, la synchronisation/home
avec le lecteur de sauvegarde externe - / home / n'est visible que par son utilisateur)
55
? J'utilise toujours l'idée que "les entrées sans nombre sont traitées en dernier, il est donc préférable d'ignorer les numéros pour les entrées personnalisées".