Bonjour,
A l'intérieur d'une application complexe de LINUX RHES 5, j'ai écrit un petit module beeper classique pour activer / désactiver le son avec le code suivant:
Ce module fonctionne parfaitement quand j'exécute mon application en "su". Par contre, il sort un message d'erreur "ioctl: Opération non permise" quand l'application est activée avec un utilisateur sans privilège particulier. Or cela est une exigence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 int frequency, console_fd ; if((console_fd = open("/dev/console", O_WRONLY)) == -1) { perror("open"); return; } else { frequency = 6000; if (ioctl(console_fd, KIOCSOUND, frequency) == -1) perror("ioctl"); }
J'aimerais savoir si quelqu'un parmi vous a une solution pour que ce module soit exécuté sans erreur par un utilisateur courant.
Mes recherches ont été vaines sur le net: la solution de contournement (chown root myappli; chmod a+s myappli) ne marche pas car d'autres contrôles d'identification de l'application l'arrêtent quand l'application n'est pas exécutée par le bon destinataire.
Merci à l'avance et cordialement.
Partager