Finalement cela n'a pas survecu au redémarrage : ça ne fonctionne plus. J'ai ajouté echo "$(date)- start" >> /tmp/foobar.log au script pour constater qu'il n'est plus lancé par le branchement du VPI…
Ça semble fonctionner comme souhaité, du moins quand on branche le VPI avec une session ouverte. Reste à voir les cas où le VPI est déjà allumé et branché et le changement d'utilisateur…
J'ai peut-être mal compris mais en fait non, on ne le connais pas. J'ai fait des tests avec un utilisateur connu mais à priori on ne le connaît pas : c'est un utilisateur lambda du domaine.
pour trouver l'utilisateur qui a ouvert la première session :
C'est plutôt le dernier, ou plutôt celui qui a une session graphique ouverte au moment où le script est lancé.
Il peut y avoir plusieurs utilisateurs qui se sont succédé et qui n'ont pas forcémentfermé leur session.
Pas tout à fait de cette manière et je pense que j'ai dans mes essais précédents accumulé les erreurs de syntaxe que j'ai eu du mal à débugger. J'ai posté plus bas une ébauche partiellement fonctionnelle, solution que je pensais avoir déjà explorée.
Mais merci à tous ceux qui se sont déjà penché sur le problème…
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.
#!/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)
Un fichier de périphérique est-il créé au branchement ?
il y a effectivement 7 (!) entrées qui sont crées dans /dev/input/by-id/ du type usb-EPSON_EPSON_EPSON_695Wi_695WT-event-mouse` et qui disparaissent à la déconnexion
Le service est activé par par systemctl --user enable epson-vpi.service
En branchant le VPI, je vois bien que le script est lancé
Mais le stylet n'est pas aligné !! alors que si l’utilisateur lance la commande directement, ça fonctionne et le stylet est aligné.
Pourtant dans ce cas, su n'est pas nécessaire, c'est bien l'utilisateur qui exécute le script.
(j'ai coupé les deux derniers logs : udev s'exécute deux fois et donc les logs bégayent mais je ne pense pas que ce soit ça le problème. Je n'ai mis qu'une seule des deux occurences)
Il y a eu sur les premières version une limite gênante du nombre de clients connectés simultanément (une vingtaine pas plus) mais je crois que ça a été corrigé. Je n'en sais pas plus je ne l'utilise plus…
Est-ce qu'il ne serait pas possible d’utiliser une autre approche avec service systemd --user qui écoute udevadm monitor et lance le script quand il détecte le branchement ?
Pour les précisions technopédagogiques, un VPI (vidéoprojecteur interactif) ou TBI (tableau blanc interactif) sont deux dispositifs fonctionnellement identiques : des périphériques de pointage couvrant une grande surface d'affichage. La différence est que la partie sensible d'un VPI est dans le vidéoprojecteur courte focale alors que dans le TBI elle est dans la surface de projection. Le vidéoprojecteur est alors des plus classiques (courte ou longue focale). Le confort d'utilisation du VPI, du moins pour les EPSON, est incomparable (calibrage super stable, pas d'éblouissement)
Il existe aussi des écrans interactifs (de très grands écrans tactiles, type LCD, oLED ou je ne sais quoi) mais je n'en ai jamais utilisé, juste vu un en démo il y a qq années. De ce que j'ai compris, c'est plus qu'un écran puisque ça embarque un système android complet mais c'est interfaçable avec un ordi plus conventionnel.
J'ai une grosse doc papier au collège et un CD… quelque part mais sinon en ligne c'est ici : https://www.epson.fr/fr_FR/support/sc/epson-eb-695wi/s/s1534#manuals mais c'est juste la doc d'installation pas de la documentation d'usage. Pour les utilisations péda, il y a pas mal de contenus sur les sites académiques, mais pas sûr que cela puisse correspondre aux usages d'un fablab.
Mais comme il s'agit d'affichage en grand et de pointage, tu peux l'utiliser pour tout ce que tu veux montrer et manipuler en même temps.
Ta démo scratch sera plus pertinente qu'un tuto avec des captures d'écran, plus pratique qu'une manip à la souris avec un VP classique. Démo de logiciels idem.
Le reste c'est du logiciel : des logiciels de constructeurs plus ou moins complets, propriétaires pour ce qui est des constructeurs, et plus ou moins complets. Sur ce dernier point, en tout cas pour ceux que j'ai vraiment utilisé, EPSON fait du très basique (gribouillage sur l'image de projection pas beaucoup plus), promethean est très riche (mais complètement fermé) avec beaucoup de fonctionnalités scolaire (et un OCR manuscrit qui marche !)
Pour ma part j'utilise principalement OpenBoard malgré une orientation fonctionnelle très école primaire. J'ai aussi utilisé xournal++ quand les fonctionnalités multi-écran (j'y tiens) d'OpenBoard n'étaient pas au top. En physique-chimie c'est surtout en association avec la caméra qui me permet de montrer une manip puis d'en faire une photo et la gribouiller, l'annoter etc. L'intérêt de l'interactivité est de pouvoir faire évoluer les gribouillages, schémas, graphiques etc.
Évidemment sauvegarde en pdf, mise à disposition des élèves, retour en arrière sur les séances précédentes…
Les prof des écoles aiment bien les manipulations de morceaux de phrases à reconstituer, les applis de calculs, etc. Toujours dans la même idée : manipuler et visualiser en même temps.
On s'éloigne du sujet mais ça mériterai un nourjal ça, si j'arrive à y consacrer un peu de temps.
Le export DISPLAY=:0 est-il inclus dans le script xinput | … ?
Idem pour export XAUTHORITY=/home/prn/.Xauthority si nécessaire.
J'ai essayé, avec DISPLAY=:0 et DISPLAY=:0.0 et avec XAUTHORITY=/home/prn/.Xauthority
Avec ou sans, c'est le même comportement : OK par l'utilisateur prn ou par sudo -i mais pas OK par la règle udev.
Désolé de ne pas être forcément très réactif pour les tests, il faut que j'arrive à passer entre les cours dans la salle avec ce VPI et mes cours à moi :-/
# proxy ?
Posté par cévhé . En réponse à la dépêche MeshCentral, alternative à TeamViewer et RustDesk. Évalué à 4.
Le serveur peut-il fonctionner s'il est derrière un proxy ?
[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
ça repart mais j'ai ajouté * à la fin de la règle udev :
ENV{DEVLINKS}=="*usb-EPSON_EPSON_EPSON_695Wi_695WT-mouse*"[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Finalement cela n'a pas survecu au redémarrage : ça ne fonctionne plus. J'ai ajouté
echo "$(date)- start" >> /tmp/foobar.logau script pour constater qu'il n'est plus lancé par le branchement du VPI…[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Par curiosité, quelle est la différence ou intérêt ?
[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Solution provisoire et mise en test
Un fichier
/etc/udev/rules.d/90-usbepson.rules:un script
/usr/local/bin/map-epson2.sh:Ça semble fonctionner comme souhaité, du moins quand on branche le VPI avec une session ouverte. Reste à voir les cas où le VPI est déjà allumé et branché et le changement d'utilisateur…
[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 3.
Question peut-être bête : est ce que
est quelque chose de sûr ? Ça à l'air de renvoyer l'id de l'utilisateur connecté mais il y a peut-être un problème caché…
[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Mea culpa, c'était un raccourci parce que je n'avais pas le nom complet sous les yeux.
[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
J'ai peut-être mal compris mais en fait non, on ne le connais pas. J'ai fait des tests avec un utilisateur connu mais à priori on ne le connaît pas : c'est un utilisateur lambda du domaine.
C'est plutôt le dernier, ou plutôt celui qui a une session graphique ouverte au moment où le script est lancé.
Il peut y avoir plusieurs utilisateurs qui se sont succédé et qui n'ont pas forcémentfermé leur session.
[^] # Re: Où cela commence à fonctionner
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Les périphériques créés sont :
donc pour moi, si je suis bien, ce serait un fichier :
/usr/lib/systemd/user/dev-usb-EPSON_EPSON_EPSON_695Wi_695WT-mouse.device?[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Pas tout à fait de cette manière et je pense que j'ai dans mes essais précédents accumulé les erreurs de syntaxe que j'ai eu du mal à débugger. J'ai posté plus bas une ébauche partiellement fonctionnelle, solution que je pensais avoir déjà explorée.
Mais merci à tous ceux qui se sont déjà penché sur le problème…
# Où cela commence à fonctionner
Posté par cévhé . 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` :
Et dans le script
/usr/local/bin/usb-test.sh:Constats :
- xeyes est bien lancé à chaque branchement - débranchement de la tablette
- ça marche même sans export et sans préciser le fichier
.XauthorityDemain 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-2Reste 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)[^] # Re: plussoie
Posté par cévhé . En réponse au journal C’est vendredi, jour de lecture. Évalué à 5.
Je plussoie l’incitation aux commentaires récursifs.
[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 3. Dernière modification le 13 janvier 2026 à 09:35.
« confus » c'est effectivement le mot qui m'est venu à l'esprit quand j'ai vu la sortie du truc ;-)
[^] # Re: reprendre la base d'une piratebox
Posté par cévhé . En réponse au message RaPi comme un réseau social local temporaire et déconnecté d'internet. Évalué à 2.
La moodlebox est toujours maintenue
[^] # Re: Une autre approche (réalisable ?)
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2. Dernière modification le 12 janvier 2026 à 17:46.
il y a effectivement 7 (!) entrées qui sont crées dans
/dev/input/by-id/du type usb-EPSON_EPSON_EPSON_695Wi_695WT-event-mouse` et qui disparaissent à la déconnexionIl y a moyen d'en faire quelque-chose ?
[^] # Re: Une autre approche (réalisable ?)
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
J'ai essayé ceci, suggéré par ailleurs (mais qui ne marche pas mieux :-( )
/etc/udev/rules.d/91-vpi-epson.rules :
/etc/systemd/user/epson-vpi.service :
et le script :
Le service est activé par par
systemctl --user enable epson-vpi.serviceEn branchant le VPI, je vois bien que le script est lancé
Mais le stylet n'est pas aligné !! alors que si l’utilisateur lance la commande directement, ça fonctionne et le stylet est aligné.
Pourtant dans ce cas,
sun'est pas nécessaire, c'est bien l'utilisateur qui exécute le script.[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
J'ai fais quelques modifs dans les scripts pour logger les informations peut-être pertinentes :
udev lance script1.sh :
puis map-epson.sh exécute la commande kivabien (et logge les données au passage)
Si l'user prn lance le script map-epson.sh directement, ça fonctionne bien et le script2.log contient :
Le branchement du VPI et donc le déclenchement par udev ne donne pas le résultat escompté pour le fonctionnement du VPI et les logs sont :
script1.log
et pour script2.log
(j'ai coupé les deux derniers logs : udev s'exécute deux fois et donc les logs bégayent mais je ne pense pas que ce soit ça le problème. Je n'ai mis qu'une seule des deux occurences)
[^] # Re: reprendre la base d'une piratebox
Posté par cévhé . En réponse au message RaPi comme un réseau social local temporaire et déconnecté d'internet. Évalué à 3.
Il y a aussi la moodlebox qui a ce genre de base.
https://moodlebox.net/fr/
Il y a eu sur les premières version une limite gênante du nombre de clients connectés simultanément (une vingtaine pas plus) mais je crois que ça a été corrigé. Je n'en sais pas plus je ne l'utilise plus…
# reprendre la base d'une piratebox
Posté par cévhé . En réponse au message RaPi comme un réseau social local temporaire et déconnecté d'internet. Évalué à 5.
parce que ça contient ce dont tu as besoin : point d'accès wifi, serveur DHCP, serveur web.
Ensuite tu peux y mettre que que tu voudras comme chat ou tableau blanc.
[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
OK, donc si j'ai bien suivi : udev lance un script
/usr/local/bin/script1.shqui contient
su - prn -c /usr/local/bin/script2.shet c'est ce script2 qui contiendra la ligne
xinput | grep EPSON | grep -oP '(?<=id=)[0-9]+' | xargs -I % xinput map-to-output % DP-2?
[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Il y a bien le
export(j'ai aussi essayé sans et :0.0 )[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2.
Ça doit effectivement être un pb de
su: dans le script lancé par la règle udev, j'ai mis :su - prn -c "whoami : $(whoami) >> /tmp/test.log"Le fichier test.log est bien créé mais il contient
whoami : root!# Une autre approche (réalisable ?)
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 3.
Est-ce qu'il ne serait pas possible d’utiliser une autre approche avec service
systemd --userqui écouteudevadm monitoret lance le script quand il détecte le branchement ?[^] # Re: utilisation VPI ou TBI ?
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 3.
Pour les précisions technopédagogiques, un VPI (vidéoprojecteur interactif) ou TBI (tableau blanc interactif) sont deux dispositifs fonctionnellement identiques : des périphériques de pointage couvrant une grande surface d'affichage. La différence est que la partie sensible d'un VPI est dans le vidéoprojecteur courte focale alors que dans le TBI elle est dans la surface de projection. Le vidéoprojecteur est alors des plus classiques (courte ou longue focale). Le confort d'utilisation du VPI, du moins pour les EPSON, est incomparable (calibrage super stable, pas d'éblouissement)
Il existe aussi des écrans interactifs (de très grands écrans tactiles, type LCD, oLED ou je ne sais quoi) mais je n'en ai jamais utilisé, juste vu un en démo il y a qq années. De ce que j'ai compris, c'est plus qu'un écran puisque ça embarque un système android complet mais c'est interfaçable avec un ordi plus conventionnel.
J'ai une grosse doc papier au collège et un CD… quelque part mais sinon en ligne c'est ici : https://www.epson.fr/fr_FR/support/sc/epson-eb-695wi/s/s1534#manuals mais c'est juste la doc d'installation pas de la documentation d'usage. Pour les utilisations péda, il y a pas mal de contenus sur les sites académiques, mais pas sûr que cela puisse correspondre aux usages d'un fablab.
Mais comme il s'agit d'affichage en grand et de pointage, tu peux l'utiliser pour tout ce que tu veux montrer et manipuler en même temps.
Ta démo scratch sera plus pertinente qu'un tuto avec des captures d'écran, plus pratique qu'une manip à la souris avec un VP classique. Démo de logiciels idem.
Le reste c'est du logiciel : des logiciels de constructeurs plus ou moins complets, propriétaires pour ce qui est des constructeurs, et plus ou moins complets. Sur ce dernier point, en tout cas pour ceux que j'ai vraiment utilisé, EPSON fait du très basique (gribouillage sur l'image de projection pas beaucoup plus), promethean est très riche (mais complètement fermé) avec beaucoup de fonctionnalités scolaire (et un OCR manuscrit qui marche !)
Pour ma part j'utilise principalement OpenBoard malgré une orientation fonctionnelle très école primaire. J'ai aussi utilisé xournal++ quand les fonctionnalités multi-écran (j'y tiens) d'OpenBoard n'étaient pas au top. En physique-chimie c'est surtout en association avec la caméra qui me permet de montrer une manip puis d'en faire une photo et la gribouiller, l'annoter etc. L'intérêt de l'interactivité est de pouvoir faire évoluer les gribouillages, schémas, graphiques etc.
Évidemment sauvegarde en pdf, mise à disposition des élèves, retour en arrière sur les séances précédentes…
Les prof des écoles aiment bien les manipulations de morceaux de phrases à reconstituer, les applis de calculs, etc. Toujours dans la même idée : manipuler et visualiser en même temps.
On s'éloigne du sujet mais ça mériterai un nourjal ça, si j'arrive à y consacrer un peu de temps.
[^] # Re: essai par rapports aux variables d'environnement etc.
Posté par cévhé . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2. Dernière modification le 08 janvier 2026 à 14:57.
J'ai essayé, avec DISPLAY=:0 et DISPLAY=:0.0 et avec XAUTHORITY=/home/prn/.Xauthority
Avec ou sans, c'est le même comportement : OK par l'utilisateur prn ou par sudo -i mais pas OK par la règle udev.
Désolé de ne pas être forcément très réactif pour les tests, il faut que j'arrive à passer entre les cours dans la salle avec ce VPI et mes cours à moi :-/