1

我有一个在 Ubuntu 上运行良好的源代码,它做了一些计算,在某些时候它会像这样发出哔哔声

system("beep -f 400 -l 500");

在 Ubuntu 上我必须做

apt-get install beep

但是,我迁移到了 OpenSuse(不是我的选择),现在我收到这条消息“sh: beep: command not found”,因为命令和包明显不同。

有没有人知道触发系统哔声并定义持续时间和频率?我只能找到一种更改参数的方法

setterm -bfreq 500 -blength 500

,但无法真正触发系统铃声(哔声)。以下事情不起作用

echo ^G
echo -e "\a"

PS - 系统铃声在配置桌面 -> 应用程序和系统通知 -> 系统铃声中启用,您实际上可以玩这个

4

2 回答 2

2

所以,我按照@fvu 的建议做了。

但是,需要有 sudo 权限才能这样做,否则(例如在我的工作场所,我们没有 sudo 权限)会出现此输出消息

Could not open /dev/tty0 or /dev/vc/0 for writing open: No such file or directory

在这种情况下,您应该:

sudo chmod 4755 /usr/bin/beep

正如这里提出的

于 2013-07-12T16:45:51.217 回答
1

我注意到在我的 OpenSuse 12.3 系统上,铃声在 xterm 或 gnome-terminal 中工作,但在 konsole 或 xfce4-terminal 中没有。如果这同样适用于您的系统,那么可能的解决方法是创建一个名为“beep”的 shell 脚本,该脚本调用 xterm 并响铃:

#!/bin/sh
xterm -e "echo -e '\a'; sleep 1"
于 2013-12-29T13:08:28.057 回答