GNU/Linux >> Linux Esercitazione >  >> Linux

Beep su Linux in C

Il segnale acustico più semplice è ancora '\a' , se il tuo terminale lo supporta:

fprintf(stdout, "\aBeep!\n" );

Si prega di guardare il Linux standard beep codice sorgente.http://www.johnath.com/beep/beep.c

Usa KIOCSOUND ioctl per "beep", ma non hai bisogno dei privilegi di superutente per farlo funzionare. L'ho configurato per essere leggibile ed eseguibile dagli utenti del gruppo "beep".

Quindi il mio utente standard con UID 1000 è nel gruppo con GID 501 (l'ho chiamato "beep"). Accanto a questo ho dovuto chmod 4750 /usr/bin/beep e ora sono in grado di riprodurre segnali acustici (nell'intervallo 20-20000Hz) senza chiedere i privilegi di superutente.


Penso che l'unico modo per farlo sia usare suid per dare al mio programma l'accesso root, o usare beep , che ha già suid. Suppongo che aggiungerò solo un'altra dipendenza, quindi, come beep non è comunque troppo grande.

Grazie per tutte le risposte, sono sicuro che altre librerie sono ottime per segnali più complessi, ma ne ho bisogno di una molto semplice!

Penso che questa domanda possa essere contrassegnata come risolta/chiusa, allora.

Se qualcuno trova un modo per creare un segnale acustico utilizzando la console senza privilegi di superutente, sono ancora interessato a questa soluzione :)

Grazie ancora a tutti.


Linux
  1. 4 alternative a cron in Linux

  2. Addio, Linux Journal

  3. Spazi dei nomi Linux

  4. Linux:come disabilitare il segnale acustico di sistema per utenti non privilegiati?

  5. comando IP Linux

Rafforzamento di Kali Linux

Scarica Kali Linux

Comando W in Linux

Al comando in Linux

Comando Df in Linux

Linux vs Unix