Je cours 11.04 sur un Asus UL30. J'essaie d'exécuter un script pour corriger les paramètres de mon synclient (qui sont perdus lors de la reprise). J'ai écrit le script suivant dans /etc/pm/sleep.d/10_touchpad:
#!/bin/sh
#change synclient settings on resume
case "$1" in
resume|thaw)
sleep 15 && synclient TapButton2=2 TapButton3=3 ;;
esac
/ var/log/pm-suspend affiche les éléments suivants:
/etc/pm/sleep.d/10_grub-common suspend suspend: success. Lancer hook /etc/pm/sleep.d/10_touchpad suspendre suspendre: /etc/pm/sleep.d/10_unattended-upgrades-hibernate resume suspend: success. Exécution de hook /etc/pm/sleep.d/10_touchpad resume suspend: Échec de la connexion au serveur X.
/etc/pm/sleep.d/10_touchpad resume suspend: success. Lancer le crochet /etc/pm/sleep.d/10_grub-common
Vous ne savez pas vraiment pourquoi les modifications du synclient ne sont pas modifiées par ce script lors de la reprise. J'apprécierais toute idée ...
Pour atteindre votre objectif (exécuter un script d'espace utilisateur dépendant de la session X lorsque votre ordinateur reprend), vous devez:
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 remplacerais la ligne par:
export DISPLAY=:0
su -c - <yourusername> /usr/local/sbin/setupTouchpad.sh
Où <yourusername>
devrait être remplacé. Notez qu'il est toujours judicieux de disposer de temps de sommeil pour vous assurer que le système est bien réveillé avant d'exécuter le code. Assurez-vous également de chmod +x
que setupTouchpad.sh
script.
Le problème avec ce qui précède est que vous devez coder en dur votre nom d'utilisateur (ou utiliser un moyen détourné pour déterminer quel utilisateur est connecté et possède la session X active). Il est préférable de définir les paramètres du touchpad à l'échelle du système pour X.
Ces options peuvent être définies dans /usr/share/X11/xorg.conf.d/
Pour moi, le fichier correct à éditer est 50-synaptics.conf
ici j'ai défini les 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 valides, lancez simplement synclient
.
Remarque vous devez redémarrer X pour que ces modifications prennent effet. Pour ce faire dans Ubuntu, par exemple, vous pouvez exécuter Sudo /etc/init.d/lightdm restart
Pour prévisualiser vos modifications, essayez d’exécuter la ligne suivante (ou une variante). Supprimez | bash
de la fin pour voir les commandes émises.
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 naviguez sur Google pour touchpad settings synaptics xorg.conf.d
, vous trouverez également quelques aperçus intéressants des options.
Références