В Linux и большинстве ОС на основе UNIX простая печать символа BELL (Ctrl+G или '\a') вызовет звуковой сигнал.
Это реализуется через системный вызов ioctl() , который находится в вашей оболочке (bash и т.д. Поддерживают это). Затем системный вызов проходит через ядро и, наконец, реализуется устройством pcspkr , модулем ядра. Вы можете увидеть pcspkr загруженный с помощью lsmod и выгрузить его с помощью modprobe -r или rmmod .
Даже не думайте о /dev /tty, думая о звуковых сигналах, потому что даже безголовые программы, не связанные с TTY, могут издавать звуковой сигнал. Запустите strace -eioctl bash и в командной строке bash запустите echo ^a . Вы увидите, что создание звукового сигнала - это простой, но довольно специфический вызов ioctl() (#include <sys/ioctl.h> и <linux/kd.h> если вы пишете программу на C /C++ для этого.)
Рекомендации:
- http://tldp.org/LDP/lpg/node83.html
- http://www.linuxplayer.org/2010/04/beep-your-pc-speaker-in-linux