十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
进入linux命令页面,使用快捷键来进行切换,具体快捷键需要根据所处网络域名进行设定。而LINUX操作系统是一种免费使用和自由传播的类UNIX操作系统,方便用户进行使用,深得用户的喜爱。
创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、做网站、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
由于at大多数 Linux 发行版都没有默认安装该工具,因此我们需要先添加它。以下是大多数较受欢迎的方法。
Ubuntu / Debian / Linux Mint
linuxmi@linuxmi /home/linuxmi/ sudo apt install at
Fedora / AlmaLinux / Rocky Linux
linuxmi@linuxmi /home/linuxmi/ sudo dnf install at
Arch Linux / Manjaro
linuxmi@linuxmi /home/linuxmi/ sudo pacman -S at
然后,请验证该atd服务是否已启用并正在运行,因为该at命令依赖于它。
linuxmi@linuxmi /home/linuxmi/ 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 ]$ 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 ]$ sleep 8h vlc --intf dummy alarm.mp3
使用 sleep 命令在 Linux 上安排警报。
就是这样。请记住,您不应关闭终端窗口。同样,如果你想让闹钟在 20 分钟后播放,命令如下:
[linuxmi@fedora ]$ sleep 20m vlc --intf dummy alarm.mp3
您可以在Linux 手册页上查看 sleep 命令选项的完整列表。
通过 GNOME 时钟在 GNOME 中设置闹钟
您可以使用内置的 GNOME 时钟应用程序通过 GNOME 桌面环境设置闹钟。如果您还没有它,您可以通过从您正在使用的发行版的软件中心安装它来轻松获得它。
开宗明义,在Headless ( i.e. without a monitor or input device)的服务器(例如,各类嵌入式「玩具板子」)上如果架起VLC进行多媒体播放,怎样才是最方便的控制方式?
同时,因为希望是可以脚本控制,所以最好是可以做到非互动式的指令。
如下是简单的步骤:
VLC实际上拥有灵活强大的控制方式,由于我们上来就限定了Headless,那么命令行显然是先决条件,VLC文档中已经列出了支持的几种Remote方式:
考虑到三者中rc应该是最强大和灵活的(ncurses需要configure,telnet更多的是互动型,何况rc本身就可以支持telnet访问),我们就focus在rc 接口上。
使能方法非常简单,调用vlc的时候,用:
cvlc -I rc --rc-fake-tty --rc-host ip:port
注意:如果需要局域网内访问,请填写本机ip,如果只要本机访问,用localhost就可以了
得到如下信息(忽略那些错误吧,毕竟Headless么,很多接口对VLC来说都缺失,但是不影响使用)
直接借助帮助文件, 可见还是非常强大的:
实际上,在一些 讨论 中看到,如果只是需要本机访问,更高效的办法是借助一个unix socket文件,从而通过socket文件来访问,简单说就是将上面提到的-rc-host选项变成-rc-unix然后用一个文件作为输入;
这样可以用类似于形如下面指令的方法来模拟socket访问 (作者以OSX为例,应当是没有问题的):
echo normal | nc -U /Users/vlc.sock
我的例子,Debian中,nc似乎是不适用,更多人推荐用socat (需要安装)
echo “pause” | socat – UNIX-CONNECT:/Users/vlc.sock
上面可以理解成将管道化之后的ECHO字符向这个Unix的Socket发送。可是在我这里死活都会遇到文件connection refused,作为菜鸟,实在无力解决,特别是看到有强者遇到类似问题交叉比较得出可能和特定版本的kernel stock存在bug有关之后,不管看不看得懂,我都理直气壮的放弃了——直接转向了上面提到的host:port的方案。
所以:
如果是互动式,直接 nc host port ,就可以进入这个接口界面了:
如果不需要互动:
参考上节:
echo status | nc -w 0 ip port
-w是指示说该命令之后,立刻退出,实际上OSX下并不一定需要,只是为了和下面Linux对照一下。
大致相同,区别只是在非互动式下,
echo status | nc -q 0 ip port
两者区别只是一个用了' w ait'之意,另外一个是' q uit'罢了,想想还挺风趣....风趣个妹啊,这不是折腾跨平台用户吗?!
至此,该问题解决,不论是想在远程控制无输入(显示)设备上的播放,还是想用脚本对其他线程的VLC播放进行自动化的干预控制,都不成问题了。
——怪不得有那么多人喜欢用VLC啊,我恍然。