Forum Linux.général Xorg-server 1.8 et appelle de xinput par script - acpid

Posté par  (site web personnel) .
Étiquettes : aucune
0
30
juil.
2010
Bijour,

Nouveau compte linuxfr pour l'occasion ^^

J'ai fait le script suivant pour décharger ou charger le module noyau de ma dalle tactile quand on ferme ou ouvre l'écran.
Ce script est appelé par le biais de acpid :

#!/bin/sh
if lsmod|grep hid_cando;
then
if grep -q open /proc/acpi/button/lid/LID0/state; then echo "Zap, lid is open"; exit 0; fi
echo Turn off...
su max -c 'xinput set-prop Touchscreen "Device Enabled" 0'
modprobe -r hid_cando
else
echo Turn on...
sleep 3
modprobe hid_cando
su max -c 'xinput set-prop Touchscreen "Device Enabled" 1'
fi


Ça marchait parfaitement avant que je migre à Xorg-server 1.8 (la 1.8.2, sous Gentoo).

Avec Xorg 1.8, cette commande ne marche plus quand elle est appelée par le biais d'acpid :
su max -c 'xinput set-prop Touchscreen "Device Enabled" 1' 

mais elle marchera dans un terminal :/

J'ai essayé de lancer en utilisateur ceci pour permettre à root de lancer xinput directement :
xhost +local:0

Ça marche en console, mais toujours pas dans le script appelé par acpid.

J'ai passé la nuit avant de comprendre que c'était au niveau de la commande xinput que ça bloquait, alors que la version de xinput est toujours la même, la 1.5.2.
Si je rajoute >> après la commande dans le script pour mettre le résultat de la commande dans un fichier de log, il reste vide comme si il n'y avait pas eu d'erreur. Mais l'état du touchscreen sous X reste à sa valeur actuelle.

Xorg 1.8 changerai quelque chose ? Une idée ?
Un peu d'aide serait la bienvenue, merci :)
  • # stderr & autres debug ?

    Posté par  (site web personnel) . Évalué à 2.

    Faire une redirection est une bonne idée mais ça ne met que la sortie standard...
    Si tu veux avoir l'erreur standard il faudra rajouter 2>&1 !

    Sinon appeler un sous script dédié qui te servirait à mettre plein d'information de debug...
    ex : su max -c "/path/screen_off.sh"
    et le script aurait des truc genre
    - ìd,
    - env
    - echo "code retour$?" après le xinput

    Tout cela devrait te mettre sur la piste...

    Fuse : j'en Use et Abuse !

    • [^] # Re: stderr & autres debug ?

      Posté par  (site web personnel) . Évalué à 1.

      Ha merci :) Je me disais bien que j'avais failli quelque part ^^
      Je regarderai dés que mon cerveau aura récupéré !
      • [^] # Re: stderr & autres debug ?

        Posté par  (site web personnel) . Évalué à 1.

        Alors résultat, xinput renvois :
        Unable to connect to X server

        Même avec un radical xhost + ça ne marche pas, alors qu'à ce moment là root peut lancer des tâches X11 en ligne de commande et utiliser xinput.

        Je suis perdu, la gestion des droits d'accès de Xorg a été modifiée ?
        Acpid n'a pas de problème de droits d'accès pour décharger le module de la dalle du noyau, serait-ce un problème de terminaux virtuels ?

        Je vais chercher dans la doc de Xorg, mais si quelqu'un à des pistes/liens ;)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.