GNU/Linux >> Belajar Linux >  >> Linux

Bip di Linux di C

Bip yang paling dasar tetap '\a' , jika terminal Anda mendukungnya:

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

Silakan lihat beep linux standar kode sumber.http://www.johnath.com/beep/beep.c

Ini menggunakan ioctl KIOCSOUND untuk "bip", tetapi Anda tidak memerlukan hak pengguna super untuk membuatnya diputar. Saya telah mengonfigurasinya agar dapat dibaca dan dijalankan oleh pengguna di grup "bip".

Jadi pengguna standar saya dengan UID 1000 ada di grup dengan GID 501 (saya menyebutnya "bip"). Di samping ini saya harus chmod 4750 /usr/bin/beep dan sekarang saya dapat memutar bunyi bip (dalam rentang 20-20000Hz) tanpa meminta hak superuser.


Saya pikir satu-satunya cara untuk melakukan ini adalah menggunakan suid untuk memberikan akses root program saya sendiri, atau menggunakan beep , yang sudah memiliki suid. Saya kira saya hanya akan menambahkan satu ketergantungan lagi, sebagai beep toh tidak terlalu besar.

Terima kasih atas semua jawabannya, saya yakin perpustakaan lain bagus untuk sinyal yang lebih kompleks, tetapi saya membutuhkan yang sangat sederhana!

Saya pikir pertanyaan ini dapat ditandai sebagai diselesaikan / ditutup, kalau begitu.

Jika ada yang menemukan cara untuk membuat bunyi bip menggunakan konsol tanpa hak pengguna super, saya masih tertarik dengan solusi ini :)

Sekali lagi terima kasih.


Linux
  1. 4 alternatif untuk cron di Linux

  2. Selamat tinggal, Jurnal Linux

  3. Apa itu pengguna Linux?

  1. Linux – Bagaimana Cara Menonaktifkan Bip Sistem Untuk Pengguna yang Tidak Memiliki Hak Istimewa?

  2. Perintah mv Linux

  3. Bagaimana cara mematikan bunyi bip di terminal di Linux?

  1. Linux du perintah

  2. Perintah ip Linux

  3. Perintah cd Linux