cévhé a écrit 417 commentaires

  • [^] # Re: reprendre la base d'une piratebox

    Posté par  . En réponse au message RaPi comme un réseau social local temporaire et déconnecté d'internet. Évalué à 2 (+0/-0).

    La moodlebox est toujours maintenue

  • [^] # Re: Une autre approche (réalisable ?)

    Posté par  . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2 (+0/-0). Dernière modification le 12 janvier 2026 à 17:46.

    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

    Il y a moyen d'en faire quelque-chose ?

  • [^] # Re: Une autre approche (réalisable ?)

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

    J'ai essayé ceci, suggéré par ailleurs (mais qui ne marche pas mieux :-( )

    /etc/udev/rules.d/91-vpi-epson.rules :

    SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0907", OWNER="${USER}", GROUP="${USER}", MODE="0664"
    ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0907", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/dev/vpi"
    ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="04b8/0907/*", TAG+="systemd"
    

    /etc/systemd/user/epson-vpi.service :

    [Unit]
    Description=VPI Epson
    Requisite=dev-vpi.device
    After=dev-vpi.device
    StartLimitIntervalSec=1m
    StartLimitBurst=5
    
    [Service]
    Type=simple
    ExecStart=/usr/local/bin/map-epson.sh
    Restart=on-failure
    RestartSec=1
    
    [Install]
    WantedBy=dev-vpi.device
    

    et le script :

    #!/bin/sh
    xinput | grep EPSON | grep -oP '(?<=id=)[0-9]+' | xargs -I % xinput map-to-output % DP-2
    logger -t epson 'epson détecté...'
    

    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.

  • [^] # Re: essai par rapports aux variables d'environnement etc.

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

    J'ai fais quelques modifs dans les scripts pour logger les informations peut-être pertinentes :

    udev lance script1.sh :

    #!/bin/sh
    
    LOGFILE="/tmp/script1.log"
    echo "-------------------$(date)-----------------------------" >> "$LOGFILE" 2>&1
    echo "whoami        : $(whoami)"                >> "$LOGFILE" 2>&1
    echo "id            : $(id)"                    >> "$LOGFILE" 2>&1
    echo "pwd           : $(pwd)"                   >> "$LOGFILE" 2>&1
    echo "DISPLAY       : ${DISPLAY}"               >> "$LOGFILE" 2>&1
    echo "XAUTHORITY    : ${XAUTHORITY}"    >> "$LOGFILE" 2>&1
    echo "set ------------------------" >> "$LOGFILE" 2>&1
    set >> "$LOGFILE" 2>&1
    echo "env ------------------------" >> "$LOGFILE" 2>&1
    env >> "$LOGFILE" 2>&1
    
    echo "su - prn -------------------" >> "$LOGFILE" 2>&1
    su - prn -c /usr/local/bin/map-epson.sh 
    

    puis map-epson.sh exécute la commande kivabien (et logge les données au passage)

    #!/bin/sh
    
    xinput | grep EPSON | grep -oP '(?<=id=)[0-9]+' | xargs -I % xinput map-to-output % DP-2
    
    LOGFILE2="/tmp/script2.log"
    echo "-------------------$(date)-----------------------------" >> "$LOGFILE2" 2>&1
    echo "whoami        : $(whoami)"                >> "$LOGFILE2" 2>&1
    echo "id            : $(id)"                    >> "$LOGFILE2" 2>&1
    echo "pwd           : $(pwd)"                   >> "$LOGFILE2" 2>&1
    echo "DISPLAY       : ${DISPLAY}"               >> "$LOGFILE2" 2>&1
    echo "XAUTHORITY    : ${XAUTHORITY}"    >> "$LOGFILE2" 2>&1
    echo "set ------------------------" >> "$LOGFILE2" 2>&1
    set >> "$LOGFILE2" 2>&1
    echo "env ------------------------" >> "$LOGFILE2" 2>&1
    env >> "$LOGFILE2" 2>&1
    
    logger -t udevepson 'epson...'
    

    Si l'user prn lance le script map-epson.sh directement, ça fonctionne bien et le script2.log contient :

    -------------------lun. 12 janv. 2026 09:59:32 CET-----------------------------
    whoami        : prn
    id            : uid=1000(prn) gid=1000(prn) groupes=1000(prn),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),105(lpadmin),125(sambashare)
    pwd           : /home/prn
    DISPLAY       : :0.0
    XAUTHORITY    : /home/prn/.Xauthority
    set ------------------------
    CLUTTER_BACKEND='x11'
    CLUTTER_IM_MODULE='ibus'
    COLORTERM='truecolor'
    COMPIZ_CONFIG_PROFILE='mint'
    DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/1000/bus'
    DESKTOP_SESSION='xfce'
    DISPLAY=':0.0'
    GDMSESSION='xfce'
    GDM_LANG='fr_FR'
    GTK3_MODULES='xapp-gtk3-module'
    GTK_IM_MODULE='ibus'
    GTK_MODULES='gail:atk-bridge'
    HOME='/home/prn'
    IFS='   
    '
    LANG='fr_FR.UTF-8'
    LANGUAGE='fr_FR'
    LESSCLOSE='/usr/bin/lesspipe %s %s'
    LESSOPEN='| /usr/bin/lesspipe %s'
    LOGFILE2='/tmp/script2.log'
    LOGNAME='prn'
    LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:'
    OPTIND='1'
    PANEL_GDK_CORE_DEVICE_EVENTS='0'
    PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
    PPID='1894'
    PS1='$ '
    PS2='> '
    PS4='+ '
    PWD='/home/prn'
    QT_ACCESSIBILITY='1'
    QT_IM_MODULE='ibus'
    SESSION_MANAGER='local/linux-n-08.0670107C.ac-strasbourg.fr:@/tmp/.ICE-unix/1259,unix/linux-n-08.0670107C.ac-strasbourg.fr:/tmp/.ICE-unix/1259'
    SHELL='/bin/bash'
    SHLVL='1'
    SSH_AGENT_PID='1466'
    SSH_AUTH_SOCK='/tmp/ssh-bbLIHggS9cUr/agent.1456'
    TERM='xterm-256color'
    USER='prn'
    VTE_VERSION='7600'
    WINDOWID='60817901'
    XAUTHORITY='/home/prn/.Xauthority'
    XDG_CONFIG_DIRS='/etc/xdg/xdg-xfce:/etc/xdg'
    XDG_CURRENT_DESKTOP='XFCE'
    XDG_DATA_DIRS='/usr/share/xfce4:/home/prn/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'
    XDG_GREETER_DATA_DIR='/var/lib/lightdm-data/prn'
    XDG_MENU_PREFIX='xfce-'
    XDG_RUNTIME_DIR='/run/user/1000'
    XDG_SEAT='seat0'
    XDG_SEAT_PATH='/org/freedesktop/DisplayManager/Seat0'
    XDG_SESSION_CLASS='user'
    XDG_SESSION_DESKTOP='xfce'
    XDG_SESSION_ID='c2'
    XDG_SESSION_PATH='/org/freedesktop/DisplayManager/Session0'
    XDG_SESSION_TYPE='x11'
    XDG_VTNR='7'
    XMODIFIERS='@im=ibus'
    _='/usr/local/bin/map-epson.sh'
    ftp_proxy='http://10.131.254.254:3128/'
    http_proxy='http://10.131.254.254:3128/'
    https_proxy='http://10.131.254.254:3128/'
    no_proxy='localhost,127.0.0.1,::1'
    env ------------------------
    LESSOPEN=| /usr/bin/lesspipe %s
    no_proxy=localhost,127.0.0.1,::1
    LANGUAGE=fr_FR
    USER=prn
    XDG_SEAT=seat0
    SSH_AGENT_PID=1466
    XDG_SESSION_TYPE=x11
    COMPIZ_CONFIG_PROFILE=mint
    SHLVL=1
    HOME=/home/prn
    DESKTOP_SESSION=xfce
    PANEL_GDK_CORE_DEVICE_EVENTS=0
    GTK_MODULES=gail:atk-bridge
    XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
    COLORTERM=truecolor
    https_proxy=http://10.131.254.254:3128/
    GTK_IM_MODULE=ibus
    LOGNAME=prn
    WINDOWID=60817901
    http_proxy=http://10.131.254.254:3128/
    _=/usr/local/bin/map-epson.sh
    XDG_SESSION_CLASS=user
    CLUTTER_BACKEND=x11
    TERM=xterm-256color
    XDG_SESSION_ID=c2
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    SESSION_MANAGER=local/linux-n-08.0670107C.ac-strasbourg.fr:@/tmp/.ICE-unix/1259,unix/linux-n-08.0670107C.ac-strasbourg.fr:/tmp/.ICE-unix/1259
    GDM_LANG=fr_FR
    GTK3_MODULES=xapp-gtk3-module
    XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
    XDG_MENU_PREFIX=xfce-
    ftp_proxy=http://10.131.254.254:3128/
    XDG_RUNTIME_DIR=/run/user/1000
    DISPLAY=:0.0
    LANG=fr_FR.UTF-8
    XDG_CURRENT_DESKTOP=XFCE
    XMODIFIERS=@im=ibus
    XDG_SESSION_DESKTOP=xfce
    XAUTHORITY=/home/prn/.Xauthority
    LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:
    SSH_AUTH_SOCK=/tmp/ssh-bbLIHggS9cUr/agent.1456
    XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/prn
    SHELL=/bin/bash
    QT_ACCESSIBILITY=1
    GDMSESSION=xfce
    LESSCLOSE=/usr/bin/lesspipe %s %s
    QT_IM_MODULE=ibus
    XDG_VTNR=7
    PWD=/home/prn
    XDG_CONFIG_DIRS=/etc/xdg/xdg-xfce:/etc/xdg
    CLUTTER_IM_MODULE=ibus
    XDG_DATA_DIRS=/usr/share/xfce4:/home/prn/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
    VTE_VERSION=7600
    

    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

    -------------------Mon Jan 12 10:01:20 CET 2026-----------------------------
    whoami        : root
    id            : uid=0(root) gid=0(root) groups=0(root)
    pwd           : /
    DISPLAY       : 
    XAUTHORITY    : 
    set ------------------------
    ACTION='add'
    BUSNUM='001'
    CURRENT_TAGS=':seat:'
    DEVNAME='/dev/bus/usb/001/020'
    DEVNUM='020'
    DEVPATH='/devices/pci0000:00/0000:00:14.0/usb1/1-1'
    DEVTYPE='usb_device'
    DRIVER='usb'
    ID_BUS='usb'
    ID_FOR_SEAT='usb-pci-0000_00_14_0-usb-0_1'
    ID_MODEL='0907'
    ID_MODEL_ENC='0907'
    ID_MODEL_ID='0907'
    ID_PATH='pci-0000:00:14.0-usb-0:1'
    ID_PATH_TAG='pci-0000_00_14_0-usb-0_1'
    ID_PATH_WITH_USB_REVISION='pci-0000:00:14.0-usbv2-0:1'
    ID_REVISION='0000'
    ID_SERIAL='04b8_0907'
    ID_USB_INTERFACES=':090001:090002:'
    ID_USB_MODEL='0907'
    ID_USB_MODEL_ENC='0907'
    ID_USB_MODEL_ID='0907'
    ID_USB_REVISION='0000'
    ID_USB_SERIAL='04b8_0907'
    ID_USB_VENDOR='04b8'
    ID_USB_VENDOR_ENC='04b8'
    ID_USB_VENDOR_ID='04b8'
    ID_VENDOR='04b8'
    ID_VENDOR_ENC='04b8'
    ID_VENDOR_FROM_DATABASE='Seiko Epson Corp.'
    ID_VENDOR_ID='04b8'
    IFS='   
    '
    LOGFILE='/tmp/script1.log'
    MAJOR='189'
    MINOR='19'
    OPTIND='1'
    PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
    PPID='4169'
    PRODUCT='4b8/907/0'
    PS1='# '
    PS2='> '
    PS4='+ '
    PWD='/'
    SEQNUM='4736'
    SUBSYSTEM='usb'
    TAGS=':seat:'
    TYPE='9/0/2'
    UDEV_DATABASE_VERSION='1'
    USEC_INITIALIZED='1765002875'
    env ------------------------
    ID_BUS=usb
    DEVNAME=/dev/bus/usb/001/020
    ID_FOR_SEAT=usb-pci-0000_00_14_0-usb-0_1
    ACTION=add
    ID_VENDOR_FROM_DATABASE=Seiko Epson Corp.
    ID_PATH_WITH_USB_REVISION=pci-0000:00:14.0-usbv2-0:1
    SEQNUM=4736
    USEC_INITIALIZED=1765002875
    ID_USB_VENDOR_ENC=04b8
    UDEV_DATABASE_VERSION=1
    BUSNUM=001
    TAGS=:seat:
    MAJOR=189
    ID_USB_VENDOR=04b8
    DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-1
    ID_USB_VENDOR_ID=04b8
    ID_MODEL_ENC=0907
    ID_USB_REVISION=0000
    ID_USB_INTERFACES=:090001:090002:
    ID_MODEL=0907
    SUBSYSTEM=usb
    ID_SERIAL=04b8_0907
    ID_MODEL_ID=0907
    MINOR=19
    DRIVER=usb
    TYPE=9/0/2
    ID_PATH=pci-0000:00:14.0-usb-0:1
    CURRENT_TAGS=:seat:
    DEVNUM=020
    ID_VENDOR_ENC=04b8
    PRODUCT=4b8/907/0
    ID_PATH_TAG=pci-0000_00_14_0-usb-0_1
    ID_USB_MODEL_ENC=0907
    ID_VENDOR=04b8
    PWD=/
    DEVTYPE=usb_device
    ID_VENDOR_ID=04b8
    ID_USB_MODEL=0907
    ID_USB_SERIAL=04b8_0907
    ID_USB_MODEL_ID=0907
    ID_REVISION=0000
    su - prn -------------------
    

    et pour script2.log

    -------------------lun. 12 janv. 2026 10:01:20 CET-----------------------------
    whoami        : prn
    id            : uid=1000(prn) gid=1000(prn) groupes=1000(prn),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),105(lpadmin),125(sambashare)
    pwd           : /home/prn
    DISPLAY       : 
    XAUTHORITY    : 
    set ------------------------
    DBUS_SESSION_BUS_ADDRESS='unix:path=/run/user/1000/bus'
    HOME='/home/prn'
    IFS='   
    '
    LANG='fr_FR.UTF-8'
    LOGFILE2='/tmp/script2.log'
    LOGNAME='prn'
    MAIL='/var/mail/prn'
    OPTIND='1'
    PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
    PPID='4176'
    PS1='$ '
    PS2='> '
    PS4='+ '
    PWD='/home/prn'
    SHELL='/bin/bash'
    SHLVL='0'
    USER='prn'
    XDG_DATA_DIRS='/home/prn/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share'
    XDG_RUNTIME_DIR='/run/user/1000'
    XDG_SESSION_CLASS='background'
    XDG_SESSION_ID='c19'
    XDG_SESSION_TYPE='unspecified'
    _='/usr/local/bin/map-epson.sh'
    ftp_proxy='http://10.131.254.254:3128/'
    http_proxy='http://10.131.254.254:3128/'
    https_proxy='http://10.131.254.254:3128/'
    no_proxy='localhost,127.0.0.1,::1'
    env ------------------------
    MAIL=/var/mail/prn
    no_proxy=localhost,127.0.0.1,::1
    USER=prn
    XDG_SESSION_TYPE=unspecified
    SHLVL=0
    HOME=/home/prn
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
    https_proxy=http://10.131.254.254:3128/
    LOGNAME=prn
    http_proxy=http://10.131.254.254:3128/
    _=/usr/local/bin/map-epson.sh
    XDG_SESSION_CLASS=background
    XDG_SESSION_ID=c19
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    ftp_proxy=http://10.131.254.254:3128/
    XDG_RUNTIME_DIR=/run/user/1000
    LANG=fr_FR.UTF-8
    SHELL=/bin/bash
    PWD=/home/prn
    XDG_DATA_DIRS=/home/prn/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share0
    

    (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  . En réponse au message RaPi comme un réseau social local temporaire et déconnecté d'internet. Évalué à 3 (+1/-0).

    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  . En réponse au message RaPi comme un réseau social local temporaire et déconnecté d'internet. Évalué à 5 (+3/-0).

    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  . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2 (+0/-0).

    OK, donc si j'ai bien suivi : udev lance un script
    /usr/local/bin/script1.sh

    qui contient
    su - prn -c /usr/local/bin/script2.sh

    et 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  . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2 (+0/-0).

    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  . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2 (+0/-0).

    Ç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  . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 3 (+1/-0).

    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 ?

  • [^] # Re: utilisation VPI ou TBI ?

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

    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  . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2 (+0/-0). Dernière modification le 08 janvier 2026 à 14:57.

    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 :-/

  • # essai par rapports aux variables d'environnement etc.

    Posté par  . En réponse au message détecter le branchement ou l'allumage d'un périphérique USB (VPI Epson). Évalué à 2 (+0/-0). Dernière modification le 08 janvier 2026 à 13:01.

    Le script avec juste

    xinput | grep EPSON | grep -oP '(?<=id=)[0-9]+' | xargs -I % xinput map-to-output % DP-2

    fonctionne quand il est lancé par l'utilisateur prn
    Il fonctionne aussi quand l'utilisateur prn le lance après un sudo -i ou après un sudo

    Il ne fonctionne pas quand il est lancé par la règle udev.

    J'ai essayé de voir ce qui change en le remplaçant par

    #!/bin/sh
    
    LOGFILE="/tmp/test.log"
    echo "-------------------$(date)-----------------------------" >> "$LOGFILE" 2>&1
    echo "whoami        : $(whoami)"        >> "$LOGFILE" 2>&1
    echo "id            : $(id)"            >> "$LOGFILE" 2>&1
    echo "pwd           : $(pwd)"           >> "$LOGFILE" 2>&1
    echo "DISPLAY       : ${DISPLAY}"       >> "$LOGFILE" 2>&1
    echo "XAUTHORITY    : ${XAUTHORITY}"    >> "$LOGFILE" 2>&1
    

    et selon les cas c'est assez différent :

    pour l'utilisateur prn :

    whoami        : prn
    id            : uid=1000(prn) gid=1000(prn) groupes=1000(prn),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),100(users),105(lpadmin),125(sambashare)
    pwd           : /home/prn
    DISPLAY       : :0.0
    XAUTHORITY    : /home/prn/.Xauthority
    

    avec sudo -i :

    whoami        : root
    id            : uid=0(root) gid=0(root) groupes=0(root)
    pwd           : /root
    DISPLAY       : :0.0
    XAUTHORITY    : /home/prn/.Xauthority
    

    après la règle udev :

    whoami        : root
    id            : uid=0(root) gid=0(root) groupes=0(root)
    pwd           : /
    DISPLAY       : 
    XAUTHORITY    : 
    

    Pourtant quand j'essaye de "forcer" DISPLAY et XAUTHORITY ça ne marche pas ???

  • [^] # Re: Début de solution ?

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

    Pas mieux :-(

  • [^] # Re: Début de solution ?

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

    L'idée de sudo est stupide : seul l'utilisateur prnest dans sudoers or il faudra à la fin qu'il soit utilisable par n'importe quel utilisateur.
    J'essaye après l'idée de Flavien (la salle est prise ;-) )

  • [^] # Re: Début de solution ?

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

    Oui…

  • [^] # Re: Début de solution ?

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

    J'ai essayé en mettant le nom de l'utilisateur (c'est prn) "en dur" dans le script (pour des premiers essais) :

    su - prn -c "xinput | grep EPSON | grep -oP '(?<=id=)[0-9]+' | xargs -I % xinput map-to-output % DP-2" 
    

    ça ne passe pas : Unable to connect to X server

    Avec sudo à la place de su plus d'erreur mais ça ne fonctionne quand même pas. J'ai ajouté un export pour DISPLAY puis pour XAUTHORITY mais pas mieux : ça fonctionne quand je lance le script depuis terminal xfce-terminal mais pas depuis la règle udev

  • [^] # Re: Début de solution ?

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

    Merci, je testera ça demain au collège.

    c'est du Xorg à priori, puisque (si j'ai bien compris) la bidouille xinput etc. ne fonctionnerait pas en wayland. Or elle fonctionne… OK, la méthode de diagnostic est toute pourrie

    Une question quand-même : si ce script est exécuté avec les droits root, comment celui-ci peut-il connaitre <utilisateur final> ?

    C'est un ordinateur accessible à de nombreux utilisateurs (intégré à un domaine windows), dans la pratique, il sera utilisé par des profs dans une salle de classe. Il peut donc y avoir 7 ou 8 utilisateurs différents dans la même journée et tous ne se déconnecterons pas forcément proprement. Par contre ils allumeront ou éteindront peut-être le VPI plusieurs fois par heure.
    Il y a donc bien un utilisateur concerné à chaque fois mais potentiellement plusieurs utilisateurs connectés. Il s'agit donc (sauf si je me goure - c'est possible) d'identifier l'utilisateur qui a une session graphique ouverte.

  • [^] # Re: Y a HSL et HSL

    Posté par  . En réponse au journal À la recherche du Linuxfrien type. Évalué à 8 (+7/-1).

    Des LinuxFrNonBinaires sur un site d'informatique, ce serait un grand changement de paradigme.

  • [^] # Re: Début de solution ?

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

    Autre souci : seul le branchement est détecté, pas le débranchement (malgré le remove)

  • [^] # Re: udev en effet

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

    Merci je bookmarke ça dans ma petite tête pour le jour où on passera ça en wayland

  • # Début de solution ?

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

    J'ai un peu avancé. J'ai écris une règle udev /etc/udev/rules.d/çç-epson.rules qui semble fonctionner :

    ACTION=="add|remove", SUBSYSTEM=="usb", ENV{DEVTYPE}==""usb_device" ENV{ID_SERIAL}=="*EPSON*Wi*", RUN+="/usr/local/bin/map-epson.sh"
    

    et le script en question :

    #!/bin/sh
    xinput | grep EPSON | grep -oP '(?<=id=)[0-9]+' | xargs -I % xinput map-to-output % DP-2
    logger -udev_epson 'epson...'
    

    La dernière ligne créé bien l'entrée dans le journal mais la ligne xinput... n'est pas prise en compte.

    Problème d'utilisateur ? Pourtant cette même commande est OK quand elle est lancée par root (sudo -i) dans un xterm

  • [^] # Re: udev en effet

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

    Merci pour ces premières pistes. Quelques réponses (à mon niveau de compétence, pas taper !)

    1/ : il semble que la commande ne pose pas de problème si elle est lancée (par l’utilisateur) quand le VPI n'est pas branché. Peut-être que c'est tout aussi indolore si le VPI est détecté « trop tôt ». L'expérience tranchera peut-être. Ensuite si je lance de toute façon la commande à l'ouverture de session, elle sera effective après le démarrage de l'environnement graphique.

    2/ : Xorg (pour le moment) sur ces postes (mint - XFCE) et la commande fonctionne bien quand elle est lancée par l'utilisateur

  • [^] # Re: Précisions légales

    Posté par  . En réponse au journal Enregistrement de vidéo à la demande avec Xephyr et PulseAudio. Évalué à 2 (+0/-0).

    Y a-t-il une différence légale entre la VOD « en location » et « en vente » au niveau de la copie privée ?

  • [^] # Re: moi je lui demande de ré-ecrire moncode

    Posté par  . En réponse au journal Je lis du code généré. Évalué à 10 (+11/-0). Dernière modification le 13 décembre 2025 à 10:20.

    Le problème c'est que 100 % de mon équipe est nulle et à 100 % constituée de moi-même.

    Je ne suis vraiment pas aidé par mon équipe ;-)