我想使用系统蜂鸣器(并且只有扬声器,如果蜂鸣器不可用/可访问),生成具有特定频率和长度(针对不同声音信号)的蜂鸣声。我知道可以通过使用ioctl来完成此操作,但这需要root访问权限,我不想这样做。在Linux中发出哔哔声C

我知道我可以使用“beep”命令,但那会是一个依赖项,如果可能的话,不应该使用它(根本不需要外部依赖项,只有基本的linux库和C)。

我现在拥有的是下面的代码(但是这需要超级用户权限来运行):

#include

#include

#include

int main(int argc, char *argv[])

{

int fd = open("/dev/console", O_RDONLY);

if (fd == -1 || argc != 3) return -1;

return ioctl(fd, KDMKTONE, (atoi(argv[2])<<16)+(1193180/atoi(argv[1])));

}

如果没有其他办法可以做到这一点,那么我会用嘟嘟声,但我真的想以避免依赖并将哔声直接集成到我的脚本中,但我相信这里有人会知道解决方案/解决方法。

我并不想要外部库,因为程序应尽可能轻量级。

2012-04-09

omnidan

+0

如果在桌面下运行,则可以使用ALSA。你也可以使用'play'命令......而一些桌面上有通知... –

2012-04-09 12:04:27

+0

@BasileStarynkevitch这不是过于复杂的事情吗?我只想要一个具有特定频率和长度的简单蜂鸣声。正如我已经告诉巴勃罗,我想尽可能保持轻量级,但是我想用嘟嘟声或suid来获得root权限是一种方法,那么呢? –

2012-04-09 12:09:18

+0

看看[这](http://stackoverflow.com/questions/412789/windows-beep-equivalent-for-linux)可以帮助你。 @paxdiablo声称它也可以从用户帐户运行。 –

2012-04-09 12:14:25

linux发出声音的命令,在Linux中发出哔哔声C相关推荐

  1. linux work有关的命令,VM workstation 中linux 命令

    1.Linux图形界面和命令介面的切换 在虚拟机里面装了RedHat的Linux系统.默认进入的是图形界面. 从Linux的图形界面切换到命令界面:可以按Ctrl+Alt+Fn(n=1,2,3,4,5 ...

  2. linux shell 退出_dialog命令在linux系统中使用方法

    CentOS7.3学习笔记总结(七十六)-dialog命令在linux系统中使用方法 前面我们介绍了dialog的基本功能(请查阅<CentOS7.3学习笔记总结(七十五)-Linux系统中的窗 ...

  3. linux怎么进入sftp命令行,Linux中SFTP命令

    sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动. 1.常用登陆方式: 格式:sftp @ 通过sftp连接,端口为默认 ...

  4. linux打印系统时间命令行,linux中多种查看系统时间的命令

    原标题:linux中多种查看系统时间的命令 介绍linux中多种查看时间的方法 1.date 这个是最经典的系统查看时间的命令,也是脚本的经常用到定义时间的命 [root@localhost ~]$ ...

  5. linux服务器性能查看命令,查看Linux服务器性能的日常命令和工具大全

    通过使用以下命令和工具,可以在1分钟内对系统资源使用情况有个大致的了解uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz ...

  6. linux远程执行shell命令行,linux shell 远程执行命令--ftp

    linux shell 远程执行命令--ftp 2018-12-07 ftp有很多命令,熟悉这些命令你能大大的提高工作效率: FTP命令行格式为: ftp -v -d -i -n -g [主机名] , ...

  7. linux结束所有任务命令行,Linux基础命令(15)定时任务

    释放双眼,带上耳机,听听看~! crontad Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计 ...

  8. linux重启网卡的命令行,linux系统重启网卡命令

    关于win10系统开机总是要禁用重启网卡才能联网如何解决就为大家介绍到这边了,有遇到同样情况的用户们可以采取上面的方法步骤来解决.问题2已知win7下不需要删除qos协议,在跑无盘模式下以前最好不要安 ...

  9. linux用户的vim命令无效,Linux SUDO Bug可让您以root用户身份运行命令,大多数命令不受影响...

    已发现Linux sudo命令中的漏洞,该漏洞可能允许非特权用户以root用户身份执行命令.幸运的是,此漏洞仅在非标准配置中有效,并且大多数Linux服务器不受影响. 在获得此漏洞之前,重要的是要掌握 ...

最新文章

  1. Mysql 8 逻辑升级详解
  2. C++ STL : 模拟实现STL中的容器适配器stack和queue
  3. 检查本机显卡的cuda信息及适配cuda-sdk版本
  4. Step by step to create time dependent view
  5. 微信小程序——账号及开发工具
  6. 刘卫国python实验答案_MATLAB(刘卫国)部分实验答案
  7. 我的世界服务器自定义怪物怎么用,我的世界怪物属性自定义教程 怪物属性代码一览...
  8. 通过数据评估渠道用户质量的方法
  9. 【论文笔记】HyperFace: ADeep Multi-task Learning Framework for Face Detection
  10. steam怎么设公用计算机,steam怎么设置家庭共享 steam家庭共享设置方法
  11. 爬虫(六十九)简明 jieba 中文分词教程(六十)
  12. 简易PROTUES的定时器仿真
  13. 【bat】 计算机清理原理,使用bat脚本清理系统垃圾的方法
  14. 2022国内十大工业级三维视觉引导企业一览
  15. linux远程文件复制,Linux远程复制文件
  16. 生成树协议(一)STP协议原理简介:广播风暴、MAC地址表震荡实验、STP工作原理、BPDU简介、STP故障处理
  17. chrome浏览器的跨域问题解决
  18. SharePoint文件审批功能设置
  19. 我和王争学设计模式|原型模式
  20. (三十六):How Will Your Tweet Be Received? Predicting the Sentiment Polarity of Tweet Replies

热门文章

  1. html 图片 空白,HTML图片标签空白解决方法
  2. python求2数之和
  3. 【STM32+cubemx】0026 HAL库开发:NRF24L01无线2.4G通信模块的应用
  4. 关于Java为什么不推荐使用 import *导包这件小事
  5. 【图像分割】基于matlab萤火虫算法图像聚类分割【含Matlab源码 2106期】
  6. 安装hg版本管理工具
  7. MFC添加加瓦系列一MFC编写的增量更新软件
  8. Mac电脑修改用户名
  9. 刷脸支付服务商促进数字化时代来临
  10. 咸鱼ZTMR实例—板载LED