Also ein kurzer Check mit strace ergab :
open("/dev/input/mice", O_RDONLY) = -1 EACCES (Permission denied)
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Genau wie schon vemutet.
Code:
if(!fmouse) {
printf("Can't open /dev/input/mice.\n");
return 0;
}
Sollte das abfangen.
Also entweder als root laufen lassen, was eigentlich ganz sinnvoll ist wenn du noch mehr Hardware IO über device-files hast und der Pc außer dir niemandem zugänglich is (Sicherheit) is das höchstens ein Eleganzproblem.
Oder halt als root chmod 666 /dev/input/mice .
Dann muss es nicht als root laufen. Hat imho keine Nebenwirkung, aber man verlagert das Ich-hab-keine-root-rechte-Problem nur an eine andere Stelle.
Aber z.b. ein Init-Skript könnte dir dann alle Rechte für alle Devicefiles die du so brauchst geben.
Übrigens ein nettes Projekt.
Sebastian
Lesezeichen