在linux下使用C语言的转义符a并不响铃是怎么回事?

在linux下使用C语言的转义符a并不响铃是怎么回事?,第1张

如果你用的某个带图形桌面环境的 Linux 发行版。

打开 terminal ,我的是 gnome-terminal 或 xfce4-terminal, 里面都有设置 bell 选项的地方,勾上。

确保耳机或音响能出声。

代码及运行如下:

/* name: bell.c

 * run: gcc bell.c && ./a.out

 */

#include <stdio.h>

int main(void) {

    printf("\a")

    

    return 0

}

能够听到耳机发出短暂的一声响。

我的电脑没有蜂鸣器,暂不清楚哪个优先。

由于at大多数 Linux 发行版都没有默认安装该工具,因此我们需要先添加它。以下是大多数较受欢迎的方法。

Ubuntu / Debian / Linux Mint

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com sudo apt install at

Fedora / AlmaLinux / Rocky Linux

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com sudo dnf install at

Arch Linux / Manjaro

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com sudo pacman -S at

然后,请验证该atd服务是否已启用并正在运行,因为该at命令依赖于它。

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com sudo systemctl status atd

检查 atd 服务是否正在运行。

如果不是,您可以通过运行如下所示的两个命令来激活并运行它。

sudo systemctl enable atd sudo systemctl start atd

OK。我们现在可以继续使用at命令设置警报。语法很简单。键入at,然后是您希望执行特定 *** 作的时间。这里有些例子:

安排作业在 10 分钟后执行:

at now +10 minutes

安排在特定时间执行的作业:

at 15:00 at 3:00 pm

安排作业在 1 月 19 日早上 8:30 执行。

at 8:30 January 19

安排明天下午 5:00 执行作业。

at 5:00 pm tomorrow

现在你应该明白了。使用“ HH:MM ”格式指定时间。在时间后使用“ am ”或“ pm ”表示 12 小时制时间格式。最重要的是,可以使用月份名称后跟日期来指定日期。此外,at接受“ now+ interval ”增量,其中 interval 是一个数字,后面可以跟以下字符串之一:“ minutes ”、“ hours ”、“ days ”或“ weeks ”。

现在让我们继续在 Linux 上设置闹钟。为此,我们将在无界面模式(无 GUI)下使用 VLC 媒体播放器,并指示它在特定时间播放给定的媒体文件。因此,如果您的 Linux 系统上没有 VLC,请安装它。

我们将闹钟定在早上 7:30。然后,当您输入所需的命令时at 7:30,您将被带到at命令行界面,您可以在其中输入要在指定时间运行的命令。在这种情况下,那将是:

vlc --intf dummy alarm.mp3

当然,如果媒体文件位于主目录之外的其他位置,请指定完整路径。

准备就绪后,按“ Enter ”,然后按键盘快捷键“ Ctrl + D ”保存您的作业并退出。

使用 at 命令安排作业。

要查看所有计划at的作业,请键入:

[linuxmi@fedora www.linuxmi.com]$ at -l

您将看到每个作业的唯一 ID、计划运行的日期和时间以及运行它的用户。要删除作业,请键入at -r后跟其唯一 ID 号。

at -r 3

您可以在 Linux 手册页at上查看命令选项的完整列表。

使用 sleep 命令在 Linux 上设置闹钟

在 Linux 上,该sleep命令将 shell 脚本或命令的执行暂停指定的时间。因此,这使它成为在 Linux 中设置警报的理想选择。

但是,在这里您没有at命令提供的灵活性。您所能做的就是指定应该在多长时间后触发一个动作。此外,您可以以秒 ( s)、分钟 ( m)、小时 ( h) 和天 ( d) 为单位设置延迟时间。

因此,要设置闹钟,您必须首先计算它应该在距当前时间多远的时间后发生。此外,sleep执行命令的终端窗口必须保持打开状态。关闭它将导致命令中止并且设置警报失败。

sleep要使用将在 8 小时后启动 VLC 播放器播放媒体文件的命令在 Linux 上设置闹钟,请键入:

[linuxmi@fedora www.linuxmi.com]$ sleep 8h &&vlc --intf dummy alarm.mp3

使用 sleep 命令在 Linux 上安排警报。

就是这样。请记住,您不应关闭终端窗口。同样,如果你想让闹钟在 20 分钟后播放,命令如下:

[linuxmi@fedora www.linuxmi.com]$ sleep 20m &&vlc --intf dummy alarm.mp3

您可以在Linux 手册页上查看 sleep 命令选项的完整列表。

通过 GNOME 时钟在 GNOME 中设置闹钟

您可以使用内置的 GNOME 时钟应用程序通过 GNOME 桌面环境设置闹钟。如果您还没有它,您可以通过从您正在使用的发行版的软件中心安装它来轻松获得它。

在Centos和ubuntu上都可以关掉终端响铃。

终端响铃声可以使用setterm关闭,如下所示:

代码 7.1: 使用setterm

# setterm -blength 0

如果想在启动时就关闭终端响铃,你要把这条命令加入/etc/conf.d/local.start 之中。然而,这只是禁用掉了现在正在使用终端的响铃。想要在其他的终端上禁用响铃的话,把这条命令的输出重定向到目标终端去即可,如下所示:

代码 7.2: 使用setterm (bis)

# setterm -blength 0 >/dev/vc/1

你需要用想要禁用响铃的那个终端来替换/dev/vc/1.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7325254.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存