GoGPT Best VPN GoSearch

OnWorks 网站图标

哔 - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 beep

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 beep,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


beep - 以多种方式使 PC 扬声器发出哔哔声

概要


[--详细 | --debug] [-e 设备 | --设备设备] [-f N] [-l N] [-r N] [-d N] [-D
N] [-s] [-c]

[选项] [-n] [--new] [选项]

[-h] [--帮助]

[-v] [-V] [--版本]

商品描述


允许用户精确控制电脑扬声器,允许不同的声音
表示不同的事件。 虽然它可以在命令行上很愉快地运行,但它
预期居住地在 shell/perl 脚本中,通知用户何时
一些有趣的事情发生了。 当然,它没有什么有趣的概念,但它是
非常擅长那个通知部分。

所有选项都有默认值,这意味着只需键入 '' 将工作。 如果一个选项
在命令行上多次指定,后续选项会覆盖它们
前辈。 所以 ' -f 200 -f 300' 将以 300Hz 的频率发出哔哔声。

配置


--详细, -调试
启用调试输出。 此选项会在每次哔声之前打印如下一行:

[调试] 5 次 200 毫秒蜂鸣声(100 次延迟,0 次延迟)@ 1000.00 Hz

-e 设备, - 设备 设备
使用设备作为事件设备。 如果不使用该开关,则 /dev/tty0 和 /dev/vc/0 是
依次尝试。

-f N 以 N Hz 发出哔哔声,其中 0 < N < 20000。作为一般的球场,常规终端
蜂鸣声约为 750Hz。 顺便说一下,N 不限于整数。

-l N 声 N 毫秒。

-r N 指定重复次数(默认为 1)。

-d N, -D N
指定重复之间的延迟 N 毫秒。 使用 -d 指定
这种延迟应该只发生 之间 蜂鸣声,也就是说,它不应该发生在
最后重复。 -D 表示延迟应该在每次重复后发生,
包括最后一个。 通常,-d 是您想要的,但是,例如,如果您是
串几个 命令一起播放星球大战国歌,你可能想要
控制每一个延迟。

-n, - 新的
此选项允许您将命令行分解为指定多个哔哔声。
每次使用此选项时, beep 开始将所有进一步的参数视为
他们是为了新的哔哔声。 例如:

-f 1000 -n -f 2000 -n -f 1500

会产生一连串三声蜂鸣声,第一声的频率为 1000Hz(和
否则为默认值),然后以 2000Hz 的频率发出第二声哔声(再次,
延迟和代表被设置为默认值),然后第三声哔声,在
1500赫兹。 这与指定 -r 值不同,因为 -r 重复相同
多次发出哔哔声,而 -n 允许您指定不同的哔哔声。 在 -n 之后,
新的哔声是使用所有默认值创建的,其中任何一个都可以
指定而不更改之前(或之后)蜂鸣声的值。 见 示例
如果这让您感到困惑,请参阅部分。

-s, -c 这些选项放 进入输入处理模式。 -s 告诉 阅读
stdin,并在每个换行符后发出哔哔声,-c 告诉它在每个字符后都这样做。
在这两种情况下,程序还会将输入回显到 stdout,这使得
很容易滑倒 进入文本处理管道,请参阅 示例 部分。

-h, - 帮帮我
显示使用信息并退出

-v, -V, - 版
显示版本信息并退出

示例


最简单的(但仍然有效)



更有趣的独立设置

-f 300.7 -r 2 -d 100 -l 400

作为日志观察管道的一部分

尾 -f /var/log/xferlog | grep --line-buffered passwd | \
-f 1000 -r 5 -s

使用 -c 模式时,我建议使用短的 -D 和较短的 -l,以便发出哔哔声
不要模糊在一起。 像这样的东西会给你一个俗气的 1970 年代风格的哔哔声——
键入每个字母的效果

猫文件| -c -f 400 -D 50 -l 10

-n/--new 用法的一个精心设计的例子

-f 1000 -r 2 -n -r 5 -l 10 --新

将产生前两个 1000Hz 蜂鸣声,然后在默认音调下发出 5 次蜂鸣声,但只有
每个 10 毫秒长,然后是使用所有默认设置的第三声哔声(因为没有
指定)。

国际奥委会 古怪


一些用户会遇到由于 ioctl() 的抱怨而使 beep 停止的情况。 这
这样做的原因,正如 Peter Tirsek 很好地向我指出的那样,源于
内核处理 beep 试图戳破(对于非程序员:ioctl 是一种捕获-
所有可以让你戳到没有其他预定义戳的东西的功能
机制)tty,这就是它发出哔哔声的方式。 简而言之,内核会检查
之一:

- 你是超级用户

- 您拥有当前的 tty

这意味着 root 总是可以发出哔哔声(据我所知!),并且
任何本地用户都可以使 beep 工作,但是非 root 远程用户不能在其中使用 beep
自然状态。 更糟糕的是,就内核而言,xterm 或其他 x-session 计数
担心,作为“远程”,因此蜂鸣声也不会从非特权 xterm 工作。 我有
最初将此归结为一个错误,但实际上我对此无能为力,并且
内核以这种方式做事确实是一件好事。 还有一个解决方案。

默认情况下,不会在设置 suid 位的情况下安装 beep,因为那会很滑稽。
另一方面,如果您确实将其设为 suid root,那么所有有关哔哔声的问题都将消失
ioctl 调用会神奇地消失,这很令人愉快,唯一不这样做的原因是
任何 suid 程序都是潜在的安全漏洞。 方便,哔哔声很短,所以
审核它非常简单。

当然,你自己决定,但对我来说看起来很安全——只有一个缓冲区,而且
fgets 不让它溢出,只有一个文件打开,而有一个
潜在的竞争条件,它与 /dev/console 相关。 如果有人可以利用这个种族
通过替换 /dev/console,您会遇到更大的问题。 :)

因此,如果哔哔声在您想要的时候没有发出哔哔声,那么快速、唯一且可能安全的解决方案是
(作为根):

# chmod 4755 /usr/bin/嘟嘟声

(或者你放在哪里)

一个障碍是,这将使任何小傻瓜都能成功运行哔哔声
- 确保这是你想要的。 如果不是,一个稍微复杂的修复将是
就像是:

# chgrp 哔声 /usr/bin/beep

# chmod 4750 /usr/bin/嘟嘟声

然后只将值得发出哔哔声的用户添加到“哔哔”组。

频率


有几个人要求一些基本的帮助来将音符转换为频率。
音乐笔记很多,网上有几张表都会给你翻译,但是
这里有 近似 中间 C 八度的数字,让你开始。

音符频率
Ç261.6的
C#277.2
ð293.7的
D#311.1
和329.6
F 349.2
F#370.0
Ğ392.0
G#415.3
一个440.0
#466.2
乙493.9
Ç523.2的

使用 onworks.net 服务在线使用哔声


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。