Réponse directe
Pour atteindre votre objectif (exécuter un script dépendant de la session X dans l'espace utilisateur lorsque votre machine reprend), vous devez.. :
- exécuter le script en tant qu'utilisateur approprié ; et
- s'assurer que la variable DISPLAY est définie.
Je déplacerais la ligne sleep 15 && synclient TapButton2=2 TapButton3=3
dans un fichier séparé, par exemple /usr/local/sbin/setupTouchpad.sh
et remplacez la ligne par :
export DISPLAY=:0
su -c - <yourusername> /usr/local/sbin/setupTouchpad.sh
Où <yourusername>
doivent être remplacés. Notez qu'il est toujours bon de prévoir un temps de sommeil pour s'assurer que le système est réveillé avant d'exécuter le code. Veillez également à chmod +x
que setupTouchpad.sh
script.
Une meilleure façon de faire
Le problème est que vous devez coder en dur votre nom d'utilisateur (ou utiliser un moyen détourné pour découvrir quel utilisateur est connecté et dispose de la session X active). Il est préférable de définir les paramètres du pavé tactile au niveau du système pour X.
Ces options peuvent être définies dans /usr/share/X11/xorg.conf.d/
Pour moi, le fichier à modifier est le suivant 50-synaptics.conf
Ici, j'ai défini des options, voici une partie de ce fichier :
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
Option "TapButton2" "2"
Option "TapButton3" "3"
# Etc...
EndSection
Comme vous le savez peut-être déjà, pour voir les options valables, il suffit d'exécuter la commande synclient
.
Note vous devez redémarrer X pour que ces modifications soient prises en compte. Pour ce faire, sous Ubuntu, par exemple, vous pouvez exécuter la commande suivante sudo /etc/init.d/lightdm restart
Pour prévisualiser vos modifications, vous pouvez essayer d'exécuter la ligne suivante (ou une variante). Enlever | bash
depuis la fin pour voir les commandes qu'il émet.
cat /usr/share/X11/xorg.conf.d/50-synaptics.conf | grep Option | grep -v "^\#" | awk '{print "synclient " $2 "=" $3}' | sed 's/\"//g' | bash
Si vous cherchez sur Google touchpad settings synaptics xorg.conf.d
vous trouverez également quelques bonnes vues d'ensemble des options.
参考文献