• # Où cela commence à fonctionner

    Posté par . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.

    Je progresse (enfin j'espère)

    N'ayant pas de VPI à la maison, je me suis rabattu sur ce que j'avais, plus simple et finalement plus accessible. J'arrive à quelque chose qui fonctionne. J'ai utilisé comme périphérique USB une tablette graphique wacom et simplement xeyes comme programme à lancer.

    fichier ̀ /etc/udev/rules.d/90-usb-test.rules` :

    ACTION=="add|remove", SUBSYSTEM=="input", ENV{DEVLINKS}=="*Wacom_Co*-event-mouse", RUN+="/usr/local/bin/usb-test.sh"
    

    Et dans le script /usr/local/bin/usb-test.sh :

    #!/bin/sh
    # valeurs pour mon portable perso
    USER_NAME="christian"
    DISPLAY_VALUE=":0"
    su - "$USER_NAME" -c "DISPLAY=$DISPLAY_VALUE /usr/bin/xeyes" &
    

    Constats :
    - xeyes est bien lancé à chaque branchement - débranchement de la tablette
    - ça marche même sans export et sans préciser le fichier .Xauthority

    Demain j'essaye de remplacer d'abord la chaîne caractéristique de la tablette par une du VPI epson
    Ensuite de remplacer xeyes par la longue ligne xinput | grep EPSON | grep -oP '(?<=id=)[0-9]+' | xargs -I % xinput map-to-output % DP-2

    Reste une partie pour laquelle je n'ai pas d'idée : l'utilisateur est codé pour le moment en dur. Comment faire pour remplacer USER_NAME="christian" par le nom de l'utilisateur qui est effectivement connecté à l'ordinateur ? (non prévisible : il s'agit des utilisateurs du domaine)