Der grundlegendste Piepton ist immer noch '\a' , wenn Ihr Terminal dies unterstützt:
fprintf(stdout, "\aBeep!\n" );
Bitte schauen Sie sich den Standard-Linux beep
an Quellcode.http://www.johnath.com/beep/beep.c
Es verwendet KIOCSOUND ioctl zum "Piepen", aber Sie brauchen keine Superuser-Rechte, um es abzuspielen. Ich habe es so konfiguriert, dass es von Benutzern der "Piep"-Gruppe gelesen und ausgeführt werden kann.
Also mein Standardbenutzer mit UID 1000 ist in der Gruppe mit GID 501 (ich nannte es "beep"). Als nächstes musste ich chmod 4750 /usr/bin/beep
und jetzt kann ich Pieptöne (im Bereich von 20 bis 20000 Hz) abspielen, ohne nach Superuser-Privilegien zu fragen.
Ich denke, die einzige Möglichkeit, dies zu tun, besteht darin, entweder suid zu verwenden, um meinem eigenen Programm Root-Zugriff zu geben, oder beep
zu verwenden , die bereits suid hat. Ich nehme an, ich werde dann einfach eine weitere Abhängigkeit als beep
hinzufügen ist sowieso nicht zu groß.
Vielen Dank für alle Antworten, ich bin sicher, andere Bibliotheken eignen sich hervorragend für komplexere Signale, aber ich brauche eine sehr einfache!
Ich denke, diese Frage kann dann als gelöst / geschlossen markiert werden.
Falls jemand einen Weg findet, ohne Superuser-Rechte einen Piepton über die Konsole zu erzeugen, bin ich immer noch an dieser Lösung interessiert :)
Nochmals vielen Dank an alle.