端末がサポートしている場合、最も基本的なビープ音は '\a' のままです:
fprintf(stdout, "\aBeep!\n" );
標準の Linux beep
を見てください。 ソースコード.http://www.johnath.com/beep/beep.c
KIOCSOUND ioctl を使用して「ビープ音」を鳴らしますが、再生するためにスーパーユーザー権限は必要ありません。「ビープ音」グループのユーザーが読み取りおよび実行できるように構成しました。
したがって、UID 1000 の標準ユーザーは、GID 501 のグループに属します (私はそれを「ビープ音」と呼びました)。次に、chmod 4750 /usr/bin/beep
を実行する必要がありました。 これで、スーパーユーザー権限を要求することなく、ビープ音 (20 ~ 20000 Hz の範囲) を再生できるようになりました。
これを行う唯一の方法は、suid を使用して自分のプログラムに root アクセスを許可するか、beep
を使用することだと思います 、既に suid を持っています。 beep
のように、もう 1 つ依存関係を追加するとします。 とにかく大きすぎません。
すべての回答に感謝します。他のライブラリはより複雑なシグナルに最適であると確信していますが、非常に単純なものが必要です!
この質問は解決済み/クローズ済みとしてマークできると思います。
スーパーユーザー権限なしでコンソールを使用してビープ音を鳴らす方法を誰かが見つけた場合、私はまだこの解決策に興味があります:)
ありがとうございました。