#1 Le 10/08/2023, à 20:31
- alrito
Être en tant qu'utilisateur dans une exécution automatique
Bonjour,
Mon but est d'afficher un explorateur de fichier wine se dirigeant vers mon cd ou dvd de jeu à chaque fois que j'en insert un.
Donc j'ai prévue un fichier auto.sh rangé dans "/usr/local/bin" contenant ceci :
#!/bin/bash
CDROM=~/.wine/dosdevices/i:
cd $CDROM && wine explorer i:
Puis, une régle udev appeler 99-auto.rules rangé dans "/etc/udev/rules.d" contenant ceci :
KERNEL=="sr0", ACTION=="change", RUN+="/usr/local/bin/auto.sh"
Et quand tout ça est rangé dans les dossiers prévue, que je fais les commandes suivantes :
sudo udevadm control --reload
sudo udevadm control --log-priority=debug
journalctl -f
Et bien quand j'insère un cd de jeu, je me retrouve avec ceci dans les logs
systemd-udevd[52144]: sr0: '/usr/local/bin/auto.sh'(err) '/usr/local/bin/auto.sh: line 5: cd: /root/.wine/dosdevices/i:: No such file or directory
Ça ne marche pas.
Si j"exécute le script dans un gestionnaire de fichier est ba là il fonctionne.
J'en conclu que je suis en tant que root si on voit après "line 5" :
cd : /root/....
Pourtant, je suis bien dans ma session utilisateur.
J'ai tester aussi dans la régle udev, le fameux OWNER et GROUP pour désigner un utilisateur et un groupe mais c'est pareil.
Comment on fait pour être en tant qu'utilisateur dans ce cas là ?
Dernière modification par alrito (Le 10/09/2023, à 11:04)
Kubuntu 22.04.3
Winehq 8.0.2 (Depuis les sources)
Hors ligne
#2 Le 10/08/2023, à 20:51
- Watael
Re : Être en tant qu'utilisateur dans une exécution automatique
salut,
KERNEL=="sr0", ACTION=="change", RUN+="su alrito -c /usr/local/bin/auto.sh"
?
Dernière modification par Watael (Le 10/08/2023, à 20:51)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 10/08/2023, à 20:55
- alrito
Re : Être en tant qu'utilisateur dans une exécution automatique
Ça ne marche pas et sur les logs ça me donne ça :
systemd-udevd[55190]: sr0: Process 'su alrito -c /usr/local/bin/auto.sh' failed with exit code 1.
Dernière modification par alrito (Le 28/10/2023, à 18:23)
Kubuntu 22.04.3
Winehq 8.0.2 (Depuis les sources)
Hors ligne
#4 Le 10/08/2023, à 21:09
- Watael
Re : Être en tant qu'utilisateur dans une exécution automatique
et indiquant le chemin absolu de su ?
alrito est bien ton identifiant de connexion sur ta machine, non ?
Dernière modification par Watael (Le 10/08/2023, à 21:10)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 12/08/2023, à 14:09
- alrito
Re : Être en tant qu'utilisateur dans une exécution automatique
Pour tout te dire, j'ai deux systèmes d'exploitations sur deux disques séparements.
L'un pour le développement (allan) et l'autre (alrito) pour l'utilisation disons propre (sans bidouille)
mais que ça soit l'un ou l'autre, le résultat est le même car j'ai tester sur les deux et avec le chemin absolu de su (/bin/su).
J'ai une suggestion quand même.
Si on le faisait passer non pas par udev mais par la barre des tâches.
Comme quand ton insère un support est qui s'affiche sur la barre des tâches (Périphérique connecter)
Comme ça je serai peut-être en tant qu'utilisateur ??
Dernière modification par alrito (Le 28/10/2023, à 18:23)
Kubuntu 22.04.3
Winehq 8.0.2 (Depuis les sources)
Hors ligne
#6 Le 13/08/2023, à 09:35
- bruno
Re : Être en tant qu'utilisateur dans une exécution automatique
Bonjour,
CDROM=~/.wine/dosdevices/i:
CDROM=/home/alrito/.wine/dosdevices/i:
Hors ligne
#7 Le 13/08/2023, à 12:58
- alrito
Re : Être en tant qu'utilisateur dans une exécution automatique
Tu m'a donné une bonne piste en changeant le chemin dans le script mais ensuite à l'exécution, il me mais ça :
sr0: Running command "/usr/local/bin/auto.sh"
systemd-udevd[8427]: sr0: Starting '/usr/local/bin/auto.sh'
systemd-udevd[8427]: Successfully forked off '(spawn)' as PID 8438.
systemd-udevd[8427]: sr0: '/usr/local/bin/auto.sh'(err) '002c:err:virtual:try_map_free_area mmap() error Operation not permitted, range 0x100000000-0x100076000, unix_prot 0x7.'
systemd-udevd[8427]: sr0: '/usr/local/bin/auto.sh'(err) '002c:err:virtual:try_map_free_area mmap() error Operation not permitted, range 0x20000-0x96000, unix_prot 0x7.'
systemd-udevd[8427]: sr0: '/usr/local/bin/auto.sh'(err) '002c:err:virtual:try_map_free_area mmap() error Operation not permitted, range 0x7fff0000-0x80066000, unix_prot 0x7.'
systemd-udevd[8427]: sr0: '/usr/local/bin/auto.sh'(err) 'wine: failed to start L"C:\\windows\\system32\\wineboot.exe"'
systemd-udevd[8427]: sr0: '/usr/local/bin/auto.sh'(err) '0024:err:environ:run_wineboot failed to start wineboot c0000017'
systemd-udevd[8427]: sr0: '/usr/local/bin/auto.sh'(err) '0024:err:virtual:try_map_free_area mmap() error Operation not permitted, range 0x110000-0x149000, unix_prot 0x7.'
systemd-udevd[8427]: sr0: '/usr/local/bin/auto.sh'(err) 'wine: failed to load start.exe: c0000017'
systemd-udevd[8427]: sr0: Process '/usr/local/bin/auto.sh' failed with exit code 23.
systemd-udevd[8427]: sr0: Command "/usr/local/bin/auto.sh" returned 23 (error), ignoring.
Dernière modification par alrito (Le 28/10/2023, à 18:24)
Kubuntu 22.04.3
Winehq 8.0.2 (Depuis les sources)
Hors ligne
#8 Le 16/08/2023, à 17:34
- Watael
Re : Être en tant qu'utilisateur dans une exécution automatique
au fait
Mon but est d'afficher un explorateur de fichier wine
mais pourquoi ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 16/08/2023, à 17:42
- alrito
Re : Être en tant qu'utilisateur dans une exécution automatique
Le fais d'afficher l'explorateur de fichier wine est un test.
Mon vrai but est de réaliser une exécution automatique de programme (GNU\Linux, windows) à l'insertion d'un support amovible.
Voilà
Dernière modification par alrito (Le 28/10/2023, à 18:28)
Kubuntu 22.04.3
Winehq 8.0.2 (Depuis les sources)
Hors ligne
#10 Le 17/09/2023, à 13:17
- alrito
Re : Être en tant qu'utilisateur dans une exécution automatique
Je me demande si je peut passer par un autre processus que udev mais lequel ?
Kubuntu 22.04.3
Winehq 8.0.2 (Depuis les sources)
Hors ligne
#11 Le 17/09/2023, à 19:45
- Sciensous
Re : Être en tant qu'utilisateur dans une exécution automatique
à voir:
avec la regle udev, dans le script (lancé par root donc), faire un:
sudo -u alrito scriptpourwine
avec dans le scriptpourwine, mettre les export DISPLAY et XAUTHORITY qui vont
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne
#12 Le 29/09/2023, à 23:56
- alrito
Re : Être en tant qu'utilisateur dans une exécution automatique
J'ai mis ce que tu as écris en bash dans mon script et ça ne marche pas.
En mettant un disque, on dirais qu'il bute à un endroit dans wine et il plante.
Aussi...
avec dans le scriptpourwine, mettre les export DISPLAY et XAUTHORITY qui vont
Comment on fait ??
Dernière modification par alrito (Le 28/10/2023, à 18:28)
Kubuntu 22.04.3
Winehq 8.0.2 (Depuis les sources)
Hors ligne
#13 Le 30/09/2023, à 00:22
- Watael
Re : Être en tant qu'utilisateur dans une exécution automatique
udev ne s'exécute-t-il pas en tant que root ? alors, sudo est superflu, il vaut mieux directement utiliser su.
comment on fait ?
un exemple avec monCode.sh :
#!/bin/sh
maFonc() { echo "$maVar";}
maVar='foo bar' maFonc
$ ./monCode.sh
foo bar
$
ce qui fonctionne ici pour une fonction marche pour toutes les commandes; il s'agit de "variables d'environnement locales" : elles sont définies dans localement uniquement dans l'environnement de la commande précédée par la définition des variables.
Dernière modification par Watael (Le 30/09/2023, à 00:26)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne